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 ([email protected]). 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

  • outcide@kbin.social
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    This is cool! Do PWA push notifications bypass the need for the centralised Apple/Android services?

    • binwiederhier@discuss.ntfy.shOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 year ago

      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.

      • outcide@kbin.social
        link
        fedilink
        arrow-up
        0
        ·
        1 year ago

        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.

  • GregoryTheGreat
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    On iOS it says

    Notifications not supported Notifications are not supported in your browser

    • binwiederhier@discuss.ntfy.shOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Thank you for testing!! Could you do a hard-refresh of the page (maybe multiple page refreshes). The dev that wrote the PWA integration says that he fixed that 2 days ago, and the latest version should be deployed already.

      Or, are you using an iOS version before 16.4?

  • kosmoski@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    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.

  • somebodyknows@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 year ago

    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?

    • Rotten_potato@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      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?).