fix(260610-ka9): restore audible Android push notifications

- Add icon, badge, renotify:true, vibrate to showNotification options so
  reused-tag updates produce heads-up + sound/vibration on Android Chromium
- Narrow cast (as NotificationOptions) to handle renotify/vibrate absent
  from this lib.dom version without suppressing other errors
- Generalize ANDROID_STEPS first step to browser-agnostic (Chrome or Edge)
This commit is contained in:
Lucas Berger
2026-06-10 14:39:46 -04:00
parent bf5f87eda8
commit c864fc4eea
2 changed files with 15 additions and 6 deletions
+14 -5
View File
@@ -121,12 +121,21 @@ self.addEventListener('push', (event: PushEvent) => {
// event.waitUntil() is MANDATORY: keeps the SW alive until the notification
// is displayed. Without it the SW may be terminated before showNotification
// resolves, resulting in a silent push (iOS subscription death).
// renotify and vibrate are valid NotificationOptions per spec but are absent
// from some lib.dom versions (TS strict check). Cast the extended object to
// NotificationOptions so only these two extra keys are affected — no blanket
// suppression of unrelated errors elsewhere in the file.
const options = {
body,
tag,
data: { url },
icon: '/icon-192.png',
badge: '/icon-192.png',
renotify: true,
vibrate: [200, 100, 200],
} as NotificationOptions
event.waitUntil(
self.registration.showNotification(title, {
body,
tag,
data: { url },
}),
self.registration.showNotification(title, options),
)
})