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:
@@ -26,7 +26,7 @@ const IOS_STEPS = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
const ANDROID_STEPS = [
|
const ANDROID_STEPS = [
|
||||||
'Open Chrome on your phone',
|
'Open your browser (Chrome or Edge) on your phone',
|
||||||
'Tap the three-dot menu → Settings',
|
'Tap the three-dot menu → Settings',
|
||||||
'Tap Site Settings → Notifications',
|
'Tap Site Settings → Notifications',
|
||||||
'Find FamilySync and tap Allow',
|
'Find FamilySync and tap Allow',
|
||||||
|
|||||||
+14
-5
@@ -121,12 +121,21 @@ self.addEventListener('push', (event: PushEvent) => {
|
|||||||
// event.waitUntil() is MANDATORY: keeps the SW alive until the notification
|
// event.waitUntil() is MANDATORY: keeps the SW alive until the notification
|
||||||
// is displayed. Without it the SW may be terminated before showNotification
|
// is displayed. Without it the SW may be terminated before showNotification
|
||||||
// resolves, resulting in a silent push (iOS subscription death).
|
// 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(
|
event.waitUntil(
|
||||||
self.registration.showNotification(title, {
|
self.registration.showNotification(title, options),
|
||||||
body,
|
|
||||||
tag,
|
|
||||||
data: { url },
|
|
||||||
}),
|
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user