Commit Graph

  • 65a0134101 P3 sweep fixes: snap-row CSS, tree expand, --no-ownership drop, target path steve 2026-05-04 15:57:42 +01:00
  • c417b5e9ab P3-09 + P3-X3: snapshot diff + recent-restores line steve 2026-05-04 15:38:28 +01:00
  • 4c108bb68a P3-01/02/03: restore wizard backend + templates + restore-shaped job page steve 2026-05-04 15:34:29 +01:00
  • f5e3bca6a2 P3-03: restic restore + diff execution path steve 2026-05-04 15:24:14 +01:00
  • 13f58bd052 P3-X2: tree.list synchronous WS RPC + per-session cache steve 2026-05-04 15:19:22 +01:00
  • 94149a7324 P3-X1: cancel-job feature steve 2026-05-04 15:11:49 +01:00
  • d325a27439 docs: P3 restore design spec + scope-decompose Phase 3 steve 2026-05-04 15:02:32 +01:00
  • 8a42f20f8c Merge pull request 'P2 completion (P2R-09/10/11/12/13/14, P2-16/17/18)' (#5) from p2-completion into main steve 2026-05-04 13:19:05 +00:00
  • 1bf8c09808 docs: note Gitea repo + tea CLI in CLAUDE.md steve 2026-05-04 14:18:50 +01:00
  • 2095505edd tasks: tick P2 completion + Playwright sweep screenshots steve 2026-05-04 11:27:09 +01:00
  • ed6ccef31b deploy: P2-17 install.ps1 (Windows installer) steve 2026-05-04 11:15:18 +01:00
  • 8062db1f2f agent: P2-16 Windows service (SCM) integration steve 2026-05-04 11:13:56 +01:00
  • 4c81ff3e7b ui+server: P2-18d pending hosts dashboard panel + expiry sweeper steve 2026-05-04 11:11:32 +01:00
  • a46d906d27 agent: P2-18c announce-and-approve enrolment path steve 2026-05-04 11:09:47 +01:00
  • fd87218b3f server: P2-18b pending WS + admin accept/reject steve 2026-05-04 11:07:32 +01:00
  • cd80be3b13 store+server: P2-18a announce-and-approve schema + endpoint steve 2026-05-04 11:03:41 +01:00
  • a5a2cb91d0 ui: P2R-12 hook editor — source-group form + host-default Repo section steve 2026-05-04 11:00:28 +01:00
  • 7b1990cf11 agent+server: P2R-11 pre/post hook execution for backup jobs steve 2026-05-04 10:57:28 +01:00
  • 18b0bf976d store: P2R-10 schema for source-group + host-default hooks (migration 0010) steve 2026-05-04 10:52:16 +01:00
  • c9b49637d1 ui: P2R-09 auto-init UX — init line in chrome + danger-zone re-init steve 2026-05-04 10:49:57 +01:00
  • d02a093eeb ui+server: schedule next-run / last-run on dashboard + schedules tab steve 2026-05-04 10:44:31 +01:00
  • e6fc9e9963 ui+server: per-job bandwidth override on Run-now steve 2026-05-04 10:41:13 +01:00
  • cdf88c6dc3 agent+server: apply host bandwidth caps to restic invocations steve 2026-05-04 10:38:34 +01:00
  • 95ab3f4d16 Merge pull request 'tasks: tasks.md sync left behind by PR #3 merge' (#4) from tasks-md-phase5-sync into main steve 2026-05-04 09:26:42 +00:00
  • d6f3d84ba5 tasks: collapse Phase 5 header + fix P2R-03/04 cadence cross-refs steve 2026-05-04 10:25:28 +01:00
  • 609aaf741d Merge pull request 'P2 redesign Phase 5 — prune/check/unlock + maintenance ticker + repo stats + pending-runs queue' (#3) from p2r-phase5-maintenance into main steve 2026-05-04 09:25:00 +00:00
  • e850f6f44c test: poll pending-row count in drain-on-reconnect test (race fix) steve 2026-05-04 10:20:54 +01:00
  • 51a7ea302f test: write-then-rename script-bin helpers (avoid ETXTBSY under -race) steve 2026-05-04 09:43:27 +01:00
  • f94e8ec967 api+agent: document protocol-version stability and forget back-compat decisions steve 2026-05-04 00:33:51 +01:00
  • adece5eb72 server: serialize DrainPending per host (avoid drain double-dispatch) steve 2026-05-04 00:33:13 +01:00
  • 9ec69456fe store: LatestJobByKind includes in-flight jobs (avoid maintenance double-fire) steve 2026-05-04 00:29:52 +01:00
  • 5bcb20dfce tasks: tick P2R-03 through P2R-08 done steve 2026-05-04 00:20:19 +01:00
  • f103b14c62 diag: phase 5 Playwright sweep screenshots steve 2026-05-04 00:19:50 +01:00
  • 6af5a945ce server/ws: persist repo.stats into host_repo_stats steve 2026-05-04 00:10:41 +01:00
  • e0eae0a96f server: drainer abandons only on ErrNotFound, not transient errors steve 2026-05-04 00:07:33 +01:00
  • d6dcdd5ec4 server: drainer uses dispatch-core to avoid duplicate pending_run enqueue steve 2026-05-04 00:01:42 +01:00
  • 5b4a590508 server: drain pending_runs on tick + on agent reconnect steve 2026-05-03 23:57:08 +01:00
  • 18a4f74a22 server: enqueue pending_runs when scheduled-job dispatch fails steve 2026-05-03 23:53:57 +01:00
  • aba0b7e177 server: fix stale RetentionPolicy comment + check Scan errors in maintenance test steve 2026-05-03 23:50:05 +01:00
  • 14b703be58 server: maintenance ticker drives forget/prune/check on cadence steve 2026-05-03 23:40:35 +01:00
  • ae96983877 maintenance: pure-logic ticker decides forget/prune/check fires steve 2026-05-03 23:36:48 +01:00
  • 6f204a6877 ui: hx-swap none on Run-now + truthful save banner + tailwind rebuild steve 2026-05-03 23:29:01 +01:00
  • c5b52df7ed ui: Slice E — admin creds form + run-now buttons + repo health panel steve 2026-05-03 23:18:16 +01:00
  • e2d94bf3a2 server: populate audit UserID on credential mutations + slog prune push errors steve 2026-05-03 23:09:09 +01:00
  • c5f401e99b server: cover HTMX auth-redirect path in repo-ops tests steve 2026-05-03 23:00:38 +01:00
  • 69abc40786 server: HTTP run-now for prune / check / unlock steve 2026-05-03 22:57:07 +01:00
  • 35f07c3cee server: admin-credentials REST + Slot:admin push helper steve 2026-05-03 22:55:09 +01:00
  • a110e3c00c agent: secrets fail-loud on corrupt blob + small polish steve 2026-05-03 22:49:12 +01:00
  • 22adde36b3 agent/runner: ship repo.stats before job.finished in RunCheck/RunUnlock steve 2026-05-03 22:43:57 +01:00
  • 57bf9690f2 agent: RunPrune/RunCheck/RunUnlock + reportStats + admin-cred slot dispatch steve 2026-05-03 22:39:23 +01:00
  • c1237583bd agent/secrets: separate admin slot with backwards-compatible decode steve 2026-05-03 22:34:33 +01:00
  • 0c3c907de8 api: stats partial-update payload + ConfigUpdate.Slot + CommandRun.RequiresAdminCreds steve 2026-05-03 22:33:12 +01:00
  • e93eb2a060 restic: tighten RunCheck lock sniff + RunStats zero-snapshot test steve 2026-05-03 22:29:09 +01:00
  • 485f4322cb restic: RunUnlock + RunStats (raw-data mode) steve 2026-05-03 22:22:19 +01:00
  • b24faf6de7 restic: RunCheck with subset% + lock-state sniffing steve 2026-05-03 22:21:48 +01:00
  • 9b790bbade restic: RunPrune + runWithPump helper, refactor Forget/Init onto it steve 2026-05-03 22:20:48 +01:00
  • 11cbc2fb7f store: tighten CHECK constraint on host_repo_stats.last_check_status steve 2026-05-03 22:15:57 +01:00
  • 5200e44536 store: wrap UpsertHostRepoStats in a transaction (concurrency safety) steve 2026-05-03 22:15:35 +01:00
  • 84a8c060b6 store: assert CHECK constraint on host_credentials.kind steve 2026-05-03 22:10:29 +01:00
  • cfe25b9799 store: HostRepoStats projection (size, lock, last-check, last-prune) steve 2026-05-03 22:07:24 +01:00
  • f801fdf65b store: host_credentials becomes kind-aware (repo + admin slots) steve 2026-05-03 22:06:05 +01:00
  • 9f2cb18e42 store: migration 0009 — admin-creds kind + host_repo_stats steve 2026-05-03 22:05:53 +01:00
  • e73c4bd96c infra: remove provision-gitea-runner.sh (now lives with the infra team) steve 2026-05-04 10:19:09 +01:00
  • bd460d7532 ci+infra: provisioning script for gitea runners + drop setup-go cache steve 2026-05-04 09:40:27 +01:00
  • 2ba2c9c7db Merge pull request 'P2R-02: UI rewire against the slim-schedule + source-group model' (#2) from p2r-02-ui-rebuild into main steve 2026-05-03 20:34:02 +00:00
  • 380931b3a8 lint: align local gofumpt rules with golangci-lint v2.5.0 steve 2026-05-03 21:31:47 +01:00
  • d9c8da139c ci: bump golangci-lint to v2.5.0 (Go 1.25-built binary) steve 2026-05-03 21:29:02 +01:00
  • 174bdae750 ci: enforce lint locally via pre-commit hook steve 2026-05-03 21:26:24 +01:00
  • b6f8de1dcc lint: drive baseline to zero, drop only-new-issues gate steve 2026-05-03 16:15:17 +01:00
  • 41c3ec7c6f ci: migrate .golangci.yml to v2 schema + only-new-issues gate steve 2026-05-03 15:00:24 +01:00
  • 8b57b8a06d P2R-02 — mark Phase 4 complete, all 6 slices done steve 2026-05-03 14:49:40 +01:00
  • a4823193e7 P2R-02 slice 5: dashboard row Run-now uses covering schedule steve 2026-05-03 13:42:50 +01:00
  • 5f2845c331 agent runner: drop status-event spam from log.stream steve 2026-05-03 13:35:18 +01:00
  • e45f75598f P2R-02 follow-up: schedule Run-now feedback (single → job log, multi → toast) steve 2026-05-03 13:25:31 +01:00
  • 9ac5088fde P2R-02 slice 4: Repo tab — connection / bandwidth / maintenance steve 2026-05-03 12:14:03 +01:00
  • 0b70da2955 P2R-02 follow-up: Run-now works on disabled schedules with confirm steve 2026-05-03 12:07:26 +01:00
  • 54528b9b15 P2R-02 follow-up: clickable rows on Sources/Schedules + cron-preset tooltips steve 2026-05-03 12:01:55 +01:00
  • 8d993ac77c P2R-02 slice 3: Schedules tab — slim list, new/edit form, delete, Run-now steve 2026-05-03 11:55:16 +01:00
  • 27a995e812 P2R-02 slice 2 follow-up: refuse to delete a host's last source group steve 2026-05-03 11:49:17 +01:00
  • da9ed4c3d4 P2R-02 slice 2: Sources tab — list, new/edit form, delete, Run-now steve 2026-05-03 11:44:43 +01:00
  • 079b4bed70 P2R-02 slice 1: host-detail sub-tab skeleton steve 2026-05-03 11:37:55 +01:00
  • 84914fd6c5 ci: only trigger on PRs into main steve 2026-05-03 11:25:13 +01:00
  • c019633b77 ci: fix race-trip in enrollment fixture + bump golangci-lint to v2.1.6 steve 2026-05-03 11:13:22 +01:00
  • d692272d10 P2R-01 follow-up: WS-path tests + drop unused retention from backup dispatch steve 2026-05-03 11:00:45 +01:00
  • ec0bf0f6c3 P2R-01: REST + WS rewire against the slim shape steve 2026-05-03 10:56:40 +01:00
  • 0735038ea8 fix(.mcp.json): wrap playwright under mcpServers key steve 2026-05-03 10:35:57 +01:00
  • e6657c23ff P2 redesign · phase 2.5: tasks.md rewrite + UI patch-up steve 2026-05-03 09:13:05 +01:00
  • e7eea7afac P2 redesign · phase 2: store rewrite — sources, slim schedules, repo maintenance steve 2026-05-02 21:30:41 +01:00
  • e717b6998c design: v4 wireframes for P2 redesign (sources / schedules / repo) steve 2026-05-02 20:54:14 +01:00
  • 49ecb7c771 P2 redesign · phase 1: migration 0008 — sources + repo maintenance steve 2026-05-02 20:54:01 +01:00
  • 6a171596f1 P2-05: forget command with retention policy steve 2026-05-02 14:07:42 +01:00
  • 457a7e049c ui: stop Run-now buttons wrapping to two lines steve 2026-05-02 13:59:42 +01:00
  • 413d0bdb1b restic: don't fall back to parent's HOME when picking the cache dir steve 2026-05-02 13:43:10 +01:00
  • 047c1d1912 agent unit: drop SystemCallFilter — was killing restic with SIGSYS steve 2026-05-02 13:40:43 +01:00
  • c46024c03a Add CLAUDE.md with project-specific rules steve 2026-05-02 13:33:20 +01:00
  • f692ad592c restic: treat 'config file already exists' on init as soft success steve 2026-05-02 13:22:01 +01:00
  • c5777122db Add-host: default repo username to hostname; always show htpasswd snippet steve 2026-05-02 13:08:23 +01:00
  • c1f85da55f Add-host: durable pending page + polled awaiting-agent panel steve 2026-05-02 12:59:24 +01:00
  • 8fb1c100fd P2-04.5: kill host.default_paths in favour of manual schedules steve 2026-05-02 12:26:06 +01:00
  • c6237d4004 P2-04: schedule editor UI steve 2026-05-02 11:44:40 +01:00