openreader/src
Richard R 97dba6d987 refactor(tts,audiobook,tests): centralize TTS catalog, harden epub & UI flows
- Move TTS provider resolution and voice-fetch logic into shared catalog and make
  remote fetches more resilient (timeouts, abort handling, baseUrl normalization,
  treat explicit empty custom-openai responses as valid).
- Add continuation guard to TTS feature set and update API voices endpoint error
  logging to better surface auth/session failures.
- Extract and stabilize ebook pipeline and epub adapter:
  - Cache prepared EPUB chapters to avoid repeated parsing and handle missing/empty
    chapter titles safely.
  - Fail early when created chapter lacks a bookId.
- Improve config/preferences handling:
  - Replace JSON stringify comparisons with a deepEqual utility to compare defaults.
  - Tighten ConfigContext effect dependencies and consolidate synced preference
    queuing logic to include additional keys.
- Harden end-to-end test helpers and unit tests:
  - Make settings dialog dismissal deterministic (use Enter/Escape and explicit
    visibility/enabled checks) and simplify upload retry behavior.
  - Add unit test to ensure custom-openai empty voice lists are preserved.

Why: Reduce runtime and test flakiness, centralize TTS logic for easier maintenance,
and make EPUB processing and preference diffing more robust. Breaking changes: none.
2026-04-06 10:28:00 -06:00
..
app refactor(tts,audiobook,tests): centralize TTS catalog, harden epub & UI flows 2026-04-06 10:28:00 -06:00
components test(ui,tests): stabilize audiobook export tests and harden settings modal interactions 2026-04-06 09:59:37 -06:00
contexts refactor(tts,audiobook,tests): centralize TTS catalog, harden epub & UI flows 2026-04-06 10:28:00 -06:00
db refactor: Standardize database timestamp fields to bigint epoch milliseconds and update schema migrations. 2026-02-17 21:00:36 -07:00
hooks refactor(tts,config,audiobook): centralize TTS provider catalog and extract audiobook pipeline 2026-04-04 17:53:57 -06:00
lib refactor(tts,audiobook,tests): centralize TTS catalog, harden epub & UI flows 2026-04-06 10:28:00 -06:00
types refactor(audiobooks): Refactor TTS generation and audiobook chapter creation 2026-03-19 11:54:33 -06:00
middleware.ts feat: implement US-only availability check for production instance in middleware and privacy page 2026-02-19 12:28:30 -07:00