admin
a3ed63ee9a
fix(R-1187): the import's compose runs get the controller's path variables; a compose warning is never read as the container id
...
gates / gates (push) Successful in 50s
Found live on 9202 (grimmory import timed out on the DB step and left the app down). Red-proved.
2026-10-26 21:38:47 +01:00
admin
a1c65b3d81
R-1300: SECURITY — cloudflared 2026.10.3 on main (same change as tag v0.345.1); build.sh may push from the pushed tag v<VERSION>
...
gates / gates (push) Successful in 1m19s
infra.CloudflaredImage 2026.9.3 -> 2026.10.3 (Cloudflare's eMudhra notice, 2026-10-20) and
TestEnsureCloudflared_ANewImageRecreatesTheTunnel (red-proved). build.sh: a --push may build from
the tag v<VERSION> as the server has it, pointing at HEAD (operator's yes 2026-10-26); four new
cases in test_build_push_once.sh, red-proved both ways. MinAgent 0.158.1 unchanged.
2026-10-26 21:01:40 +01:00
admin
2560cf1779
build(R-972): Go 1.27.3 + golang:1.27.3-trixie builder (GO-2026-6809) — govulncheck 1 → 0 called
gates / gates (push) Successful in 1m21s
2026-10-26 20:42:35 +01:00
admin
cccb9aee84
fix(R-1187 b): restored links point only downward — no absolute target, no '..', no link on the way
...
gates / gates (push) Successful in 54s
Third automated security review finding, red-proved.
2026-10-26 20:33:26 +01:00
admin
f24233c829
fix(R-1187 b): refuse a link whose parent path passes through a link; born keys listed; psql --set
...
gates / gates (push) Successful in 1m7s
Second automated security review finding, red-proved. The go-parity and docker -v gates that refused the push are green.
2026-10-26 20:30:34 +01:00
admin
106325de43
fix(R-1187 b): the import writes only through os.Root — never through a link that leaves the app's folder
...
Found by the automated security review of dfd0f8e . Red-proved. Commit only.
2026-10-26 20:28:04 +01:00
admin
b156e4526a
fix(R-1298): held-app reports only for installed apps (a restore hold always)
...
Red-proved. Commit only.
2026-10-26 20:26:44 +01:00
admin
dfd0f8ec53
fix(R-1187 a,b,d,f,g): .fab — links carried and restored safely, FIFOs refused, owners kept, busy and bad-path refusals, postgis + ON_ERROR_STOP
...
Red-proved (6 tests). Commit only.
2026-10-26 20:26:02 +01:00
admin
1170b48e59
fix(R-1218, R-1219): stage the off-site password when its file exists; no recovery ceremony during a recovery offer
...
R-1218: escrowStart stages when OffboxRepoPasswordOnBox() (not OffboxConfigured()). R-1219: the top bar hides during an
offer; the start handler answers 409 (api.escrow.recovery_offer_open, hu+en) before staging. Red-proved. Commit only.
2026-10-26 20:20:59 +01:00
admin
7e15a374b2
fix(R-1220): an unreadable app.yaml counts as installed — its folders are never kept data
...
liveDriveBinds(drives): an app whose app.yaml exists but does not parse binds every folder its compose names on
every drive (fail closed); WARN per app. Red-proved (the live folder was listed). Commit only.
2026-10-26 20:13:44 +01:00
admin
e333477b11
docs: REPORT — D53 (committed, not released; live-proven on 9202 against a test hub)
gates / gates (push) Successful in 58s
2026-10-26 19:16:59 +01:00
admin
5bd03ad152
feat(D53): the hub learns which apps are held — app_held / app_hold_cleared, daily repeat
...
gates / gates (push) Successful in 54s
internal/holdreport: one observer of the hold store, ticked every minute; app_held for a new or changed
hold (stack_name, reason, since, why), app_hold_cleared when gone (also while the controller was down:
settings.reported_holds), every hold again daily and at start. Severity info. RestoreHold.Why/WireReason
(holdWhy calls it). 8 tests, red-proved (inert Tick; unwired scheduler line). Commit only (felhom.eu 08 §10).
2026-10-26 18:23:54 +01:00
admin
20cf4bccfd
docs: CONTEXT — D53 ruled, the held-app report is next (felhom.eu 08 §10)
gates / gates (push) Successful in 55s
2026-10-26 18:07:22 +01:00
admin
5ce54a5076
REPORT: the 2026-10-26 afternoon run. Docs only.
gates / gates (push) Successful in 1m37s
2026-10-26 14:37:53 +01:00
admin
6bfb784c4d
v0.345.0: release header (R-1292, live on Tester 1); README
gates / gates (push) Successful in 1m32s
2026-10-26 14:12:37 +01:00
admin
26191911c4
R-1292: qBittorrent's 50 % rule owns the NORMAL limit only (up_limit through app/preferences), never the current speed mode's slot. Test with the alternative mode on, red-proved. Commit only.
gates / gates (push) Successful in 1m32s
2026-10-26 13:01:31 +01:00
admin
3d711ee611
REPORT: the 2026-10-26 attended release run; CHANGELOG: v0.344.0 RELEASED (floor 09:07:47 UTC). Docs only.
gates / gates (push) Successful in 1m39s
2026-10-26 10:37:41 +01:00
admin
0a59044105
v0.344.0: release header (upgrade note: the file manager restarts once); README — R-1261, R-1281, R-1288, R-1278, R-1286, R-1282
gates / gates (push) Successful in 1m32s
2026-10-26 09:04:30 +01:00
admin
9c1dfdd71f
REPORT: the 2026-10-25 night — committed fixes, CI by hash, teardown. Docs only.
gates / gates (push) Successful in 1m41s
2026-10-25 23:53:46 +01:00
admin
fbec5cb499
R-1278: the install page says when a backup of an earlier install is kept and links the restore page (HU and EN). Red-proved. Commit only.
gates / gates (push) Successful in 1m33s
2026-10-25 23:32:01 +01:00
admin
7ea942a118
R-1281: FileBrowser is served on its own felhom-files network (traefik, and OnlyOffice while linked) and leaves traefik-public, so no app container reaches it. R-1126's check-then-publish gate unchanged. Red-proved. Commit only.
gates / gates (push) Successful in 1m29s
2026-10-25 22:26:45 +01:00
admin
838c834169
R-1286: a held app says why it is held — each hold reason gets its own sentence in the start gate, the boot sweep and --restore-holds (an unhealthy stop read as a failed restore). Red-proved. Commit only.
gates / gates (push) Successful in 1m28s
2026-10-25 22:05:23 +01:00
admin
b5863a96eb
R-1288: a restore of a set-aside unit sets the replaced install's unit aside at once, with no alarm. R-1282: the later media restart time is stored and resumed at start, once. Red-proved. Commit only.
gates / gates (push) Successful in 1m26s
2026-10-25 21:37:55 +01:00
admin
a79a292d72
R-1261: the line hold holds every running seeder, drops the record of an app removed while held, and puts back the qBittorrent slot it held (alternative speed). Red-proved. Commit only.
gates / gates (push) Successful in 1m29s
2026-10-25 20:38:28 +01:00
admin
fe9837708a
v0.343.0 released (global floor 17:53:42 UTC on the operator's yes): CHANGELOG header, REPORT
gates / gates (push) Successful in 1m27s
2026-10-25 19:02:08 +01:00
admin
e2a976198d
v0.343.0: release header; README — fix A (stable start), fix B (.fab downloads first), D47 set-aside line
gates / gates (push) Successful in 1m21s
2026-10-25 18:02:52 +01:00
admin
935e624f10
D47 follow-up: a set-aside tells the operator once (backup_run_failures, leg unit-set-aside, both identities, own run id). Red-proved. Commit only.
gates / gates (push) Successful in 1m33s
2026-10-25 17:19:08 +01:00
admin
3a1f09d29f
Fix A (found live on 9202): the container sampler reads docker inspect JSON — a -f template stopped at 'no entry for key Health' for every app without a healthcheck, so a healthy restore read 'not started'. Commit only.
gates / gates (push) Successful in 1m27s
2026-10-25 17:02:32 +01:00
admin
1ee0353dbd
Fix A: the container sampler keeps Docker's stderr in its error (a live run on 9202 logged only 'exit status 1'). Commit only.
gates / gates (push) Successful in 1m24s
2026-10-25 16:56:04 +01:00
admin
35232de80d
Fix A: the stable-start sampler says at DEBUG why a sample is not ok (a live run on 9202 judged a healthy app unstable; the reason was not logged). Commit only.
gates / gates (push) Successful in 1m24s
2026-10-25 16:43:57 +01:00
admin
2149a13378
Fix A, the page too: the restore's first verdict needs a stable 45 s after the 90 s health wait on every path, so an app that runs, crashes and restarts reads „not started yet”; the copy still waits the full 3 minutes. Red-proved. Commit only.
gates / gates (push) Successful in 1m30s
2026-10-25 13:06:06 +01:00
admin
7720439440
D49 = A follow-ups: (A) the undo copy is released only after a stable start — 3 min of running, healthy, no restart, one rule for the first verdict and the late-start watch; a watch ends only for a restore begun after it; (B, R-1279) the .fab import downloads first with the restores' D48 helper, before it removes anything. Red-proved. Commit only.
gates / gates (push) Successful in 1m26s
2026-10-25 12:45:33 +01:00
admin
e8d2151a77
Restore-truth run close-out: REPORT (D47, D48, R-1270, R-1271; CI by hash; live proofs on 9202). Commit only.
gates / gates (push) Successful in 1m28s
2026-10-25 11:00:09 +01:00
admin
1f8295918e
R-1270 follow-up (found live on 9202): remove with „delete its backups too” deletes the app's restore-undo folder too — a not-started restore's kept copy outlived the remove; the wiring test also pins the D47 set-aside removal. Red-proved. Commit only.
gates / gates (push) Successful in 1m29s
2026-10-25 10:36:20 +01:00
admin
1f9c863f79
D47 follow-up (found live on 9202): the kept-copies list („Megőrzött másolatok”) shows on a box without off-site too — it sat only inside the off-site card, so 9202 never listed a set-aside unit or a D25 copy; one named template, two call sites, parity fixtures unchanged. Red-proved. Commit only.
gates / gates (push) Successful in 1m26s
2026-10-25 10:01:56 +01:00
admin
bd9f4f7b74
R-1271 (P2): „use my kept data” never takes a copy dated in the future — a copy more than 10 minutes past the box's clock never counts as the newest (the newest true date wins, tie local); alone it is still offered, said and not recommended. Red-proved. Commit only.
gates / gates (push) Successful in 1m33s
2026-10-25 09:44:56 +01:00
admin
2d71270858
D48: a restore downloads first — every restore path resolves and pulls every image of the definition that will run before the stop, under the image-work lock held until the restore returns; a failed pull refuses with the app untouched (a deleted version and a busy registry read differently), one operator line. Red-proved. Commit only.
gates / gates (push) Successful in 1m26s
2026-10-25 09:38:28 +01:00
admin
b680db85cb
R-1270 (P2): a restore whose app does not reach running in time is never a success — every restore path returns ErrRestoreNotStarted, the household reads that the data is back but the app has not started yet, one operator alarm; the data stays, the undo copy is kept, a late start turns the record into a success and releases the copy. Red-proved. Commit only.
gates / gates (push) Successful in 1m32s
2026-10-25 09:33:26 +01:00
admin
02daebe9c5
D47 / R-1269 (P2): a new install never writes into an earlier install's backup — every install has an identity (install_id), the unit records it, every unit writer asks first; another install's unit is set aside whole (backups/set-aside/<app>/<stamp>, a D25 kept copy, „Visszaállítás” + „Eltávolítás” on the restore page); a move that fails refuses the write. Red-proved. Commit only.
gates / gates (push) Successful in 1m33s
2026-10-25 09:27:48 +01:00
admin
e1613aea8d
Restore-holes run close-out: README, CONTEXT, REPORT; the interrupted-restore log line names a waiting put-back. Commit only.
gates / gates (push) Successful in 1m18s
2026-10-24 21:03:34 +02:00
admin
c9b4b82dc7
R-1253 (P2): an export that stops its app refuses while another operation (a restore) holds the app-stop marker — its Undo is never replaced. Commit only.
gates / gates (push) Successful in 1m28s
2026-10-24 20:29:59 +02:00
admin
518a13592d
R-1252 (P2): a rejected or absent backup block never deletes second-drive copies — reconcile only on a valid classification; a rejected block is said on the app's status and once a day to the operator (backup_run_failures); kept copies stay kept (H2); Remove drops the kept records it deleted (H9). Commit only.
gates / gates (push) Successful in 1m18s
2026-10-24 20:07:16 +02:00
admin
062f9b41d9
R-1251: sync the restore copy's folders before the marker names it (a cut left undo.json as .tmp on Tester 1); the interrupted-restore record says the put-back waits, not 'run it again'. Commit only.
gates / gates (push) Successful in 1m24s
2026-10-24 19:36:32 +02:00
admin
bb2809dc68
R-1251 (P1): a pending put-back blocks every start — a cut restore's copy on an unbound drive waits (a restore hold), is poured back when the drive binds before any start; a failed put-back holds the app (H2); Stop during a restore still puts back (H7). Commit only, unreleased.
gates / gates (push) Successful in 1m18s
2026-10-24 19:07:02 +02:00
admin
2449223f10
Review round 2 docs: REUSE.md — D22 released (v0.338.0), recordInstalledImages callers, a row for the stray-copy seams; no code change
gates / gates (push) Successful in 1m20s
2026-10-24 16:00:25 +02:00
admin
b01bb4b88d
Review round 2: a media restart no longer starts an app the household stopped (R-721); the file manager's header name file appears whole (R-1100 race, 44/300 -> 0/300); both red-proved; unreleased
gates / gates (push) Successful in 1m22s
2026-10-24 15:26:56 +02:00
admin
321df1f87a
README §8e + REPORT: R-1250 hold, live proof on demo-hp
gates / gates (push) Successful in 1m24s
2026-10-24 13:48:15 +02:00
admin
046b808792
upwatch: hold a seeding torrent app for one line test, then put its limit back exactly (R-1250)
...
gates / gates (push) Successful in 1m22s
When the agent waits for quiet and qBittorrent or Transmission runs: record the limit first,
hold at 1 KiB/s, ask the agent for a test on request, put the old limit back (deferred; a
household change during the test stays). Start-up puts back a limit a killed controller left;
the 50 % rule skips while a hold record exists. Commit only.
2026-10-24 13:19:07 +02:00
admin
bddc477e22
CHANGELOG: v0.342.0 released (the upload and CPU watch, the tested line, qBittorrent's limit); REPORT
gates / gates (push) Successful in 1m28s
2026-10-24 10:28:53 +02:00
admin
42cda07b42
v0.342.0 (unreleased): the watch's start line no longer says the line is learnt only from the off-site push
gates / gates (push) Successful in 1m22s
2026-10-24 09:58:13 +02:00