openreader/tests/unit
Richard R 766c04d08d refactor(pdf): implement ONNX-based Docling layout parsing and block-level TTS for PDFs
Migrate PDF parsing to use ONNX Docling layout model for structured block extraction, enabling improved TTS segmentation and chaptering. Add compute backend abstraction for heavy tasks (alignment, layout parsing) with configuration via `OPENREADER_COMPUTE_MODE`. Integrate block-level locators and document settings for per-document PDF parsing options. Update S3 storage for parsed PDF JSON, add migration and schema changes, and extend client and server APIs for parsed data and settings. Remove legacy word highlight flag in favor of compute capability detection.

- Add ONNX model download, local/none compute modes, and `onnxruntime-node` dependency
- Update PDF viewer and TTS pipeline to use parsed blocks and block-level locators
- Add document settings storage and APIs for per-document PDF options
- Update S3 storage layout for parsed PDF JSON
- Add admin/config/docs updates for new compute and parsing features
- Remove obsolete word highlight runtime flag and UI

BREAKING CHANGE: PDF parsing and word highlighting now require `OPENREADER_COMPUTE_MODE=local` and ONNX model; document settings and S3 layout updated; legacy word highlight flag removed.
2026-05-17 21:18:51 -06:00
..
admin-providers-validation.spec.ts refactor(tts,config,admin): update provider resolution logic and ordering for consistency 2026-05-13 12:08:39 -06:00
admin-tts-instructions.spec.ts feat(admin,config,ui,db): introduce runtime-editable site config and admin-managed TTS providers 2026-05-12 22:39:24 -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-settings.spec.ts feat(audiobook): integrate settings coercion utility and migrate metadata handling 2026-05-14 11:34:16 -06: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
changelog-check.spec.ts refactor(settings): extract changelog check logic to reusable utility 2026-05-14 10:58:32 -06:00
changelog.spec.ts feat(changelog): add changelog feed support and settings integration 2026-05-14 09:45:04 -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-audiobook-hook.spec.ts refactor epub reader hooks and add unit coverage 2026-05-13 16:56:13 -06:00
epub-location-controller.spec.ts refactor epub reader hooks and add unit coverage 2026-05-13 16:56:13 -06: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 fix(api,rate-limit): centralize daily quota exceeded response and update imports 2026-05-12 18:24:39 -06:00
html-audiobook-adapter.spec.ts feat(html): add HTML/TXT/MD sentence and word highlighting, settings, and audiobook export support 2026-05-17 11:14:02 -06:00
html-blocks.spec.ts feat(html): add HTML/TXT/MD sentence and word highlighting, settings, and audiobook export support 2026-05-17 11:14:02 -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
pdf-audiobook-adapter.spec.ts refactor(pdf): implement ONNX-based Docling layout parsing and block-level TTS for PDFs 2026-05-17 21:18:51 -06:00
pdf-build-page-text.spec.ts refactor(pdf): implement ONNX-based Docling layout parsing and block-level TTS for PDFs 2026-05-17 21:18:51 -06:00
pdf-merge-text-with-regions.spec.ts refactor(pdf): implement ONNX-based Docling layout parsing and block-level TTS for PDFs 2026-05-17 21:18:51 -06:00
pdf-stitch-cross-page-blocks.spec.ts refactor(pdf): implement ONNX-based Docling layout parsing and block-level TTS for PDFs 2026-05-17 21:18:51 -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
signup-policy.spec.ts feat(auth): add runtime toggle for user sign-ups and enforce signup policy 2026-05-14 12:47:05 -06:00
transfer-user-documents.spec.ts refactor(pdf): implement ONNX-based Docling layout parsing and block-level TTS for PDFs 2026-05-17 21:18:51 -06:00
tts-audio-warm-cache.spec.ts Warm segment audio during preload before playback 2026-05-13 23:39:29 -06:00
tts-epub-handoff.spec.ts fix(api,rate-limit): centralize daily quota exceeded response and update imports 2026-05-12 18:24:39 -06:00
tts-epub-preload.spec.ts fix(api,rate-limit): centralize daily quota exceeded response and update imports 2026-05-12 18:24:39 -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(html): add HTML/TXT/MD sentence and word highlighting, settings, and audiobook export support 2026-05-17 11:14:02 -06:00
tts-provider-catalog.spec.ts chore(config): remove Deepinfra model gating and related admin setting 2026-05-13 18:42:40 -06:00
tts-segment-audio-urls.spec.ts Use direct signed segment audio URLs in ensure/manifest 2026-05-13 23:33:00 -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-segment-retry-policy.spec.ts Retry errored TTS segments with cooldown and retry-after 2026-05-14 08:31:40 -06:00
tts-segments-audio-cache.spec.ts Remove dead segment audio presign route and legacy helpers 2026-05-14 08:01:53 -06:00
tts-segments-manifest.spec.ts refactor(tts,db,manifest): split tts_segments into normalized entry and variant tables 2026-05-12 17:44:57 -06:00
tts-segments.spec.ts feat(tts,config,types): migrate to providerRef/providerType model and add centralized TTS provider policy 2026-05-13 10:11:05 -06:00
tts-settings-admin-view-model.spec.ts chore(config): remove Deepinfra model gating and related admin setting 2026-05-13 18:42:40 -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