12 Commits

Author SHA1 Message Date
Codex 4a8da348d8 Fixed timeout issues
CI / Frontend build (push) Successful in 13s
CI / Backend tests (push) Successful in 17s
CI / Script syntax (push) Successful in 3s
2026-07-21 20:34:12 +02:00
Codex 7960809b30 Self-heal stale local_path pointers on read
CI / Frontend build (push) Successful in 11s
CI / Backend tests (push) Successful in 16s
CI / Script syntax (push) Successful in 3s
Backups completed before the keep-local-backups feature never had
local_path nulled out after the local archive was deleted, so the new
"Local copy: Kept" indicator was trusting a stale DB column instead of
reality. GET /api/backups and GET /api/backups/{id} now verify the
file still exists and clear local_path if it doesn't, which also
covers any future case of a local file disappearing outside the app.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-15 13:06:53 +02:00
Codex b3ad062941 Mark restore/export planning TODO as completed
CI / Frontend build (push) Successful in 10s
CI / Script syntax (push) Successful in 4s
CI / Backend tests (push) Successful in 16s
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
Codex 508decffe3 Add local backup retention: keep-local toggle, download, delete-local
CI / Frontend build (push) Successful in 12s
CI / Script syntax (push) Successful in 3s
CI / Backend tests (push) Successful in 17s
Lets operators opt into keeping the local archive after upload (global
keep_local_backups setting), pull a remote archive back down into the
Proxmox dump directory for manual restore, and drop a locally-retained
copy without touching the remote object. Consolidates deletion so
retention, job-cascade delete, manual delete, and crash-recovery resume
all clean up local copies alongside remote ones.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-15 12:58:52 +02:00
Sonnet 5 1288ba731d Make proxmox_storage a global setting instead of a per-job snapshot
CI / Frontend build (push) Successful in 11s
CI / Script syntax (push) Successful in 4s
CI / Backend tests (push) Successful in 18s
Backup jobs stored their own proxmox_storage column, copied from
settings at creation time and never resynced. process_backup preferred
that frozen job value, so changing Settings > Proxmox storage had no
effect on existing jobs. Drop the per-job column and always use the
current global setting when starting a backup.

Also copies AGENTS.md to CLAUDE.md.
2026-07-15 12:20:44 +02:00
Codex 608f13cb78 Add follow-up improvement TODOs
CI / Frontend build (push) Successful in 13s
CI / Backend tests (push) Successful in 16s
CI / Script syntax (push) Successful in 3s
2026-07-15 01:17:36 +02:00
Codex 2b421c7607 Make archive discovery deterministic
CI / Frontend build (push) Successful in 10s
CI / Script syntax (push) Successful in 4s
CI / Backend tests (push) Successful in 16s
2026-07-15 01:15:22 +02:00
Codex 88e6d042cd Fix CI timezone and fresh settings initialization
CI / Frontend build (push) Successful in 12s
CI / Backend tests (push) Failing after 15s
CI / Script syntax (push) Successful in 3s
2026-07-15 01:13:29 +02:00
Codex f5997b47d9 Add Gitea CI workflow
CI / Frontend build (push) Successful in 13s
CI / Script syntax (push) Successful in 3s
CI / Backend tests (push) Failing after 17s
2026-07-15 01:10:59 +02:00
Codex ca0269a146 Make project docs and integration test generic 2026-07-15 01:07:22 +02:00
Codex 398c1ae6c3 Add update apply script and agent guide 2026-07-15 01:02:43 +02:00
Codex 7a4c561f8e Initial pve cloud backup app 2026-07-15 01:00:08 +02:00