7 Commits
Author SHA1 Message Date
mhills dc05c90cc4 Replace browser confirm dialog with custom modal
Add custom confirmation modal for file deletion with smooth animations and backdrop blur. Improves UI consistency and provides better user experience than default browser dialogs.
2025-12-27 14:47:37 -05:00
mhills f8943ab363 Fix code input clearing behavior on download
Validate download code before starting download to ensure code input is only cleared on successful downloads. Invalid or expired codes now show an error message while preserving the entered code for correction.
2025-12-27 14:40:46 -05:00
mhills 164e2162a2 Move client key to database with admin UI for key management and QR code generation
- Store client key in SQLite database instead of environment variable
- Add database migration from CLIENT_KEY environment variable to preserve existing keys
- Add admin UI with tabbed interface (Configuration and QR Code tabs)
- Implement QR code generation containing server config (address, port, key) for Android app
- Add functionality to regenerate client key with warning dialog
- Add buttons to download QR code as PNG and copy QR image to clipboard
- Add manual input fields for server address and port configuration
- Update requirements.txt with pyotp and qrcode dependencies
2025-12-27 14:29:58 -05:00
mhills 872ae74668 Migrate storage from JSON to SQLite with enhanced MVC architecture
- Replace JSON file storage with SQLite database for improved concurrency and data integrity
- Implement repository pattern with dedicated model layer (admin_model, file_model, chunk_model)
- Add database.py with automatic migration from existing JSON files
- Enable WAL mode for thread-safe concurrent access across Gunicorn workers
- Store database files in dedicated db/ folder
- Update controllers to use model layer instead of direct JSON access
- Add admin authentication system with TOTP 2FA support
2025-12-27 14:00:39 -05:00
mhills 41ceeea90a tracking version 2025-04-16 22:28:13 -04:00
mhills 350a8aaab7 added endpoint for early delete (before file expires) 2025-04-14 22:57:32 -04:00
mhills 68ed19766d improving look and feel 2025-04-14 20:47:26 -04:00