This website requires JavaScript.
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