fixed SWA
This commit is contained in:
parent
16bbdce92c
commit
28ec63e443
@ -26,10 +26,25 @@ export function usePushNotifications() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const TIMEOUT_MS = 8000
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const registration = await navigator.serviceWorker.ready
|
// Ensure SW is registered so "ready" can resolve (PWARegistration may not have run yet)
|
||||||
const subscription = await registration.pushManager.getSubscription()
|
if (!navigator.serviceWorker.controller) {
|
||||||
setIsSubscribed(!!subscription)
|
navigator.serviceWorker.register('/sw.js').catch(() => {})
|
||||||
|
}
|
||||||
|
|
||||||
|
const registration = await Promise.race([
|
||||||
|
navigator.serviceWorker.ready,
|
||||||
|
new Promise<ServiceWorkerRegistration | null>((resolve) =>
|
||||||
|
setTimeout(() => resolve(null), TIMEOUT_MS)
|
||||||
|
)
|
||||||
|
])
|
||||||
|
|
||||||
|
if (registration) {
|
||||||
|
const subscription = await registration.pushManager.getSubscription()
|
||||||
|
setIsSubscribed(!!subscription)
|
||||||
|
}
|
||||||
setPermission(Notification.permission)
|
setPermission(Notification.permission)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error checking push subscription:', error)
|
console.error('Error checking push subscription:', error)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user