Problem
No automatic backups exist. If the database becomes corrupted, all user data is lost.
Solution
Implement daily backup using SQLite's backup API (better-sqlite3 supports db.backup()):
- On app startup, check if last backup is >24 hours old
- Use
db.backup(backupPath) to create incremental backup
- Keep last 3-5 backups in the app data directory, rotating old ones
- Add "Restore from Backup" option in Settings UI
- Show backup status in settings (last backup time, backup size)
Files
apps/electron/src/main/database.ts — add backup logic
apps/electron/src/main/settings.ts — store backup preferences
apps/electron/src/renderer/components/Settings.tsx — add restore UI
Problem
No automatic backups exist. If the database becomes corrupted, all user data is lost.
Solution
Implement daily backup using SQLite's backup API (better-sqlite3 supports
db.backup()):db.backup(backupPath)to create incremental backupFiles
apps/electron/src/main/database.ts— add backup logicapps/electron/src/main/settings.ts— store backup preferencesapps/electron/src/renderer/components/Settings.tsx— add restore UI