From e333477b1106f40761c1fc237f2eabae27516177 Mon Sep 17 00:00:00 2001 From: kisfenyo Date: Mon, 26 Oct 2026 19:16:59 +0100 Subject: [PATCH] =?UTF-8?q?docs:=20REPORT=20=E2=80=94=20D53=20(committed,?= =?UTF-8?q?=20not=20released;=20live-proven=20on=209202=20against=20a=20te?= =?UTF-8?q?st=20hub)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- REPORT.md | 41 +++++++++++++++++++---------------------- 1 file changed, 19 insertions(+), 22 deletions(-) diff --git a/REPORT.md b/REPORT.md index 311a822b..91edf8d5 100644 --- a/REPORT.md +++ b/REPORT.md @@ -1,27 +1,24 @@ -# REPORT — controller v0.345.0 released (2026-10-26 afternoon, attended at the STOPs) +# REPORT — D53: the hub learns which apps are held — committed, NOT released (2026-10-26 evening) -**Plain words first.** Every live box runs 0.345.0 (global floor 13:27:04 UTC, MinAgent 0.158.1, on the operator's yes). -The one change: qBittorrent's 50 % upload rule now sets only the NORMAL limit. Before, with the household's „alternative -speed" on, it changed the alternative limit or gave up for good (R-1292, closed). +**Plain words first.** A held app (stopped on purpose until a person acts) now reaches the hub: the box sends one +message when a hold appears or changes, one when it goes, and repeats every hold once a day. The hub shows the list +and mails the operator after a waiting time (felhom.eu `7e57e824`). Not released (this run allows no release). -## Release +## The change (`5bd03ad`, CI 2377 ✓) -- Image `felhom-controller:0.345.0`, sha256 `2dc2c0a5ad34d08ebe4b8ae7b48708f00ff36ec36bc8249d6be7ecdff933a069`, from - `6bfb784` (CI 2368 ✓); the fix `2619191` (CI 2365 ✓). Test image `0.345.0-rc.1` on 9202 (then back to 0.343.0 as found) - and Tester 1. -- Per-box floors for Tester 1, demo-hp, demo-felhom → each „Post-update startup: update successful", healthy; the - https-only check green on all three; then the global floor (read back from the hub DB with its WAL and the hub log); - the per-box floors cleared. +- `internal/holdreport`: one observer of the hold store, ticked every minute by the scheduler (`hold-report`). It sends + `app_held` (stack, reason, since, the hold's sentence) for a new or changed hold, `app_hold_cleared` when a hold is + gone — also one cleared while the controller was down (`settings.reported_holds`) — and every hold again daily and at + start. Severity info. +- `settings.RestoreHold.Why()` / `WireReason()`: the hold sentence lives in one place (`holdWhy` calls it); the legacy + empty reason is sent as `restore_failed`. +- Tests `internal/holdreport/holdreport_test.go` (8). Red-proved: an inert `Tick` failed all six behaviour tests; the + scheduler line commented out failed the wiring test. -## The fix (R-1292) +## Live proof (felhom.eu `documentation/audits/d53-held-apps-2026-10-26/`) -`internal/upwatch/qblimit.go`: `QBLimiter` is `NormalLimit`/`SetNormalLimit` — `up_limit` through `app/preferences` (the -R-1261 slot helpers), never `transfer/uploadLimit`/`setUploadLimit` (they act on the current speed mode's slot). -Test `TestR1292_TheRuleSetsTheNormalSlotWhileTheAlternativeIsOn`, red-proved against the current-mode calls. -**Live on Tester 1** (9202 has no tested line, so the rule never acts there): alternative speed ON with a 500 KiB/s -alternative limit → the first tick set the normal limit to 5892096 B/s (50 % of 94.3 Mbit/s), the alternative stayed; -after a switch back and one more tick the limit was still the box's own. Evidence: felhom.eu -`documentation/audits/r1292-qb-normal-slot-2026-10-26/` (run 1 was an instrument failure in the probe, kept). - -**Observation (NOT-A-FINDING):** 9202's first FileBrowser round after leaving 0.343.0 logged „could not join felhom-files" -again (healed in 3 s; log only); every live box is past that move. +9202 ran a local-only image of this commit (`0.346.0-d53test`, never pushed to the registry) against a test hub process. +A throwaway Radicale, crashed seven times, was stopped and held by the box (17:37:52Z); `app_held` reached the hub at the +next tick; one operator reminder after the 3-minute test grace; the household's Start lifted the hold and +`app_hold_cleared` removed the row. The first tick also reported four holds 9202 has carried since 2026-09-24 for apps +that are not installed (felhom.eu R-1298). 9202 is back on 0.343.0 with its own config.