Commit graph

4 commits

Author SHA1 Message Date
ifedan-ed
00af54c95a Add PDF.js viewer, column-aware PDF extraction, and view toggle
- PDF pages rendered via PDF.js (see actual document, not just extracted text)
- Text/PDF view toggle appears for PDF documents (top-right of header)
- PDF view scrolls to current page as sentences are read
- Column-aware extraction: detects two-column layouts, reads left column
  top-to-bottom then right column (fixes academic papers, double-page PDFs)
- De-hyphenation: removes mid-word line breaks from extracted text
- Both PDF upload and Nextcloud download now return pdf_b64 + page_texts
- sentence→page mapping so PDF view auto-scrolls during playback

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-11 04:16:56 +02:00
ifedan-ed
ee3ffcfe90 Add email verification, user Nextcloud settings, Groq TTS, favicon, and settings page
- Email verification: send link on register via SMTP2GO (noreply@pedshub.com), verify endpoint, beautiful HTML email
- Unverified users see yellow banner in app with resend button; also shown on settings page
- User settings page (/settings): personal Nextcloud credentials (override admin-wide config)
- Admin and per-user Nextcloud config merged (user settings take priority)
- Groq PlayAI TTS: 20 English voices + 2 Arabic voices via groq-playai-tts / groq-playai-tts-arabic
- Added groq-playai-tts and groq-playai-tts-arabic to litellm config
- Favicon SVG (purple play button) across all pages
- Settings link in user dropdown menu
- verify-ok.html and verify-fail.html result pages
- DB migration: added email_verified column, verification_tokens and user_settings tables

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-11 04:12:25 +02:00
ifedan-ed
fb8e1340f1 Add auth, Nextcloud, voice lock, saved docs, progress saving, and all new TTS voices
- Auth system: JWT login/register with Cloudflare Turnstile, admin + user roles
- Admin panel: user management (role/active toggle, delete), Nextcloud config
- 6 TTS models: OpenAI TTS / TTS-HD, ElevenLabs, Gemini 2.5 Flash/Pro
- Voice lock: prevent model/voice changes while audio is playing
- Nextcloud browser: PROPFIND WebDAV, folder navigation, PDF loading
- Saved documents: save/load with PUT/POST, progress auto-saves every 2s
- Resume playback: remembers sentence position per user per document
- Better sentence highlighting with glow effect

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-11 03:23:18 +02:00
ifedan-ed
6458b101e1 Initial commit: Speechify clone with multi-provider TTS 2026-04-11 02:27:05 +02:00