-
Notifications
You must be signed in to change notification settings - Fork 3
Description
With the increasing adoption of Linux-based mobile platforms (e.g., PinePhone, Librem 5, /e/OS, postmarketOS), there is a growing need for push notification support beyond the current iOS/APNs and Android/FCM infrastructure. At the moment, the session-push-notification-server appears focused on delivering notifications to iOS and Android devices via proprietary push services. However, Linux phones commonly lack background push services like APNs or FCM, making it difficult for Session to deliver efficient push notifications without degrading battery life or requiring continuous polling.
Problem
Session’s current push notification workflow (via this server) is designed to:
Collect APNs/FCM tokens
Maintain subscriptions to Oxen swarms
Use FCM/APNs to wake Session clients on iOS/Android
Because Linux phones do not have equivalent OS-level push gateways, users must either keep the Session client always running (which adversely impacts battery life) or rely on background polling, which is inefficient and impractical on mobile hardware.
This gap limits Session’s usability for privacy-conscious users who prefer or rely on mobile Linux platforms, particularly as these devices become more capable and common.
Impact
Battery life — polling and always-on background processes significantly reduce standby time.
Platform support — lack of push support excludes a class of devices that are increasingly relevant to privacy-focused communities.
Ecosystem fragmentation — without flexibility in notification backends, developers or users cannot integrate Session notifications with self-hosted or decentralized push systems.
Suggested Improvements
Support alternative push backends:
Provide pluggable push modules (e.g., unified push/netpush/ntfy) to allow integrations that don’t rely on Google/Apple proprietary services.
Define a notification API layer that abstracts over APNs/FCM and can work with self-hosted push servers.
Linux push strategy:
Offer official guidance or reference implementations for Linux mobile push support (for example, leveraging libnotifypush, UnifiedPush, or websocket-based delivery).
Consider an optional push system where the Session client can register with third-party or user-self-hosted notification services.
Documentation:
Clarify how the push server could be extended to support other device classes.
Provide examples or hooks developers can use to build additional notification drivers.
Why This Matters
Linux mobile platforms are becoming viable alternatives for privacy-focused users who reject proprietary services like Google Play Services. To ensure Session continues to be usable across a broad spectrum of devices, native support for flexible, self-hosted notification methods — or at least plug-in points in the push notification server — would be very valuable.