- cross-posted to:
- ntfy@discuss.ntfy.sh
- cross-posted to:
- ntfy@discuss.ntfy.sh
Hello folks,
Request for testing: The next ntfy server release will contain a progressive web app (PWA) with Web Push support, which means you’ll be able to install the ntfy web app on your desktop or phone similar to a native app (even on iOS! 🥳), and get basic push notification support (without any battery drain).
Installing the PWA gives ntfy web its own launcher (e.g. shortcut on Windows, app on macOS, launcher shortcut on Linux, home screen icon on iOS, and launcher icon on Android), a standalone window, push notifications, and an app badge with the unread notification count.
Testing instructions: The (hopefully) production ready version of the PWA is currently deployed on https://staging.ntfy.sh/app – Install instructions with screenshots can be found in the docs (https://docs.ntfy.sh/subscribe/pwa/).
Please report bugs or issues on Discord, Matrix, or Lemmy (!ntfy@discuss.ntfy.sh). PLEASE HELP TEST
Huuuuge thanks goes to @nimbleghost for developing this entire feature top to bottom. If you throw donations (GitHub Sponsors or Liberapay) my way, I’ll share them with him. He certainly deserves it for all this great work. 👏
– If you don’t know what ntfy is: ntfy (pronounce: notify) is a simple HTTP-based pub-sub notification service. You can use it to send push notifications to your phone via HTTP PUT/POST. You can selfhost it or use the hosted version on ntfy.sh
On iOS it says
Notifications not supported Notifications are not supported in your browser
Hmm. It doesn’t seem to work on iOS 15.7.7 with SE first gen. After adding app to desktop it behaves just as standard browser window with address bar visible constantly on the screen etc. Other app that uses PWA works well ex. miniflux, snappymail. I know that push notifications won’t work below iOS 16 however there are some tweaks with changing safari variables but doesn’t work either.
It only works with 16.4 afaik.
Can’t you have the same mechanism to avoid battery drain on the native app with our own server? I mean server pushing notifications? Why should it drain more battery than using the ‘external’ server with push?
As far as I’ve understood, the only way to reliably push to Android devices in sleep is via Google’s Firebase Cloud Messaging service. Google controls access to this service and only the main
ntfy.sh
host uses this (can use this?).EDIT: Oh wow, the docs for this tool are really good! Apparently, you can also add FCM to your own instance.
This is cool! Do PWA push notifications bypass the need for the centralised Apple/Android services?
No. Web Push is a spec implemented by all browsers that allows servers to push notifications to the browser via their own push service. Each browser ships with its own hardcoded web push endpoints. Chrome uses FCM under the hood, Firefox uses some Mozilla servers, and so on.
However, all messages are encrypted with a key that the push servers do not know. Only your server and your browser do.
Thanks for the reply. I was hoping this might be a way to allow servers without an internet connection to still deliver push notifications to clients.
Sadly no. I must admit I was incredibly disappointed by the webpush spec. ntfy could easily be a push service, but the spec does not allow that. You cannot override your own server.
dammit. thanks for the info!
Definitely up for giving this a go… Will look now.
And? Works? Doesn’t work?
Sorry… it took me a while to actually get round to setting up my server again.
I think i misunderstood what this new feature is… I’m using the android client… Is this a better alternative to using the android client?
I do have to say though… since i last tried, the setup (or maybe just the instructions are clearer) is much easier… I’m running it on an oracle free arm64 instance at the moment but may migrate it off to something that’s less likely to dissapear…
No the Android app is way better hehe. The PWA is for iOS folks and for people that do not want to install an app on their phone. And for people that do not want to keep the browser tab open to receive notifications on your desktop.
ah fair enough… well i’ll stick with the app then :)
But i’m happy i’ve gotten my own instance up and running now… Last time i had problems with authentication but i found the instructions for the api key and its working well now.