feat: support external libraries with sync, streaming, and upload duplicate handling #17

Merged
blacklight merged 3 commits from external-libraries into main 2026-09-02 03:19:03 +02:00
Owner

See: #16

See: #16
feat: add external libraries with sync, streaming, and upload duplicate handling
All checks were successful
continuous-integration/drone/push Build is passing
a4746e35b9
- Add adapter registry, fake adapter, models, migrations, and encrypted configs
- Add user/admin CRUD APIs, sync runs, track tombstone/restore, and bulk delete
- Add external streaming + track download endpoint and metadata write-back task
- Add frontend views/components and API client for external library management
- Add duplicate-detection modal and resolve-duplicate upload endpoint
- Update docs/config and add comprehensive backend/frontend tests
- Return sync_run_id and have worker update the same run record
- Treat omitted vs null PATCH fields correctly; hide index toggle for users
- Poll sync status in UI; add success/partial/failed/timeout messages
- Avoid duplicate lookup on shadowed external tracks without linked track
- Align track state filters and fix reactive provider badge
feat(external-libraries): add local adapter and source deletion
Some checks reported errors
continuous-integration/drone/push Build was killed
efda28fe61
- Introduces a local filesystem external-library adapter that scans
  configured roots, extracts metadata, and exposes write_tags and
  delete_source capabilities.
- Adds a standalone watchdog process to sync on filesystem changes and
  frontend provider templates for configuring local libraries.
- Adds backend/frontend support for optionally deleting the
  provider-side source file when an external track is removed.
blacklight changed title from WIP: feat: support external libraries with sync, streaming, and upload duplicate handling to feat: support external libraries with sync, streaming, and upload duplicate handling 2026-09-02 03:17:58 +02:00
blacklight deleted branch external-libraries 2026-09-02 03:19:03 +02:00
Sign in to join this conversation.
No description provided.