xpltd
|
182104e57f
|
Persistent admin settings + new server config fields
Settings are now persisted to SQLite (config table) and survive restarts.
New admin-configurable settings (migrated from env-var-only):
- Max concurrent downloads (1-10, default 3)
- Session mode (isolated/shared/open)
- Session timeout hours (1-8760, default 72)
- Admin username
- Auto-purge enabled (bool)
- Purge max age hours (1-87600, default 168)
Existing admin settings now also persist:
- Welcome message
- Default video/audio formats
- Privacy mode + retention hours
Architecture:
- New settings service (services/settings.py) handles DB read/write
- Startup loads persisted settings and applies to AppConfig
- Admin PUT /settings validates, updates live config, and persists
- GET /admin/settings returns all configurable fields
- DownloadService.update_max_concurrent() hot-swaps the thread pool
Also:
- Fix footer GitHub URL (jlightner → xpltdco)
- Add DEPLOY-TEST-PROMPT.md for deployment testing
|
2026-03-19 12:11:53 -05:00 |
|