Commit History

  1. fix(db): handle None from supabase-py maybe_single().execute()⁠ Running

    ce489e3
  2. feat: youtube stats endpoint + nav link

    d1806e6
  3. feat(backend): POST /jobs/youtube + GET /jobs/youtube/{id}

    b989bc8
  4. chore: drop R2 env vars from examples, use STORAGE_*

    3defc0b
  5. feat(backend): add SupabaseStorage adapter (replaces R2 dependency)⁠

    beb3bd0
  6. feat(backend): demucs two-stem -> mp3 adapter

    0abe23e
  7. feat(backend): youtube karaoke pipeline orchestrator

    abae7c8
  8. feat(backend): supabase song + job repo

    4ae09a8
  9. feat(backend): R2 storage wrapper

    0804761
  10. feat(backend): yt-dlp metadata + audio download wrappers

    53e89b8
  11. feat(backend): youtube URL parsing

    7b12041
  12. deps: add yt-dlp, boto3, supabase, python-slugify

    fce9cdb
  13. feat(infra): supabase schema + r2 config for youtube karaoke

    7deef0d

  1. Add pitch/tempo shifting on download⁠

    fd9421b

  1. Set baseline stats to 100 visits and 5 downloads⁠

    d074942
  2. Add Indian tala and time signature detection alongside Western BPM⁠

    63f26c4
  3. Add admin dashboard with download history and persistent storage⁠

    3b1b3cb

  1. Fix page scroll overflow, add credits, and add HF Space deployment⁠

    b7f1453

  1. Fix before-clip playback by persisting original in output dir

    03be5eb
  2. Add before/after clip preview and SEO landing pages

    ee5588a
  3. feat(stems): add multi-stem downloads with Playwright e2e coverage

    4369b06
  4. feat(trim): add upload trim range with preview and backend segment processing

    27df8ab
  5. feat(rebrand): rename to Opus; broaden SEO for vocal remover, karaoke maker & background music⁠

    e0659f9

  1. fix(backend): use asyncio.to_thread for stats IO, guard malformed JSON, isolate test side-effects

    5d9f00f
  2. feat(backend): add file-based stats counter with /stats and /stats/visit endpoints

    dc5236d
  3. feat: add needed scripts

    5ed4e28

  1. chore: remove faq

    af9db28
  2. chore: pre-deployment cleanup and fixes

    cad5bf4
  3. fix: threadpool executor for cleanup, shutdown hook, stronger download tests

    d52edae
  4. feat: GET /download/{job_id} endpoint and APScheduler file cleanup⁠

    432f562
  5. fix: replace assert with RuntimeError guard, truncate stderr before decode⁠

    2bfa333
  6. feat: demucs processing worker with asyncio queue and MPS acceleration

    0f24c2f
  7. fix: cleanup on enqueue failure, MP3 magic byte validation, stronger upload tests

    ac2e3da
  8. feat: POST /upload endpoint with MP3 validation and size limit

    360e6f2
  9. fix: init asyncio queue inside startup event, add QueueFull guard

    56f2ba5
  10. feat: job store and GET /status/{job_id} endpoint

    a0cee5d
  11. fix: anchor paths to __file__, add Field validation, trigger lifespan in tests

    36271b3
  12. feat: backend scaffold with health endpoint and pytest setup

    0d0fd8d