From aa501b17784dcf6491c58798825a647f33a3c30b Mon Sep 17 00:00:00 2001 From: Jeff Emmett Date: Mon, 29 Dec 2025 01:43:47 +0100 Subject: [PATCH] fix: Add Background Sync API type declarations MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- src/hooks/useServiceWorkerMessages.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/hooks/useServiceWorkerMessages.ts b/src/hooks/useServiceWorkerMessages.ts index af5ee64..3af9061 100644 --- a/src/hooks/useServiceWorkerMessages.ts +++ b/src/hooks/useServiceWorkerMessages.ts @@ -2,6 +2,15 @@ import { useEffect, useCallback, useRef } from 'react'; +// Background Sync API types (not in default TypeScript libs) +interface SyncManager { + register(tag: string): Promise; +} + +interface ServiceWorkerRegistrationWithSync extends ServiceWorkerRegistration { + sync: SyncManager; +} + interface UseServiceWorkerMessagesOptions { onLocationRequest?: () => void; onLocationSync?: () => void; @@ -51,7 +60,7 @@ export function useServiceWorkerMessages(options: UseServiceWorkerMessagesOption } try { - const registration = await navigator.serviceWorker.ready; + const registration = await navigator.serviceWorker.ready as ServiceWorkerRegistrationWithSync; await registration.sync.register('rmaps-location-sync'); console.log('[App] Background sync registered'); return true;