nusmodifications / nusmodifications/nusmods

Add service worker notification for Today page

Open
#1,291 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
689
Forks
364
Avg merge
7h 5m
Merged PRs (30d)
14

Description

One of the purpose of the Today page is to act as a schedule for students. Most calendar / scheduling apps support notifications, but HTML5 notifications are only triggered if the browser is still open, which is unlikely with mobile browsers that aggressively kill tabs / apps which are in the background.

With service worker notifications we can now show the notification even if the user don't have the page open. This makes the feature a lot more useful.

Considerations
  • Remember to feature detect and not let the user see any UI related to this feature if their browser doesn't support it
  • How to prompt the user to give us permissions to do this?
  • Should we show the on-page notification if the user has this enabled?
  • Will the user confuse enabling notification on one device will cause notifications to be enabled on other devices?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start from the Today page and the service worker notification API linked in the issue; the payload names no files, tests, or entry points. Resolve the permission, feature-detection, duplicate-notification, and device-behavior questions, then verify that supported users receive schedule notifications without exposing unsupported UI.

Written by the indexing model from the issue text.

Assessment

Tech stack
html, javascript
Domain
frontend, web-dev
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.