Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Global offline banner when relay pool is disconnected / outbound queue is accumulating

Open Beginner friendly
#124 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
70/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Quiet
Tech stack
dart, rust
Domain
mobile-dev

Research direction

Start from lib/main.dart::_watchConnectionState to understand the existing connection state stream. The banner should read from this stream and the outbox queue length exposed by rust/src/queue/outbox.rs. Add a persistent widget to the app shell that displays 'Offline — N messages queued' when offline with pending items, 'Reconnecting…' during transition, and hides when online. Verify by running the Flutter app and toggling network connectivity.

Written by the indexing model from the issue text.

Description

area: ui feature priority: medium

Milestone: 6 — UX / minor parity
Type: ux
Priority: medium

Connection state is already tracked (nostr_api.getConnectionState(), onConnectionStateChanged, _watchConnectionState in main.dart) but the user has no global indicator that the app is offline. Today the only "disconnected view" is NWC-specific.

Scope

  • Persistent banner / chip at the top (or bottom) of the app shell that shows:
    • "Offline — N messages queued" when relay pool reports Offline and the outbox has pending items.
    • "Reconnecting…" while the pool is transitioning.
    • Hidden when Online.
  • Read from the existing ConnectionState stream + outbox queue length.

Refs

  • lib/main.dart::_watchConnectionState
  • rust/src/queue/outbox.rs
Dominant language
Dart
Stars
11
Forks
9
Avg merge
18h 24m
Merged PRs (30d)
193

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from MostroP2P/app

All issues in MostroP2P/app

Similar issues

More Dart issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.