admin
66a69d4954
Stray-copy fix: the capped second-drive copy container never outlives the copy — fixed name + label, removed by name on any error (the timeout included), every leftover removed at start before the scheduler and web server; a restore is refused while a copy runs or may still run; --mount (refuses a path the daemon does not see) and the image ID with --pull never (review); red-proved; unreleased
gates / gates (push) Successful in 1m53s
2026-10-22 20:20:35 +02:00
admin
df78b6caae
night 2026-10-22: README (backup.volumes excluded, the capped second-drive copy), CONTEXT, REPORT — four fixes on main, not released (0.340.0 next)
...
gates / gates (push) Successful in 1m51s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
2026-10-22 18:11:45 +02:00
admin
ae394670c1
R-1214: the capped copy refuses any path with a symlink in it (security review: a link under /mnt pointing outside resolves elsewhere for the daemon); red-proved; unreleased
gates / gates (push) Successful in 1m53s
2026-10-22 17:51:14 +02:00
admin
03c0a693b8
R-1214: the second-drive copy runs in a 512 MB memory-capped container for /mnt paths (its page cache no longer evicts the apps) — measured on 9202; guarded against a path the daemon sees differently; unreleased
gates / gates (push) Successful in 1m40s
2026-10-22 17:47:19 +02:00
admin
d5f88a2182
R-1187 (c): refuse a .fab import over an installed app that is not running (it merged old and bundle data); R-1189 (d): the off-site proof + integrity check run after a catch-up; unreleased
gates / gates (push) Successful in 1m54s
2026-10-22 17:27:56 +02:00
admin
6a17c95815
R-49 (D21 = B): a template may exclude a named volume from every backup (backup.volumes, class excluded) — Immich's model cache; guarded, red-proved; unreleased
gates / gates (push) Successful in 1m50s
2026-10-22 16:21:38 +02:00
admin
cbc944c3c0
REPORT: v0.339.0 released (R-1199 reopened, R-1216)
gates / gates (push) Successful in 1m44s
2026-10-22 13:15:42 +02:00
admin
fc5a20f40a
v0.339.0: release — the household's mail list never overwritten (R-1199 reopened), the swap sentence only when swap is really short (R-1216); MinAgent 0.158.1
gates / gates (push) Successful in 1m58s
2026-10-22 12:57:24 +02:00
admin
add310c80a
R-1199 reopened: a box with no list of its own reads the household's from the hub and adopts it, pushes its default once only when no household saved one; every push names its source; an empty saved list stays empty; R-1216 (D28 = A): the install page's swap sentence only when host swap is really short (shared case table); unreleased
gates / gates (push) Successful in 1m55s
2026-10-22 12:13:26 +02:00
admin
08fa440d04
REPORT: v0.338.0 released (operator yes 2026-10-22): 3 test boxes through the floor, checks green, global floor set
gates / gates (push) Successful in 1m41s
2026-10-22 10:39:43 +02:00
admin
7900a32695
v0.338.0: release (operator yes 2026-10-22) — D22 restore put-back, first-hour words, swap sentence, R-1199; MinAgent 0.158.1
gates / gates (push) Successful in 1m41s
2026-10-22 09:51:27 +02:00
admin
1de8a559ed
REPORT: the night of 2026-10-21 (D22, words, R-1199; rc.2), unreleased
gates / gates (push) Successful in 1m40s
2026-10-22 00:06:36 +02:00
admin
f0abdd0eda
CHANGELOG: blank line before v0.337.0
gates / gates (push) Successful in 1m38s
2026-10-21 23:41:10 +02:00
admin
ba22f9b2d9
R-1199: a box whose household never saved its notification choice pushes the default list its page shows at start, so the hub mails by it; unreleased
gates / gates (push) Successful in 1m37s
2026-10-21 23:40:21 +02:00
admin
5776d54901
W21 sharing switched on without a password asks for it and says why it waits; W25 failed off-site run shows the household a sentence built from the classifier, raw text only to log and operator; W28 share restore skips the controller's drop-zone share; unreleased
gates / gates (push) Successful in 1m40s
2026-10-21 23:19:07 +02:00
admin
28b05d6d68
W13 new-drive pages pre-fill the next free hdd_N and answer a bad name visibly; W14 drive operator detail behind Részletek; W29 plain decommission names no move; unreleased
gates / gates (push) Successful in 1m37s
2026-10-21 22:51:08 +02:00
admin
8c1e290f63
W12 family names keep their accents, login made without them; W9 banner link colour; W10 recovery-code page one plain line; W11/W24 remote page hides provider login and key fields behind Haladó; unreleased
gates / gates (push) Successful in 1m33s
2026-10-21 22:35:24 +02:00
admin
37b79caad9
install page: say when the host has too little swap behind the guest (R-1192 follow-up); restore record log says when a cut restore was put back; unreleased
gates / gates (push) Successful in 1m36s
2026-10-21 22:11:16 +02:00
admin
d582feb245
D22: every restore puts the data back exactly on failure and after a power cut (R-1177, R-1195); whole restore asks the unit first (R-1178); no mirror during a restore (R-1180); W22 restore refusals in Hungarian; unreleased
gates / gates (push) Successful in 1m40s
2026-10-21 21:19:46 +02:00
admin
7848d4aaac
CHANGELOG: v0.337.0 (MinAgent 0.158.1)
gates / gates (push) Successful in 1m20s
2026-10-21 15:58:43 +02:00
admin
5929b8e345
kept second-drive copies (D25: R-1175, R-1181, R-1179); .fab import keeps the family gate (R-1191); stale restore temp (R-1188 c); the overcommit sentence made true (R-1192); escrow before the floor (R-1176); unreleased
gates / gates (push) Successful in 1m20s
2026-10-21 15:46:10 +02:00
admin
8f5bea0148
R-1182: a finished off-site abandonment closes on the hub's abandon_purge_done (hub v0.163.0 keeps other copies' packages); unreleased
gates / gates (push) Successful in 1m18s
2026-10-21 13:36:12 +02:00
admin
01c967e49e
monitoring page: storage labels follow the reader's language (W26, rehearsal 2026-10-20); unreleased
gates / gates (push) Successful in 1m11s
2026-10-20 22:36:19 +02:00
admin
7ca59e2de3
CHANGELOG + CONTEXT: v0.336.0 release line (the previous commit carried only REPORT)
gates / gates (push) Successful in 1m11s
2026-10-20 10:58:00 +02:00
admin
aa9e09e817
CHANGELOG + CONTEXT + REPORT: v0.336.0 released (floor 08:54 UTC, MinAgent 0.158.1) after the 9202 proof and the three test boxes
gates / gates (push) Successful in 1m8s
2026-10-20 10:56:59 +02:00
admin
93fb251ea9
R-893 option A (operator D20): a failed off-site restore puts the app's live volumes and definition back exactly and starts it; fit check before the stop; the held sentence made true (R-1169)
gates / gates (push) Successful in 1m11s
2026-10-20 09:17:00 +02:00
admin
ae2bfb2f7a
REPORT: the security-scan gate (R-986)
gates / gates (push) Successful in 1m9s
2026-10-19 21:48:13 +02:00
admin
a03c25aa1f
security-scan gate (shared felhom.eu/scripts/security_scan_gate.py) in the fast set and CI, warn-first, with the accepted-hits file and decoys (R-986)
gates / gates (push) Successful in 1m12s
2026-10-19 21:11:31 +02:00
admin
c4b3b0a039
REPORT: v0.335.0 is the floor (R-921)
gates / gates (push) Successful in 51s
2026-10-19 20:40:07 +02:00
admin
15ea002458
v0.335.0: no app stop for a tier the agent will refuse because its host is busy (host_busy pre-check, R-921)
gates / gates (push) Successful in 53s
2026-10-19 20:05:52 +02:00
admin
db980ff2cc
REPORT: v0.334.0 is the floor (R-1159)
gates / gates (push) Successful in 51s
2026-10-19 16:33:58 +02:00
admin
546eef37bd
v0.334.0: a live box refreshes its config with its own hub key (GET /box-config; R-1159, operator D19)
gates / gates (push) Successful in 49s
2026-10-19 15:55:10 +02:00
admin
e1a2abf1e3
REPORT: v0.333.0 is the floor (R-1155, R-1161)
gates / gates (push) Successful in 44s
2026-10-19 12:16:57 +02:00
admin
a6fa3c01d2
v0.333.0 (unreleased): the R-1155 check reads every token source FileBrowser reads, Basic auth included (security review)
gates / gates (push) Successful in 45s
2026-10-19 11:43:52 +02:00
admin
c809dd3bc6
v0.333.0: the file manager's own token ends with the dashboard sign-out (R-1155); the recovery-code page says the code becomes live after the check (R-1161)
gates / gates (push) Successful in 49s
2026-10-19 11:30:59 +02:00
admin
a741bc1d0f
CONTEXT + REPORT: v0.332.0 is the floor (R-1100 one sign-in, R-1151 escrow confirm)
gates / gates (push) Successful in 46s
2026-10-19 05:41:25 +02:00
admin
601bdba253
v0.332.0 (live rc.2 + security review): the pass redirect is absolute; no pass for a cross-site request; no dot-segments in to (R-1100)
gates / gates (push) Successful in 47s
2026-10-19 05:03:57 +02:00
admin
9bdd8f8fe8
v0.332.0: one sign-in for the file manager — a dashboard pass, a host-only files cookie, a per-box secret header (R-1100, operator D16)
gates / gates (push) Successful in 47s
2026-10-19 04:56:56 +02:00
admin
ba4a6f060b
The escrow wizard sends the typed-back words to the box; the new package reaches the hub only when they match (R-1151 controller half, unreleased; works with every agent)
gates / gates (push) Successful in 47s
2026-10-19 03:19:02 +02:00
admin
8ae9178138
v0.331.0: a removal deletes the volumes still labelled with the app's project that its definition no longer declares (R-1117)
...
gates / gates (push) Successful in 42s
compose down --volumes removes only the current definition's volumes; a volume a template dropped (or an older restore
re-created) survived 'remove with data' on 9202 (nextcloud_nextcloud_redis_data). Red-proofed.
2026-10-18 22:42:52 +02:00
admin
772ef36f5f
v0.331.0: OnlyOffice opens and saves from FileBrowser and Nextcloud; FileBrowser back at once after a restart (R-1018)
...
gates / gates (push) Successful in 48s
FileBrowser config carries server.internalUrl http://filebrowser:80 (OnlyOffice fetched the public files address and got 403);
Nextcloud's DocumentServerInternalUrl gets its trailing slash (every save was lost: http://onlyoffice:80cache/ ...);
RestartStack("filebrowser") runs the R-1126 gate at once (files.<domain> was 502 for up to 5 min after the link switched).
Each red-proofed. MinAgent 0.158.1.
2026-10-18 21:05:04 +02:00
admin
615940de35
CI workflow: the failure mail links the public run page, by run id (R-1135)
...
gates / gates (push) Successful in 51s
The alarm step built its link from GITHUB_SERVER_URL, which on this runner
is the in-cluster Gitea address, and from the run NUMBER, which Gitea 1.26
reads as a run id first (felhom.eu /actions/runs/1116 opened run id 1116 =
run number 613). Now https://gitea.dooplex.hu + GITHUB_RUN_ID, and the link
is printed into the job log as ALARM-LINK. Same change in all four repos.
2026-10-18 20:34:59 +02:00
admin
6c6bd87664
v0.330.0: „Végleges leszerelés — mégis" asks the agent's disk list first and starts again the apps it stopped when the agent refuses (R-1144)
...
gates / gates (push) Successful in 52s
Red-proofed twice. MinAgent 0.158.1.
2026-10-18 13:06:09 +02:00
admin
03ab121b25
v0.329.0 (review): an app named like another app's appdata folder gets no root; USERDATA_PATH is always derived, never the app's env
...
gates / gates (push) Successful in 46s
Security review of 2fe6341 (same night, before any release). Both red-proofed.
2026-10-17 23:22:54 +02:00
admin
2fe634141f
v0.329.0: each app reaches only its own appdata folder; empty allow-list; drive retirement asks the agent first; plain no-durable-id refusal; :latest only for a release
...
gates / gates (push) Successful in 45s
R-1142: the HDD_PATH root is appdata/<own folder>, with a compiled-in folder map (paperless-ngx ->
paperless). R-981: the allow-list is empty (homepage's socket served no Felhom feature). R-1063:
finalizeDecommissionWith asks the agent before it marks the drive or moves the default; the 403/409
come back typed and reach the household as a plain 409. R-1069: the agent's no-durable-id format
refusal is ErrNoDurableID and a plain sentence. R-1143: build.sh carries :latest only for x.y.z.
Each pinned by a red-proofed test. MinAgent 0.158.1.
2026-10-17 23:11:56 +02:00
admin
5d67041d6d
CI re-run: R-1142 and R-1143 (named in REPORT.md) are now in felhom.eu's register — job 2036 ran before they were pushed
...
gates / gates (push) Successful in 1m2s
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
2026-10-17 18:13:23 +02:00
admin
e30091bf27
REPORT/CONTEXT: agent 0.159.1, the catalog allow-list (controller v0.328.0), its catalog gate (2026-10-17)
...
gates / gates (push) Failing after 1m2s
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
2026-10-17 17:29:53 +02:00
admin
99f9117296
v0.328.0 (unreleased): live finding on 9201 (rc.4) — roots resolved through their nearest existing ancestor; no symlink resolve for the placeholder check
...
gates / gates (push) Successful in 45s
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
2026-10-17 16:52:09 +02:00
admin
09ac87a843
v0.328.0 (unreleased): security review round 3 — under HDD_PATH only appdata/ is a data root (not backups/)
...
gates / gates (push) Successful in 45s
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
2026-10-17 16:49:17 +02:00
admin
36c4aa4e69
v0.328.0 (unreleased): security review round 2 — nearest-ancestor symlink resolve (fail closed), any extends refused, the entry binds a literal image and its exact healthcheck, no variable in a bind's options
...
gates / gates (push) Successful in 44s
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
2026-10-17 16:46:32 +02:00