The service worker's proxy fallback only matched the wrapped "Offline" error from HttpSpacePrimitives, but raw fetch() throws browser-native errors like "Failed to fetch" (Chrome), "NetworkError..." (Firefox), or "Load failed" (Safari). This caused a hard 503 instead of falling through to serve local data. Additionally, the `fullSyncConfirmed` flag reset on every service worker restart, forcing unnecessary proxying even when synced data existed in IndexedDB. In this commit: - Use `isNetworkError()` in proxy_router.ts to catch all browser network errors and fall through to local serving instead of returning 503 * Recover `fullSyncConfirmed` from persisted sync snapshot on SW restart, so previously synced spaces serve locally immediately * Adds e2e tests trying to emulate this behavior and prevent regressions
This folder contains two things:
- Wrappers for
syscalls to be used by Plugs - Reusable library code that plugs may find useful