Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Push Notifications #1456

Open
taoeffect opened this issue Nov 9, 2022 · 0 comments
Open

Implement Push Notifications #1456

taoeffect opened this issue Nov 9, 2022 · 0 comments
Assignees
Labels
App:Backend App:Frontend Kind:Core Anything that changes or affects the fundamental core data structures & design of the application. Kind:Enhancement Improvements, new features, performance upgrades, etc. Level:Advanced Note:Tooling Priority:High

Comments

@taoeffect
Copy link
Member

taoeffect commented Nov 9, 2022

Problem

The notifications in the app don't send push notifications.

Solution

  1. Come up with a plan for push notifications, and post it to the comments below. Let us review and approve it.
  2. Implement it. Use the PWA to test and verify that they work.
  3. Send push notifications each time someone is @mentioend in a chatroom (or a DM is sent to them) while respecting their notification settings.
  4. Send a single push notification when a new distribution period is starting (couple it with the existing in-app notification that's currently sent).

Suggestions and things to keep in mind:

  • Because everything is e2e encrypted, the server won't know that someone was sent a message or a mention or whatever, and therefore the server can't be the one responsible for generating the push notifications in the first place
  • Clients who are part of the group will need to be responsible for kicking off the push notifications, so for example, when I mention someone in the chat, my client will need to evaluate the other person's notification preferences, see if the user I mentioned accepts push notifications, and if so, call some backend API to generate the push notification

Useful projects:

Research:

Also, study the existing web-push library we're using for push notifications based on Sebin's PR.

Note

Progress Update

The plan is to move Chelonia into the service worker, which will then receive and process push notifications in the background.

This was started in #1981, and then that was paused as we decided we didn't have time to finish this before release. Instead we made the necessary API re-arrangement in #2137 (which was merged) to support moving Chelonia into the service worker in the future. After it's moved into the service worker, then work on push notifications can begin.

@taoeffect taoeffect added Kind:Enhancement Improvements, new features, performance upgrades, etc. Note:Up-for-grabs App:Frontend App:Backend Note:Tooling Level:Advanced Kind:Core Anything that changes or affects the fundamental core data structures & design of the application. Note:Bounty These issues have bounties assigned to them labels Nov 9, 2022
@taoeffect taoeffect changed the title Implement Push Notifications [$300 bounty] Implement Push Notifications [$1000 bounty] Jul 4, 2023
@taoeffect taoeffect changed the title Implement Push Notifications [$1000 bounty] Implement Push Notifications [$500 bounty] Jul 4, 2023
@taoeffect taoeffect removed the Note:Bounty These issues have bounties assigned to them label Apr 22, 2024
@taoeffect taoeffect changed the title Implement Push Notifications [$500 bounty] Implement Push Notifications Apr 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
App:Backend App:Frontend Kind:Core Anything that changes or affects the fundamental core data structures & design of the application. Kind:Enhancement Improvements, new features, performance upgrades, etc. Level:Advanced Note:Tooling Priority:High
Projects
None yet
Development

No branches or pull requests

2 participants