media-rip/backend/app
xpltd 82786be485 Auto format label with extension, preferences persistence, toast, full delete
Auto format display:
- 'Auto' chip now shows detected extension: 'Auto (.webm)', 'Auto (.mp3)'
- Backend guesses extension from URL domain (youtube→webm, bandcamp→mp3,
  soundcloud→opus, etc.) and extract_info ext field for single videos

Preferences persistence:
- Media type (video/audio) and output format saved to localStorage
- Settings survive page refreshes and gear panel open/close

Toast notifications:
- Copy link shows animated toast 'Link copied to clipboard'
- Toast appears at bottom center, auto-dismisses after 2s

Full delete on cancel:
- DELETE /downloads/{id} now removes the job from DB and deletes the file
- Previously marked as 'cancelled by user' and persisted in history
- Jobs dismissed with X are completely purged from the system
2026-03-19 03:16:38 -05:00
..
core GSD: M002/S01 complete — Bug fixes + header/footer rework 2026-03-18 21:16:24 -05:00
middleware M001: media.rip() v1.0 — complete application 2026-03-18 20:00:17 -05:00
models Fix playlist support, session persistence, audio detection, progress errors 2026-03-19 02:53:45 -05:00
routers Auto format label with extension, preferences persistence, toast, full delete 2026-03-19 03:16:38 -05:00
services Auto format label with extension, preferences persistence, toast, full delete 2026-03-19 03:16:38 -05:00
__init__.py M001: media.rip() v1.0 — complete application 2026-03-18 20:00:17 -05:00
dependencies.py M001: media.rip() v1.0 — complete application 2026-03-18 20:00:17 -05:00
main.py M001: media.rip() v1.0 — complete application 2026-03-18 20:00:17 -05:00