fix(offline): report editor-warm failures honestly; cover failure labels; align docs (F1-F3)
F1: warmPageYdoc now returns didSync (true only on the real 'synced' event,
false on the 8s timeout / error, which are now logged). The tree menu gates
the 'available offline' success toast on result.ok AND didSync, and pushes
'editor' into the failed set otherwise — so a page whose Yjs body never
warmed is no longer reported as fully offline-available.
F2: tests for the page/space/currentUser failure labels and the didSync
true/false paths.
F3: correct the mobile-app-plan / mobile-bootstrap present-state sections to
match shipped code (Capacitor, CORS allowlist, Swagger, offline reading,
/l in the SW denylist).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -15,8 +15,10 @@ mobile app for Gitmost, per the first-step checklist in
|
||||
`main.tsx` and skipped inside the Capacitor native WebView. The SW precaches the
|
||||
app shell (`globPatterns` js/css/html/...) and serves `navigateFallback:
|
||||
"index.html"` for SPA routes, with `navigateFallbackDenylist` excluding the
|
||||
server-owned routes `/api`, `/collab`, `/socket.io`, `/share/`, `/mcp`, and
|
||||
`/robots.txt`. `runtimeCaching` keeps `/collab`, `/socket.io`, and all `/api`
|
||||
server-owned routes `/api`, `/collab`, `/socket.io`, `/share/`, `/mcp`, `/l`
|
||||
(the vanity short-link `l/:alias`, excluded from the `/api` global prefix and
|
||||
resolved server-side), and `/robots.txt`. `runtimeCaching` keeps `/collab`,
|
||||
`/socket.io`, and all `/api`
|
||||
as `NetworkOnly` — offline reads are served by the persisted TanStack Query
|
||||
cache (IndexedDB) and `y-indexeddb` for the page Yjs doc, not by an SW HTTP
|
||||
cache. This lets the existing responsive web UI be installed and run as a
|
||||
|
||||
Reference in New Issue
Block a user