openreader/tests/unit
Richard R f9adba791d feat(tts,epub,db): enforce stable EPUB segment locators and add segmentKey identity
Implement strict validation for EPUB TTS segment locators, requiring stable spine coordinates (`spineHref`, `spineIndex`, `charOffset`) and rejecting legacy CFI-only locators. Introduce `segmentKey` as a normalized identity derived from segment text, used for robust merging and deduplication of synthesized and persisted segments. Update database schemas, API routes, and manifest logic to support the new locator format and segmentKey. Add helpers for locator resolution and segmentKey construction, with comprehensive unit tests for identity, normalization, and manifest grouping.

BREAKING CHANGE: Persisted EPUB TTS segment locators must now include stable spine coordinates; legacy CFI-only locators are no longer accepted. Consumers must handle the new `segmentKey` field for segment identity and merging.
2026-05-12 16:18:36 -06:00
..
audiobook-scope.spec.ts feat: Refactor server-side document, audiobook, and authentication logic, introduce new client-side APIs and caching, and update related tests. 2026-02-17 19:30:12 -07:00
audiobook.spec.ts feat: Refactor server-side document, audiobook, and authentication logic, introduce new client-side APIs and caching, and update related tests. 2026-02-17 19:30:12 -07:00
audiobooks-blobstore.spec.ts feat: Refactor server-side document, audiobook, and authentication logic, introduce new client-side APIs and caching, and update related tests. 2026-02-17 19:30:12 -07:00
auth-config.spec.ts feat: Refactor server-side document, audiobook, and authentication logic, introduce new client-side APIs and caching, and update related tests. 2026-02-17 19:30:12 -07:00
canonicalize-epub-segment.spec.ts feat(tts,epub,db): enforce stable EPUB segment locators and add segmentKey identity 2026-05-12 16:18:36 -06:00
docstore.spec.ts feat: Refactor server-side document, audiobook, and authentication logic, introduce new client-side APIs and caching, and update related tests. 2026-02-17 19:30:12 -07:00
document-cache.spec.ts feat: Refactor server-side document, audiobook, and authentication logic, introduce new client-side APIs and caching, and update related tests. 2026-02-17 19:30:12 -07:00
document-previews-render.spec.ts feat: Refactor server-side document, audiobook, and authentication logic, introduce new client-side APIs and caching, and update related tests. 2026-02-17 19:30:12 -07:00
epub-spine-coordinates.spec.ts feat(tts,epub,db): enforce stable EPUB segment locators and add segmentKey identity 2026-05-12 16:18:36 -06:00
epub-word-highlight.spec.ts refactor(tts,epub,locator): introduce canonical segment keys and locator comparison utilities 2026-05-11 05:17:41 -06:00
kokoro.spec.ts refactor(tts): update Replicate model defaults and voice resolution 2026-04-16 12:52:08 -06:00
nlp.spec.ts feat(tts,config,ui): add advanced segment preloading and block length controls 2026-05-07 12:26:08 -06:00
sha256.spec.ts feat: Refactor server-side document, audiobook, and authentication logic, introduce new client-side APIs and caching, and update related tests. 2026-02-17 19:30:12 -07:00
transfer-user-documents.spec.ts feat: Refactor server-side document, audiobook, and authentication logic, introduce new client-side APIs and caching, and update related tests. 2026-02-17 19:30:12 -07:00
tts-epub-handoff.spec.ts refactor(tts,epub,locator): introduce canonical segment keys and locator comparison utilities 2026-05-11 05:17:41 -06:00
tts-epub-preload.spec.ts feat(tts,epub,db): enforce stable EPUB segment locators and add segmentKey identity 2026-05-12 16:18:36 -06:00
tts-generate.spec.ts refactor(tts): extract voice resolution logic to server module and update imports 2026-04-16 15:46:55 -06:00
tts-locator.spec.ts feat(tts,epub,db): enforce stable EPUB segment locators and add segmentKey identity 2026-05-12 16:18:36 -06:00
tts-provider-catalog.spec.ts refactor(tts): extract voice resolution logic to server module and update imports 2026-04-16 15:46:55 -06:00
tts-segment-plan-leading.spec.ts refactor(tts,epub,locator): introduce canonical segment keys and locator comparison utilities 2026-05-11 05:17:41 -06:00
tts-segment-plan.spec.ts feat(tts,epub,db): enforce stable EPUB segment locators and add segmentKey identity 2026-05-12 16:18:36 -06:00
tts-segments-manifest.spec.ts feat(tts,epub,db): enforce stable EPUB segment locators and add segmentKey identity 2026-05-12 16:18:36 -06:00
tts-segments.spec.ts feat(tts,epub,db): enforce stable EPUB segment locators and add segmentKey identity 2026-05-12 16:18:36 -06:00
walker-theme.spec.ts feat(tts,epub,db): enforce stable EPUB segment locators and add segmentKey identity 2026-05-12 16:18:36 -06:00