Commit Graph
20 Commits
Author SHA1 Message Date
debpalashandClaude Opus 4.7 67328d04fe refactor: split backend into api/core/services/schemas, harden security + fd pressure, add searchable language picker, fix segment fragmentation
Backend:
- Split monolithic main.py into backend/{api/routers,core,schemas,services}
- core/db.py: allowlist-gated migrations, db_conn context manager (kills SQL injection on ALTER)
- core/tasks.py: lock-guarded listener add/remove/push, snapshot-before-iterate
- services/ffmpeg_utils.py: run_ffmpeg helper with concurrency semaphore, EAGAIN retry, guaranteed reap
- services/segmentation.py: Bengali/CJK/Arabic punctuation, ultra-short tier, stitch_adjacent_shorts,
  bounded-loop merge; public clean_up_segments API
- services/model_manager.py: robust lock.locked() handling
- api/routers/dub_core.py: job_id traversal guard, thread-safe _active_procs, timeouts on ffmpeg/demucs,
  POST /dub/cleanup-segments endpoint
- api/routers/dub_export.py: guarded SSE listener remove, ffmpeg timeouts via run_ffmpeg
- api/routers/exports.py: destination_path validation, safe source resolver, subprocess list-form
- api/routers/generation.py: contextlib.suppress on tempfile cleanup, db_conn usage, safe output-path helper
- api/routers/system.py: try/finally tmp cleanup, subprocess timeouts
- schemas/requests.py: TranslateSegment.id int->str to match hex segment IDs
- main.py: threading.Lock around crash log writes

Frontend:
- components/SearchableSelect.jsx: popover combobox with search, keyboard nav, popular+recent pins, 200-item cap
- App.jsx: wire SearchableSelect for dub language / ISO code / voice-gen language; Clean Up segments button;
  fix blob URL leak (object-shaped prev in setter, unmount cleanup via ref)
- components/WaveformTimeline.jsx: explicit <video> detach instead of innerHTML='' to release decoder
- index.css: ss-* combobox styles matching Gruvbox theme

Tests:
- tests/test_segmentation.py (26 cases), test_dub_transcribe.py, test_dub_export_unique.py, conftest.py

Chore:
- .gitignore: exclude omnivoice.zip, /research/ reference clones
- Remove tracked stray root test scripts + crash_log.txt

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 17:20:19 +05:30
debpalash d2cab558c3 refactor: enable window state persistence, refine UI layout, and fix voice generation logic to prevent reference audio leakage and attribute errors 2026-04-15 05:10:16 +05:30
debpalash f0ec88c66d refactor: redesign sidebar navigation buttons and add a JSX tag validation script 2026-04-14 20:32:07 +05:30
debpalash cd8cbe6243 feat: implement file export history, native folder reveal, and robust FFmpeg/torchcodec environment management. 2026-04-14 19:40:26 +05:30
debpalash d79b6f6d04 feat: rebrand to OmniVoice Studio, add cross-platform icon assets, and implement backend audio preview proxy for WebKit compatibility 2026-04-14 16:15:27 +05:30
debpalash 788f808db9 feat: initialize Tauri desktop application with window management and custom styling 2026-04-14 05:39:29 +05:30
debpalash 19abe9aed6 docs: update getting started guide with Docker deployment instructions and refined local setup steps 2026-04-14 04:40:33 +05:30
debpalash 5668aff528 feat: add Docker support for containerized deployment and serve static frontend from backend 2026-04-14 04:35:04 +05:30
debpalash 3a8adf5dd4 feat: implement streaming TTS, A/B voice comparison, and background task processing with SSE updates 2026-04-14 04:00:38 +05:30
debpalash 389b83fb42 docs: add star history chart to README 2026-04-14 02:20:30 +05:30
debpalash f31c44040b feat: implement v1.2.0 production features including undo/redo, per-segment gain control, model telemetry, and UI polish. 2026-04-14 02:14:12 +05:30
debpalash eba72517fe feat: add voice previewing, keyboard shortcuts, and enhanced dubbing export options 2026-04-14 02:06:11 +05:30
debpalash bf5e1cb532 feat: implement waveform timeline component and refine UI with a compact, high-density design system. 2026-04-13 18:24:14 +05:30
Palash Debnath 9d5bd257f7 Merge pull request #2 from morington/main
Fix README and make dev script cross-platform
2026-04-12 15:31:36 +05:30
debpalash 6bbaa70d75 docs: simplify and condense README content for better readability 2026-04-10 04:10:00 +05:30
debpalash 5c4674d709 refactor: simplify README documentation and update API and frontend to support voice design features 2026-04-10 03:51:40 +05:30
debpalash 053e3c8463 feat: add system monitoring dashboard, react-hot-toast notifications, and expanded language support 2026-04-10 03:36:07 +05:30
debpalash 1d44288835 chore: setup turborepo orchestration with bun 2026-04-10 03:01:09 +05:30
debpalash eb2e9988f6 chore: flatten project by moving all contents from submodule to root 2026-04-10 02:53:23 +05:30
debpalash 03e1fec0ee Initial commit 2026-04-10 02:42:34 +05:30