openreader/src
Richard Roberson b21bdb3a21 feat(tts): add multi-provider TTS support with Deepinfra and custom OpenAI-compatible endpoints
Add comprehensive multi-provider TTS support enabling users to choose between OpenAI, Deepinfra, and custom OpenAI-compatible endpoints. Implement provider-specific voice management with automatic voice restoration per provider-model combination, and migrate package manager to pnpm for improved dependency handling.

Key changes:
- Add TTS provider selection (OpenAI, Deepinfra, custom-openai) in settings UI
- Implement provider-specific model and voice lists with dynamic fetching
- Add voice persistence per provider-model combination in savedVoices
- Support Deepinfra models: Kokoro-82M, Orpheus-3B, Sesame-1B with their voice libraries
- Migrate to pnpm with frozen lockfile for reproducible builds
- Update Docker configuration to use pnpm and Deepinfra API defaults
- Add migration logic for existing users to infer provider from stored baseUrl
- Update test helpers and Playwright configuration for Deepinfra API
- Add example docker-compose.yml with Kokoro-FastAPI integration

BREAKING CHANGE: Voice selection is now provider-model specific. Previously saved voices will be migrated to the new savedVoices structure, but users may need to reselect voices if switching providers.
2025-11-09 15:47:17 -07:00
..
app feat(tts): add multi-provider TTS support with Deepinfra and custom OpenAI-compatible endpoints 2025-11-09 15:47:17 -07:00
components feat(tts): add multi-provider TTS support with Deepinfra and custom OpenAI-compatible endpoints 2025-11-09 15:47:17 -07:00
contexts feat(tts): add multi-provider TTS support with Deepinfra and custom OpenAI-compatible endpoints 2025-11-09 15:47:17 -07:00
hooks feat(tts): add multi-provider TTS support with Deepinfra and custom OpenAI-compatible endpoints 2025-11-09 15:47:17 -07:00
types Add TXT and MD support with and HTML viewer with react markdown + many refactors to support it 2025-04-15 02:28:51 -06:00
utils Saving and Loading Progress Bar 2025-07-19 20:22:50 -07:00