Since 12.0 there is the ability to receive push notifications on (mobile) clients. I was testing the Android 2.0.0 client and successfully received a push notification.
In order to send notifications to Firebase (Google Service to send push notifications to iOS and Android) you need to use your app developer certificate.
Since we can not ship this with our server code (because than anyone could release stuff for our Android app), we have this proxy in place.
On first opening of the Android/iOS app, it registeres it’s push token + a random string to the push-proxy and passes the random string to the NC server.
The NC server does send encrypted messages with the target random string to the proxy and the proxy forwards them via firebase to the push token.
This way:
Nextcloud (push proxy) does not know the target user (only a random + push token)
Nextcloud (push proxy) does not know the content of the notification
Google (firebase) does not know the nextcloud instance
Google (firebase) does not know the content of the notification
For people who are enrolled in ios developer program and owning their own certificates the open sourcing of this crucial part is not only more than welcome but mandatory. There several(!) reasons why we cannot rely on a push proxy which is out of our hands.
@nickvergessen thanks for all the work and we hope you can prioritize the publication of the push proxy. For decision making it would be nice to know when or even if it will be published at all. Thank you!