sphinx-kotlin
sphinx-kotlin copied to clipboard
Support UnifiedPush for push message delivery
This is a bit of an enhancement request. The recently started UnifiedPush project (#unifiedpush:matrix.org) is an Android protocol and library for apps to be able to receive distributor-agnostic push notifications. Sphinx could use the UnifiedPush library to still receive push notifications from FCM, but also alternatively from other non-Google distributor systems that the user can have installed on their device (currently available are Gotify, a server and app that receives push notifications via a websocket, and NoProvider2Push, a peer-to-peer system). This would make it possible to have push notifications without depending on Google services or libraries.
The UnifiedPush library comes in two variations: the FCM-added version of the library, which basically comes with the FCM distributor built into the library (so a user doesn't need to do anything other than install the app to get FCM notifications), and the main version of the library, which doesn't come with FCM embedded (so a user has to separately install the FCM, Gotify, or other distributor as an app on their phone to get push notifications).
These two versions of the library could be used in the Google Play version and F-Droid version of the app respectively, to be able to publish an easy-to-use no-setup-needed version of the app to Google Play, and a version that doesn't depend on any Google code to F-Droid.
This also requires minor changes to sphinx-relay.