Commit graph

39 commits

Author SHA1 Message Date
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
Victor Sonck
ece8bcd35a Added saving and restoring last location in PDFs 2025-06-23 13:57:27 +02:00
Richard Roberson
fc780746aa Bug fixes and readme update 2025-03-30 21:17:16 -06:00
Richard Roberson
7ba807fd95 Pause on page changes + Fix ePub bug when reloading 2025-03-23 17:18:21 -06:00
Richard Roberson
ce9df9a5ab implement retry logic for TTS API calls and clean up code 2025-03-03 23:03:52 -07:00
Richard Roberson
136fdb9652 Fix Apple WebKit PDF Upload 2025-03-01 23:36:25 -07:00
Richard Roberson
b89d1700e9 Fix for longer audiobooks 2025-03-01 18:21:51 -07:00
Richard Roberson
e3370f7526 Further audiobook extraction optimizations 2025-02-26 04:03:05 -07:00
Richard Roberson
b67aea6b27 Refactor audio conversion API to improve memory management and add streaming response 2025-02-25 23:38:29 -07:00
Richard Roberson
4a2d75e155 Export to m4b from WAV efficiently 2025-02-25 20:01:15 -07:00
Richard Roberson
79d2e7f613 Working m4b 2025-02-25 19:47:30 -07:00
Richard Roberson
9357dddf3a Implement PDF audiobook generation with configurable margins for text extraction 2025-02-25 16:11:08 -07:00
Richard Roberson
92220de5ea Refactor PDF text extraction to support configurable margins for header, footer, left, and right 2025-02-25 15:53:45 -07:00
Richard Roberson
f948601e70 Add configurable text extraction margin for PDF processing 2025-02-25 03:26:37 -07:00
Richard Roberson
9d6632d2d0 Use server instead of client for open ai request + large refactors and bug fixes 2025-02-21 11:24:07 -07:00
Richard Roberson
0ce14f3aec Refactors + epub location fixes 2025-02-18 02:31:30 -07:00
Richard Roberson
bc790df89e Cleanup imports and ssr cabable components 2025-02-13 00:09:49 -07:00
Richard Roberson
f16116cab4 Huge PDF text extraction optimization 2025-02-12 02:15:21 -07:00
Richard Roberson
e8008b68ab Save last EPUB location 2025-02-10 11:49:49 -07:00
Richard Roberson
2fa91a2448 Working epub viewer 2025-02-08 15:55:31 -07:00
Richard Roberson
96e499cc58 Setting to automatically skip blank pages, on by default 2025-02-04 18:53:52 -07:00
Richard Roberson
d025227518 More refactors 2025-01-29 22:04:11 -07:00
Richard Roberson
f800c12fb7 PDF document hook refactor 2025-01-29 21:20:11 -07:00
Richard Roberson
737ab5f919 Restructure 2025-01-29 21:13:18 -07:00
Richard Roberson
84f530f4cc Extract PDF context items to hooks 2025-01-28 21:51:45 -07:00
Richard Roberson
055e87e8c1 Extract TTS extras to hooks 2025-01-28 21:38:44 -07:00
Richard Roberson
dd7154cccf Contexts refactor + commenting 2025-01-28 21:22:22 -07:00
Richard Roberson
816690360e Fix horizontal PDF scale 2025-01-26 14:38:16 -07:00
Richard Roberson
21e1b8f9ca Another build fix 2025-01-26 03:02:32 -07:00
Richard Roberson
9374d3efbe Build fixes 2025-01-26 02:15:14 -07:00
Richard Roberson
34d9d4715c Fix increment page 2025-01-25 23:47:19 -07:00
Richard Roberson
429ec3f264 Single page viewer + Major refactor 2025-01-25 22:23:29 -07:00
Richard Roberson
5edae0e8ae cleanup 2025-01-22 11:51:08 -07:00
Richard Roberson
23d7fae8c2 Add api settings to settings modal + fix README.md 2025-01-22 09:50:47 -07:00
Richard Roberson
b978e8c58a Better text extraction 2025-01-21 18:15:18 -07:00
Richard Roberson
d4b4ad8187 Sliding ctx window for string matching highlighting 2025-01-20 16:36:57 -07:00
Richard Roberson
28fe51c80d Prevent text click jump while processing + refeactor text comparison 2025-01-20 15:12:23 -07:00
Richard Roberson
46c497f062 Readme.md + Refactor 2025-01-19 15:39:44 -07:00
Richard Roberson
728eb185b7 Rename /context --> /contexts 2025-01-19 14:45:32 -07:00
Renamed from src/context/PDFContext.tsx (Browse further)