feat(home): readable Backups home, record screens, runnable demo #9

Merged
KofTwentyTwo merged 2 commits from feature/home-polish into develop 2026-10-13 00:10:48 +00:00
KofTwentyTwo commented 2026-10-12 23:47:41 +00:00 (Migrated from github.com)

Builds on the foundation (PR #4; this PR contains its commits, rebases cleanly once #4 merges). Fixes the NPE in BackupsHomeData.plansNeedingAttention (null slaStatus, null plan ids); full-width plan rows with derived lateness; working links in the Next UI (new config tablePathPrefix, default /app); the app attaches itself to its parent app so Admin > Backups shows in the nav; nav lists main tables only (file objects no longer in nav); record screens in sections with child lists (scope rules, runs, artifacts, verifications, restores, per-table results) instead of one long list; test-scope BackupsDemoServer (memory backend, real engine runs incl. a failed one); screenshots in docs/screenshots. Tests: BackupsHomeTest, mvn verify green. Not merged: #5/#6/#7 (restore/verification screenshots come from a scratch merge, in docs/screenshots/with-restore-verify).

🤖 Generated with Claude Code

Builds on the foundation (PR #4; this PR contains its commits, rebases cleanly once #4 merges). Fixes the NPE in BackupsHomeData.plansNeedingAttention (null slaStatus, null plan ids); full-width plan rows with derived lateness; working links in the Next UI (new config tablePathPrefix, default /app); the app attaches itself to its parent app so Admin > Backups shows in the nav; nav lists main tables only (file objects no longer in nav); record screens in sections with child lists (scope rules, runs, artifacts, verifications, restores, per-table results) instead of one long list; test-scope BackupsDemoServer (memory backend, real engine runs incl. a failed one); screenshots in docs/screenshots. Tests: BackupsHomeTest, mvn verify green. Not merged: #5/#6/#7 (restore/verification screenshots come from a scratch merge, in docs/screenshots/with-restore-verify). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.