Files
Codex b3ad062941
CI / Frontend build (push) Successful in 10s
CI / Script syntax (push) Successful in 4s
CI / Backend tests (push) Successful in 16s
Mark restore/export planning TODO as completed
The keep-local-backups toggle, download, and delete-local-copy work
just shipped resolves this item; move it into Completed.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-15 13:00:27 +02:00

3.0 KiB

TODO.md

TODO

  • Add access control before calling this publish-ready for general users.
    • Current app assumes a trusted LAN/reverse-proxy environment.
    • Decide between built-in login/API sessions or documented reverse-proxy auth.
    • Protect job creation, job deletion, backup deletion, and settings updates.
  • Move long-running destructive deletes to background jobs with progress.
    • Deleting a backup/job currently waits inside the API request while rclone deletes remote objects.
    • Add delete operation records, progress/error reporting, and UI polling so large job deletes do not hit proxy/browser timeouts.
  • Strengthen remote upload verification.
    • Current verification checks that the remote object exists.
    • Also compare remote size from rclone lsjson with the local archive size before deleting the local archive.
    • If supported by the remote, optionally record/check hashes.
  • Add backup history pagination and search.
    • Current UI/API can grow noisy as backup records accumulate.
    • Add limit, offset/cursor, guest filter, state filter, and date range filter.
  • Add a remote/orphan inspection view.
    • Show remote backup folders/files that are not represented in SQLite.
    • Show SQLite records whose remote object is missing.
    • Keep cleanup manual/explicit; do not auto-delete unknown remote objects.
  • Add retention preview/dry-run in the UI.
    • For each job, show which completed backups would be deleted by the current retention rule.
    • Useful before changing retention from days to latest or lowering retention values.
  • Add migration regression tests.
    • Test fresh DB creation.
    • Test upgrading older schemas.
    • Test bad stored timezone repair, including /UTC.
  • Replace FastAPI @app.on_event("startup") with lifespan handling.
    • Tests currently pass but FastAPI emits deprecation warnings.
  • Add CI/runtime compatibility coverage for supported Python versions.
    • CI currently validates one Python version.
    • Add a small matrix for the supported versions used by common Proxmox/Debian installs.
  • Add clearer setup diagnostics.
    • Surface pvesh access errors, missing storage, bad rclone path, missing remote, and remote path test failures separately.
    • Add a setup “test connection” action before saving completed setup.

In Progress

Completed

  • Add restore/export planning: global "keep local backups" setting, download a completed backup's archive back into the local dump directory on demand, and delete a locally-retained copy independently of the remote object. Restore itself is still explicit and manual via the Proxmox UI, not automated.
  • Make timezones configureable
  • show a "in xx:xx:xx" counting down to the next backup a bit more
  • when deleting a backup that is already deleted, nuke its metadata row entirely
  • add a better ui for viewing the details of a backup
  • see the id of a backup job in the editor of them
  • add backup job counts to the guests list
  • no "im progress" thing for deleting a backup nor deleting a job and its still hanging on deleting more stuff