You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Buzz on Android never shows an OS notification. A member who backgrounds the app learns about a DM or an @mention only when they reopen it. #4402 reports the same gap from the user side: the app stops receiving messages in the background and needs a restart.
The iOS half is already in flight — PR #1924 adds .alert/.badge/.sound authorization, registerForRemoteNotifications(), and a NotificationService extension. Android has no equivalent, and no client-side Android issue is filed for it.
Confirmed by reading main on 2026-08-17:
mobile/pubspec.yaml — no firebase_messaging and no flutter_local_notifications. Android has no push path and no local-notification path.
mobile/android/app/src/main/AndroidManifest.xml — no POST_NOTIFICATIONS permission (required since Android 13), no FCM service, no receiver.
Nothing under mobile/lib creates a kind:30350 push lease.
Declare POST_NOTIFICATIONS in the manifest and request it at runtime on Android 13+.
Create a notification channel and display a banner on wake for DMs, @mentions, and thread replies the user is in — matching the slot rules already used by desktop in desktop/src/features/notifications/.
NIP-PL carries a wake signal only, so banner text must come from the events fetched after reconnect, never from the push payload.
A foreground service holding the WebSocket open. No Google dependency, but Android kills it under memory pressure, it drains battery, and it forces a permanent status-bar notification.
Closest existing issue: #4657 — "Mobile client never registers for push". It covers the transport gap for both platforms. This issue is the Android client half plus the display layer, which #4657 does not specify.
Motivation
Buzz on Android never shows an OS notification. A member who backgrounds the app learns about a DM or an @mention only when they reopen it. #4402 reports the same gap from the user side: the app stops receiving messages in the background and needs a restart.
The iOS half is already in flight — PR #1924 adds
.alert/.badge/.soundauthorization,registerForRemoteNotifications(), and aNotificationServiceextension. Android has no equivalent, and no client-side Android issue is filed for it.Confirmed by reading
mainon 2026-08-17:mobile/pubspec.yaml— nofirebase_messagingand noflutter_local_notifications. Android has no push path and no local-notification path.mobile/android/app/src/main/AndroidManifest.xml— noPOST_NOTIFICATIONSpermission (required since Android 13), no FCM service, no receiver.mobile/libcreates akind:30350push lease.crates/buzz-push-gateway/src/shipsapns.rswith no FCM transport. That server half is feat(push): add an Android FCM transport profile to the NIP-PL push gateway #3229.Proposed solution
Android client work, sized to land after #3229:
kind:30350push lease per installation, mirroring the iOS path in PR Add NIP-PL iOS push notification foundation #1924.POST_NOTIFICATIONSin the manifest and request it at runtime on Android 13+.desktop/src/features/notifications/.Alternatives considered
Additional context
Closest existing issue: #4657 — "Mobile client never registers for push". It covers the transport gap for both platforms. This issue is the Android client half plus the display layer, which #4657 does not specify.
Related:
push_bridge.dart/push_models.dartstructure.docs/nips/NIP-PL.md(status: draft).