openreader/tests/unit
Richard R 876ca7d774 feat(admin,config,ui,db): introduce runtime-editable site config and admin-managed TTS providers
Add database-backed runtime configuration for feature flags and TTS provider credentials, editable via a new admin UI panel. Replace static NEXT_PUBLIC_* and TTS provider env vars with admin-managed settings stored in the database and injected at SSR for client access. Implement admin-only panels for managing shared TTS provider credentials (with encrypted API keys) and live site feature flags. Add schema migrations, API routes, React contexts, and hooks for SSR-injected runtime config and live updates. Update client and server logic to resolve configuration from the database at runtime, enforcing admin restrictions and supporting migration from legacy env-based config.

BREAKING CHANGE: Feature flags and TTS provider credentials are now managed at runtime via the admin UI. Environment variables are only used for initial seeding and are ignored after first boot. Existing deployments must migrate configuration to the admin panel.
2026-05-12 22:39:24 -06:00
..
admin-providers-validation.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
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.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
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-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
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
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
transfer-user-documents.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
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(tts,epub,db): enforce stable EPUB segment locators and add segmentKey identity 2026-05-12 16:18:36 -06:00
tts-provider-catalog.spec.ts refactor(tts): extract voice resolution logic to server module and update imports 2026-04-16 15:46:55 -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-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 refactor(tts,db,manifest): split tts_segments into normalized entry and variant tables 2026-05-12 17:44:57 -06:00
tts-settings-admin-view-model.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
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