Native Push Notifications Support for NodeBB
-
Our relationship with push notifications has been rather circuitous...
- First Andrew (@psychobunny) tried plain desktop notifications via the Notification API (that's the desktop notifications plugin), but notification delivery stopped when you closed your browser.
- Then I wrote the PushBullet plugin, but they went from free to paid and that went out the window
- Around that time I wrote the Firebase plugin, which was a dead end because there was no iOS support.
- I then wrote the ntfy plugin, which works really well, but does rely on a freemium third-party service and app (written by @binwiederhier@discuss.ntfy.sh)
Thanks to some recent discussion from @crazycells and @bh4-tech, I learned that the Push API had reached general availability across most modern browsers. In fact, this actually happened over a year ago, so compatibility should be even better.
So I set about working on yet another push notifications plugin, hopefully for the last time, and this time using the native Push API on the client-side.
To enable them, simply navigate over to the "Push Notifications" menu item in your user profile, and flip the switch.
So, let's dogfood! I de-activated the ntfy plugin on this site and activated the web-push plugin so you can try it out right now.
The plugin is in the proof-of-concept phase, so there might (read: most definitely will be) issues. Please let me know any you find here.
The web-push plugin has now been promoted in v4 beta to "bundled" status, with a corresponding demotion of the ntfy plugin.
fix(deps): swap ntfy for web-push plugin · NodeBB/NodeBB@aa060d3
Node.js based forum software built for the modern web - fix(deps): swap ntfy for web-push plugin · NodeBB/NodeBB@aa060d3
GitHub (github.com)
-
The web-push plugin has now been promoted in v4 beta to "bundled" status, with a corresponding demotion of the ntfy plugin.
fix(deps): swap ntfy for web-push plugin · NodeBB/NodeBB@aa060d3
Node.js based forum software built for the modern web - fix(deps): swap ntfy for web-push plugin · NodeBB/NodeBB@aa060d3
GitHub (github.com)
@julian Is there a link where we can install the v4 beta version of this plugin? I'd love to test it out over on Sudonix.
EDIT - NVM - I found the link..
-
@julian Is there a link where we can install the v4 beta version of this plugin? I'd love to test it out over on Sudonix.
EDIT - NVM - I found the link..
@phenomlab glad to hear you found it
For those interested in updating, you can just grab the latest commit from
activitypub
branch or perhaps the more the specific commit:git fetch git checkout activitypub # if you're not already on activitypub branch git reset --hard 86f624f8172fb96fbd3c83683affd8814e8b5156`
-
The web-push plugin has now been promoted in v4 beta to "bundled" status, with a corresponding demotion of the ntfy plugin.
fix(deps): swap ntfy for web-push plugin · NodeBB/NodeBB@aa060d3
Node.js based forum software built for the modern web - fix(deps): swap ntfy for web-push plugin · NodeBB/NodeBB@aa060d3
GitHub (github.com)
The plugin also successfully removes notifications if they're no longer relevant (e.g. queued posts that have already been handled), and merges notification content just like it does in-app:
-
@phenomlab glad to hear you found it
For those interested in updating, you can just grab the latest commit from
activitypub
branch or perhaps the more the specific commit:git fetch git checkout activitypub # if you're not already on activitypub branch git reset --hard 86f624f8172fb96fbd3c83683affd8814e8b5156`
@julian I'm using the GIT link you provided to install. Plugin installs fine, but cannot get it to send any notification - even on my mobile device which works fine for NodeBB?
-
@julian I'm using the GIT link you provided to install. Plugin installs fine, but cannot get it to send any notification - even on my mobile device which works fine for NodeBB?
@phenomlab There's not terribly much to configure, just make sure that when you start NodeBB, that you see the output
info: [plugins/web-push] VAPID keys OK.
That's how the messages are encoded to be sent to the corresponding browser push endpoints.
Other than that make sure the user has toggled push notifications on in their settings and allowed notifications for the site.
On Windows, you have to specifically also allow your browser access to send notifications to the user.
-
@phenomlab There's not terribly much to configure, just make sure that when you start NodeBB, that you see the output
info: [plugins/web-push] VAPID keys OK.
That's how the messages are encoded to be sent to the corresponding browser push endpoints.
Other than that make sure the user has toggled push notifications on in their settings and allowed notifications for the site.
On Windows, you have to specifically also allow your browser access to send notifications to the user.
@julian Yes, I've done that, but can't seem to make it work.
-
Our relationship with push notifications has been rather circuitous...
- First Andrew (@psychobunny) tried plain desktop notifications via the Notification API (that's the desktop notifications plugin), but notification delivery stopped when you closed your browser.
- Then I wrote the PushBullet plugin, but they went from free to paid and that went out the window
- Around that time I wrote the Firebase plugin, which was a dead end because there was no iOS support.
- I then wrote the ntfy plugin, which works really well, but does rely on a freemium third-party service and app (written by @binwiederhier@discuss.ntfy.sh)
Thanks to some recent discussion from @crazycells and @bh4-tech, I learned that the Push API had reached general availability across most modern browsers. In fact, this actually happened over a year ago, so compatibility should be even better.
So I set about working on yet another push notifications plugin, hopefully for the last time, and this time using the native Push API on the client-side.
To enable them, simply navigate over to the "Push Notifications" menu item in your user profile, and flip the switch.
So, let's dogfood! I de-activated the ntfy plugin on this site and activated the web-push plugin so you can try it out right now.
The plugin is in the proof-of-concept phase, so there might (read: most definitely will be) issues. Please let me know any you find here.
On windows you need to enable notifications in the OS settings, it wasn't working without that for me.
-
On windows you need to enable notifications in the OS settings, it wasn't working without that for me.
@baris thanks. That setting is already on for me.
-
@baris thanks. That setting is already on for me.
@phenomlab you need to be on v4.
Alternatively I believe you can update the service worker manually with the one from the ActivityPub branch.
-
@phenomlab you need to be on v4.
Alternatively I believe you can update the service worker manually with the one from the ActivityPub branch.
@julian thanks. I'll check this later.
-
The plugin also successfully removes notifications if they're no longer relevant (e.g. queued posts that have already been handled), and merges notification content just like it does in-app:
v0.7.0 of the Push Notification plugin has been released
- Notification related service worker code that was initially included in v4 core is now served by the web-push plugin directly, allowing v3.x compatibility.
- Compatibility updated from v4 to v3.10.x
- Meaning if you want to try this out on your existing NodeBB, you can do so by either waiting for v3.10.0, or by updating to the latest commit on the
develop
branch
- Meaning if you want to try this out on your existing NodeBB, you can do so by either waiting for v3.10.0, or by updating to the latest commit on the
-
v0.7.0 of the Push Notification plugin has been released
- Notification related service worker code that was initially included in v4 core is now served by the web-push plugin directly, allowing v3.x compatibility.
- Compatibility updated from v4 to v3.10.x
- Meaning if you want to try this out on your existing NodeBB, you can do so by either waiting for v3.10.0, or by updating to the latest commit on the
develop
branch
- Meaning if you want to try this out on your existing NodeBB, you can do so by either waiting for v3.10.0, or by updating to the latest commit on the
@julian when does 3.10 come out?
-
@julian when does 3.10 come out?
@phenomlab Right now
-
@phenomlab Right now
@julian Hmm - still not working for me...
EDIT - works on my Android phone, but not on my PC - guessing it's likely security software.
EDIT 2 - suspicion confirmed. It's caused by NordVPN. If running, the push notification doesn't work - if disabled, it works fine. -
@julian Hmm - still not working for me...
EDIT - works on my Android phone, but not on my PC - guessing it's likely security software.
EDIT 2 - suspicion confirmed. It's caused by NordVPN. If running, the push notification doesn't work - if disabled, it works fine.@phenomlab said in Native Push Notifications Support for NodeBB:
> NordVPNThanks for closing the loop! Kind of annoying that NordVPN blocks them...
-
@phenomlab said in Native Push Notifications Support for NodeBB:
> NordVPNThanks for closing the loop! Kind of annoying that NordVPN blocks them...
@julian Yes, very, and their support isn't up to much either in the sense of wanting to fix it. I've had to change my VPN usage from machine level (which I prefer) to browser level - as long as the internet traffic is secured, that's good enough for the time being.
-
@julian Yes, very, and their support isn't up to much either in the sense of wanting to fix it. I've had to change my VPN usage from machine level (which I prefer) to browser level - as long as the internet traffic is secured, that's good enough for the time being.
@phenomlab curious, was it also blocking push notifications from this site as well?
-
@phenomlab curious, was it also blocking push notifications from this site as well?
@julian yes
-
v0.7.0 of the Push Notification plugin has been released
- Notification related service worker code that was initially included in v4 core is now served by the web-push plugin directly, allowing v3.x compatibility.
- Compatibility updated from v4 to v3.10.x
- Meaning if you want to try this out on your existing NodeBB, you can do so by either waiting for v3.10.0, or by updating to the latest commit on the
develop
branch
- Meaning if you want to try this out on your existing NodeBB, you can do so by either waiting for v3.10.0, or by updating to the latest commit on the
@julian said in Native Push Notifications Support for NodeBB:
> you can do so by either waiting for v3.10.0Hi,
I'm on 3.10.0 but still see the ntfy notification plugin. Are native push notifications available if updating to current version?