Global offline banner when relay pool is disconnected / outbound queue is accumulating
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
- 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
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
Offlineand the outbox has pending items. - "Reconnecting…" while the pool is transitioning.
- Hidden when
Online.
- "Offline — N messages queued" when relay pool reports
- Read from the existing
ConnectionStatestream + outbox queue length.
Refs
lib/main.dart::_watchConnectionStaterust/src/queue/outbox.rs
- Dominant language
- Dart
- Stars
- 11
- Forks
- 9
- Avg merge
- 18h 24m
- Merged PRs (30d)
- 193
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from MostroP2P/app
-
area: rust-core bug priority: low
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100
Maintainers usually reply within 1 day
-
area: ui
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Maintainers usually reply within 1 day
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
google/skills_lint.dart#165 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
Maintainers usually reply within 1 day
-
good first issue help wanted translation
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
blankframe-tech/ThrottleIQ#23 ·
Maintainers usually reply within 5 days
-
good first issue mobile P0 size:S
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 69/100
trufi-association/trufi-core#1024 ·
Maintainers usually reply within 14 days