convos-chat / convos

Convos :busts_in_silhouette: is the simplest way to use IRC in your browser
http://convos.chat
Artistic License 2.0
1.02k stars 82 forks source link

Push notifications for mobile #597

Open losuler opened 3 years ago

losuler commented 3 years ago

Problem

Currently when Convos is in the background on Android notifications don't appear which means the only way to know if you have notifications is to open Convos. As Convos can be installed as a PWA through Chrome or Firefox on Android, I think not having push notifications should be considered as missing an essential feature.

Solution

The best solution is to use the web push API[1][2] as it doesn't require setting up FCM (this is handled underneath by the browser[3][4], which itself uses FCM on Chrome or Autopush for Firefox and thus doesn't effect battery life), is an open standard and which creates native notifications on Android. This is currently how The Lounge has push notifications implemented[5].

Previous Issues

https://github.com/convos-chat/convos/issues/312, https://github.com/convos-chat/convos/issues/493.

[1] https://developer.mozilla.org/en-US/docs/Web/API/Push_API [2] https://developers.google.com/web/fundamentals/push-notifications/how-push-works [3] https://developers.google.com/web/fundamentals/push-notifications/faq#what_is_the_deal_with_gcm_fcm_web_push_and_chrome [4] https://developers.google.com/web/updates/2016/07/web-push-interop-wins [5] https://github.com/thelounge/thelounge/pull/1124

jhthorsen commented 3 years ago

I changed the title, since this doesn’t work on iOS.

losuler commented 1 year ago

Thought I'd change the title back now, as it looks like Apple have finally implemented web push in iOS/iPadOS, it now being live in the 16.4 beta 1^1. Might be worth mentioning web push was also added to Safari on macOS mid last year^2.