media-rip/backend/app/services
xpltd fe45fdce50 Settings flow rework, purge sessions, confirmation gate
Settings flow:
- Each section has its own Save button — no ambiguous shared button
- Appearance & Defaults: Save covers welcome message + output formats
- Privacy & Data: Save covers privacy toggle + retention hours
- Security: Change Password button is self-contained
- Bottom note clarifies all settings reset on server restart

Purge improvements:
- Now clears orphaned sessions (sessions with no remaining jobs)
- 'Sure?' confirmation gate on manual purge (3s timeout revert)
- Purge result shows sessions_deleted count
- Cleaner result display: 'X jobs removed' instead of 'Rows deleted: X'

SSE broker:
- publish_all() broadcasts to all sessions (used for purge)
2026-03-19 06:16:43 -05:00
..
__init__.py M001: media.rip() v1.0 — complete application 2026-03-18 20:00:17 -05:00
download.py Best quality format, password UX, mobile columns 2026-03-19 05:29:41 -05:00
output_template.py M001: media.rip() v1.0 — complete application 2026-03-18 20:00:17 -05:00
purge.py Settings flow rework, purge sessions, confirmation gate 2026-03-19 06:16:43 -05:00
theme_loader.py M001: media.rip() v1.0 — complete application 2026-03-18 20:00:17 -05:00