There should be no Push notifications on nostr. Because push means there has to be some backend that uses google firebase cloud messaging or similar for sending the push notifications to your device when some conditions are met. And that means you've just introduced a centralized component in your application that is supposed to use a decentralized protocol. See the problem? The only way to be a trully decentralized client for nostr is not to use push but pull in a background service that you try as much as possible to not be killed by the system and use as little network and battery as you're able to code it. It might seem uncomfortable because you're so used to have pushs with apparently no cost to you. But there's no such thing as a free lunch. The third-party risk is there. If you want freedom tech that is trully independent of centralized clouds and backends you need to accept the cost.
Discussion
This is part of some more obscure possible use cases for a programmable relay network like Indra. Enabling distributed, anonymised short term storage. I haven't thought up this specific use case yet. Need to learn how push is done to figure out how to cut out or defang the middleman.
Also just want to point out that push means your device is running a service, a network listener. That is something that is only a hard problem because of NAT and creating privacy protecting cache protocols. If the device is connected, it really should be able to wait for inbound messages. But the privacy problem means you need a relay network to buffer you from the sender, so they aren't seeing your network location.
Does amethyst uses a backend to send fcm push notifications or something else nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z?
Yep a super simple one https://github.com/vitorpamplona/amethyst-push-notif-server
Every relay is technically a push server. :)
It's just too expensive to keep the app connected, so we transfer the same payload the relay would through other services.
My main issue is you're dependent on google centralized cloud service for a good UX of getting notifications when something happens interesting to you.
In the spirit of decentralized freedom tech which I believe nostr is, the natural path for having that nice UX feature should be to do it also in a decentralized, third-party risk free, uncensorable way.
Should not have to be too expensive to keep a socket to a few relays in the device open, or just pull then periodically.
For sure google push services also does this somewhere/somehow for connection with fcm cloud, just lower level taking advantage of privileged access to the system.
That should be a choice for the end user, not a forced dictated imposed thing.
Not so, as there are now quite a few alternative push solutions, for example, this one at https://f-droid.org/en/2020/02/03/openpush-talk.html but I saw another one recently as well.