openreader/tests/unit
Richard R b2bbd8fbef feat(data-storage): migrate all user state from IndexedDB to server-backed storage
Remove all Dexie/IndexedDB code and dependencies, including document and preview caches, local config, onboarding, and migration logic. Replace with server-backed React Query hooks for documents, folders, preferences, onboarding, and progress. Add browser Cache Storage for blob caching of documents, previews, and audio. Update API routes, database schema, and tests to support folder management, onboarding state, and server-side persistence of all user data. Refactor UI and hooks to use server state exclusively, ensuring all user state is synced and portable across devices.

BREAKING CHANGE: All user data, preferences, onboarding, and document state are now stored and synced on the server; browser IndexedDB is no longer used. Existing local-only data will not be available after this update.
2026-06-14 18:13:39 -06:00
..
support test(unit): migrate batch2 document and parser suites to vitest 2026-05-30 11:15:19 -06:00
admin-providers-validation.vitest.spec.ts refactor: implement modular monorepo packages 2026-06-13 13:51:18 -06:00
admin-tts-instructions.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
audiobook-settings.vitest.spec.ts docs(intro): clarify open-source status and multilingual support in introduction 2026-06-06 12:19:28 -06:00
audiobook.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
audiobooks-blobstore.vitest.spec.ts refactor(core): improve streaming, validation, and rate limit logic 2026-05-30 16:41:17 -06:00
auth-config.vitest.spec.ts refactor(env): remove legacy no-auth mode and enforce required auth env vars 2026-05-31 12:09:37 -06:00
blob-cache.vitest.spec.ts feat(data-storage): migrate all user state from IndexedDB to server-backed storage 2026-06-14 18:13:39 -06:00
blob-upload-finalize-docx.vitest.spec.ts Refactor user data cleanup and TTS storage flows (#105) 2026-06-07 13:33:20 -06:00
canonicalize-epub-segment.vitest.spec.ts test(unit): migrate batch2 document and parser suites to vitest 2026-05-30 11:15:19 -06:00
changelog-check.vitest.spec.ts refactor(api): remove all legacy unclaimed user scope logic and enforce strict userId scoping 2026-05-31 13:01:55 -06:00
changelog.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
compute-worker-client-contract.vitest.spec.ts refactor: implement modular monorepo packages 2026-06-13 13:51:18 -06:00
data-export.vitest.spec.ts Refactor user data cleanup and TTS storage flows (#105) 2026-06-07 13:33:20 -06:00
docstore.vitest.spec.ts test(unit): migrate batch2 document and parser suites to vitest 2026-05-30 11:15:19 -06:00
document-blob-lease.vitest.spec.ts refactor: implement modular monorepo packages 2026-06-13 13:51:18 -06:00
document-delete-cleanup.vitest.spec.ts refactor: implement modular monorepo packages 2026-06-13 13:51:18 -06:00
document-previews-render.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
document-settings.vitest.spec.ts feat(tts): add multilingual reader foundation 2026-06-06 06:18:50 -06:00
epub-audiobook-hook.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
epub-canonical-window.vitest.spec.ts fix(epub): improve canonical window stability and error handling 2026-06-08 19:05:13 -06:00
epub-location-controller.vitest.spec.ts feat(data-storage): migrate all user state from IndexedDB to server-backed storage 2026-06-14 18:13:39 -06:00
epub-spine-coordinates.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
highlight-token-alignment.vitest.spec.ts perf(highlight): optimize exact token sequence matching for large documents 2026-06-06 11:41:47 -06:00
highlight-word-locate.vitest.spec.ts refactor(epub): unify word-to-region alignment for text highlighting 2026-06-09 14:57:27 -06:00
html-audiobook-adapter.vitest.spec.ts test(unit): migrate batch2 document and parser suites to vitest 2026-05-30 11:15:19 -06:00
html-blocks.vitest.spec.ts test(unit): migrate batch2 document and parser suites to vitest 2026-05-30 11:15:19 -06:00
icons-grid.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
kokoro.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
language.vitest.spec.ts feat(tts): add Replicate Kokoro language code resolution and input mapping 2026-06-06 15:51:02 -06:00
layout-metadata.vitest.spec.ts feat(shared): centralize origin validation logic and update metadata usage 2026-05-31 16:41:47 -06:00
legacy-fs-claim-cleanup.vitest.spec.ts feat(user): remove legacy local file deletion and add cleanup for claimed FS sources 2026-06-03 14:35:27 -06:00
nlp.vitest.spec.ts test(nlp): add case to ensure Catalan middle dot is preserved in audio text normalization 2026-06-10 09:38:41 -06:00
onboarding-flow.vitest.spec.ts feat(data-storage): migrate all user state from IndexedDB to server-backed storage 2026-06-14 18:13:39 -06:00
pdf-audiobook-adapter.vitest.spec.ts test(unit): migrate batch2 document and parser suites to vitest 2026-05-30 11:15:19 -06:00
pdf-build-page-text.vitest.spec.ts test(unit): migrate batch2 document and parser suites to vitest 2026-05-30 11:15:19 -06:00
pdf-force-reparse.vitest.spec.ts test(unit): migrate batch2 document and parser suites to vitest 2026-05-30 11:15:19 -06:00
pdf-parse-artifact-envelope.vitest.spec.ts Refactor PDF parsing and rendering logic; migrate to compute-worker protocol 2026-06-12 13:43:33 -06:00
pdf-parse-client-lifecycle.vitest.spec.ts test(pdf-parse): add unit tests for client lifecycle and worker route flows 2026-06-04 20:04:30 -06:00
pdf-parsed-events-route-worker-proxy.vitest.spec.ts refactor: implement modular monorepo packages 2026-06-13 13:51:18 -06:00
pdf-parsed-route-worker-flow.vitest.spec.ts refactor: implement modular monorepo packages 2026-06-13 13:51:18 -06:00
pdf-tts-planning.vitest.spec.ts test(unit): migrate batch2 document and parser suites to vitest 2026-05-30 11:15:19 -06:00
query-keys.vitest.spec.ts feat(data-storage): migrate all user state from IndexedDB to server-backed storage 2026-06-14 18:13:39 -06:00
rate-limit-runtime-settings.vitest.spec.ts docs(config): update environment variable docs for runtime JSON seed and remove legacy RUNTIME_SEED_* usage 2026-05-31 00:13:03 -06:00
reap-orphaned-blobs.vitest.spec.ts refactor: implement modular monorepo packages 2026-06-13 13:51:18 -06:00
request-ip.vitest.spec.ts feat(rate-limit): add per-user PDF parsing rate limiting and job event ledger 2026-05-30 14:17:49 -06:00
runtime-seed-json.vitest.spec.ts refactor: implement modular monorepo packages 2026-06-13 13:51:18 -06:00
scheduled-tasks-engine.vitest.spec.ts refactor: implement modular monorepo packages 2026-06-13 13:51:18 -06:00
scheduled-tasks-routes.vitest.spec.ts Refactor user data cleanup and TTS storage flows (#105) 2026-06-07 13:33:20 -06:00
server-error-contract.vitest.spec.ts test(unit): migrate batch1 core contracts to vitest 2026-05-30 11:11:44 -06:00
server-error-response.vitest.spec.ts test(unit): migrate batch1 core contracts to vitest 2026-05-30 11:11:44 -06:00
server-route-error-mappings.vitest.spec.ts test(unit): migrate batch1 core contracts to vitest 2026-05-30 11:11:44 -06:00
setup-env.ts refactor(env): remove legacy no-auth mode and enforce required auth env vars 2026-05-31 12:09:37 -06:00
sha256.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
shared-form-control-consumers.vitest.spec.ts refactor(ui): enforce shared control primitives 2026-06-06 11:15:48 -06:00
shared-overlay-consumers.vitest.spec.ts refactor(ui): enforce shared control primitives 2026-06-06 11:15:48 -06:00
shared-provider-selection.vitest.spec.ts test(unit): migrate batch1 core contracts to vitest 2026-05-30 11:11:44 -06:00
shared-select-consumers.vitest.spec.ts refactor(ui): centralize standard select controls 2026-06-06 11:05:36 -06:00
signup-policy.vitest.spec.ts docs(config): update environment variable docs for runtime JSON seed and remove legacy RUNTIME_SEED_* usage 2026-05-31 00:13:03 -06:00
storage-prefix-cleanup.vitest.spec.ts Refactor user data cleanup and TTS storage flows (#105) 2026-06-07 13:33:20 -06:00
test-namespace-gate.vitest.spec.ts feat(rate-limit): add per-user PDF parsing rate limiting and job event ledger 2026-05-30 14:17:49 -06:00
transfer-user-documents.vitest.spec.ts feat(data-storage): migrate all user state from IndexedDB to server-backed storage 2026-06-14 18:13:39 -06:00
tts-audio-format.vitest.spec.ts refactor(tts): enhance mp3 format detection and improve ffmpeg abort handling 2026-06-09 09:58:40 -06:00
tts-audio-warm-cache.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
tts-epub-handoff.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
tts-epub-preload.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
tts-generate.vitest.spec.ts fix(tts): apply upstream timeout and validate provider/model form in Speech SDK path 2026-06-11 12:19:31 -07:00
tts-locator.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
tts-provider-catalog.vitest.spec.ts feat(data-storage): migrate all user state from IndexedDB to server-backed storage 2026-06-14 18:13:39 -06:00
tts-segment-audio-urls.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
tts-segment-plan-leading.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
tts-segment-plan.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
tts-segment-retry-policy.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
tts-segments-audio-cache.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
tts-segments-blobstore.vitest.spec.ts Refactor user data cleanup and TTS storage flows (#105) 2026-06-07 13:33:20 -06:00
tts-segments-cache.vitest.spec.ts refactor: implement modular monorepo packages 2026-06-13 13:51:18 -06:00
tts-segments-manifest.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
tts-segments.vitest.spec.ts Refactor user data cleanup and TTS storage flows (#105) 2026-06-07 13:33:20 -06:00
tts-settings-admin-view-model.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00
user-data-cleanup.vitest.spec.ts refactor: implement modular monorepo packages 2026-06-13 13:51:18 -06:00
user-preferences-normalize.vitest.spec.ts fix(config): prevent arrays from being treated as records in preference normalization 2026-06-06 15:55:54 -06:00
walker-theme.vitest.spec.ts test(unit): complete vitest migration for remaining unit suites 2026-05-30 11:17:18 -06:00