You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Run the final acceptance pass that proves the Web/PWA rebuild is not a static shell. This issue should exercise the full path on desktop and Android Chrome/PWA with real Supabase behavior and at least one live provider smoke test.
Acceptance criteria
A clean desktop browser session can sign in, upload an EPUB, index it, read, highlight, ask AI, save a memory, export Markdown, and delete the book.
A second browser profile or device can restore the same EPUB, progress, annotations, default conversation, and memories.
A real Android Chrome/PWA run verifies the narrow-screen reader, selection menu, and bottom-sheet chat.
Offline reading is tested by disabling network after cache, updating progress/highlight locally, restoring network, and confirming sync.
Supabase RLS and private Storage are smoke-tested against cross-user access.
Inspection confirms provider API keys are not written to Supabase.
At least one live embedding provider call and one live chat provider call are verified, with rate-limit/error behavior documented.
No acceptance step relies on a hardcoded demo book, fake indexing progress, mock-only sync, skipped deletion, or desktop-only APIs.
Parent
#11
What to build
Run the final acceptance pass that proves the Web/PWA rebuild is not a static shell. This issue should exercise the full path on desktop and Android Chrome/PWA with real Supabase behavior and at least one live provider smoke test.
Acceptance criteria
Blocked by