openreader/src/components
Richard Roberson 70723f4c1d perf(api): add LRU cache for TTS audio responses
Introduce an in-memory LRU cache for TTS audio with configurable
size and TTL via TTS_CACHE_MAX_SIZE_BYTES and TTS_CACHE_TTL_MS.
Return X-Cache headers (HIT/MISS) and set route runtime to nodejs.
Cache key includes provider, model, voice, speed, format, text,
and optional instructions.

Normalize non-Kokoro multi-voice input to the first token while
preserving full voice string in the cache key. Default Deepinfra
model to hexgrad/Kokoro-82M when none is provided.

Fix Deepinfra Kokoro behavior by enforcing single-voice selection:
- ui: only enable multi-select when provider supports >1 voices
- voice utils: Deepinfra max voices set to 1
- tests: gate provider selection and multi-voice tests by CI and
  increase timeout for stability
2025-11-12 23:28:05 -07:00
..
doclist fix(api): stabilize DOCX to PDF conversion and cleanup 2025-11-12 16:21:11 -07:00
icons feat(audiobook): add chapter-based export with UI and API 2025-11-11 13:32:30 -07:00
player perf(api): add LRU cache for TTS audio responses 2025-11-12 23:28:05 -07:00
AudiobookExportModal.tsx feat(audiobook): add chapter-based export with UI and API 2025-11-11 13:32:30 -07:00
ConfirmDialog.tsx fix(api): stabilize DOCX to PDF conversion and cleanup 2025-11-12 16:21:11 -07:00
DocumentSettings.tsx feat(audiobook): add chapter-based export with UI and API 2025-11-11 13:32:30 -07:00
DocumentSkeleton.tsx Prepare epub work 2025-02-08 13:07:36 -07:00
DocumentUploader.tsx feat(audiobook): add chapter-based export with UI and API 2025-11-11 13:32:30 -07:00
EPUBViewer.tsx feat(audiobook): add chapter-based export with UI and API 2025-11-11 13:32:30 -07:00
Footer.tsx fix(footer): update Deepinfra link in footer component 2025-11-09 17:09:50 -07:00
Header.tsx feat(audiobook): add chapter-based export with UI and API 2025-11-11 13:32:30 -07:00
HomeContent.tsx feat(audiobook): add chapter-based export with UI and API 2025-11-11 13:32:30 -07:00
HTMLViewer.tsx fix(api): stabilize DOCX to PDF conversion and cleanup 2025-11-12 16:21:11 -07:00
PDFViewer.tsx feat(audiobook): add chapter-based export with UI and API 2025-11-11 13:32:30 -07:00
ProgressCard.tsx feat(audiobook): add chapter-based export with UI and API 2025-11-11 13:32:30 -07:00
ProgressPopup.tsx feat(audiobook): add chapter-based export with UI and API 2025-11-11 13:32:30 -07:00
SettingsModal.tsx feat(audiobook): add chapter-based export with UI and API 2025-11-11 13:32:30 -07:00
Spinner.tsx Single page viewer + Major refactor 2025-01-25 22:23:29 -07:00
ZoomControl.tsx feat(audiobook): add chapter-based export with UI and API 2025-11-11 13:32:30 -07:00