Follow-up to the Tier 1 installable PWA work (manifest, service worker, offline fallback page).
The DeviceToken model (users/models.py) already has a platform field with a 'web' choice anticipating this, but nothing currently registers or sends web push. Would need:
VAPID key generation and configuration (server + service worker)
Browser push subscription flow (PushManager.subscribe()), persisting the subscription as a DeviceToken
A push event handler in the service worker (templates/sw.js) to display notifications
Server-side push sending (e.g. via pywebpush or similar) triggered from the existing notification logic in notifications/tasks.py (daily digest, recurring task safety net)
This is a separate, non-trivial project from Tier 1 and should be scoped on its own. Noting here since the native Android app may be retired once the PWA covers its use cases, and push notifications were one of its capabilities.
Follow-up to the Tier 1 installable PWA work (manifest, service worker, offline fallback page).
The `DeviceToken` model (`users/models.py`) already has a `platform` field with a `'web'` choice anticipating this, but nothing currently registers or sends web push. Would need:
- VAPID key generation and configuration (server + service worker)
- Browser push subscription flow (`PushManager.subscribe()`), persisting the subscription as a `DeviceToken`
- A `push` event handler in the service worker (`templates/sw.js`) to display notifications
- Server-side push sending (e.g. via `pywebpush` or similar) triggered from the existing notification logic in `notifications/tasks.py` (daily digest, recurring task safety net)
This is a separate, non-trivial project from Tier 1 and should be scoped on its own. Noting here since the native Android app may be retired once the PWA covers its use cases, and push notifications were one of its capabilities.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Follow-up to the Tier 1 installable PWA work (manifest, service worker, offline fallback page).
The
DeviceTokenmodel (users/models.py) already has aplatformfield with a'web'choice anticipating this, but nothing currently registers or sends web push. Would need:PushManager.subscribe()), persisting the subscription as aDeviceTokenpushevent handler in the service worker (templates/sw.js) to display notificationspywebpushor similar) triggered from the existing notification logic innotifications/tasks.py(daily digest, recurring task safety net)This is a separate, non-trivial project from Tier 1 and should be scoped on its own. Noting here since the native Android app may be retired once the PWA covers its use cases, and push notifications were one of its capabilities.