30 lines
2.1 KiB
Markdown
30 lines
2.1 KiB
Markdown
# REPORT — controller v0.346.0 RELEASED; the line-test hold fixed the same day (2026-10-27, attended)
|
||
|
||
**Plain words first.** Controller 0.346.0 is out on every box (global floor 15:37 CET, MinAgent 0.158.1). It carries
|
||
last night's data-safety fixes and one fix made today: a box that seeds torrents all day now gets its weekly line test.
|
||
The old hold asked the line test too early — qBittorrent keeps sending for about 14 seconds after it is slowed — so
|
||
the test was refused every time. Now the controller waits until the app has really slowed down.
|
||
|
||
## What 0.346.0 carries
|
||
|
||
D53 held-app reports (R-1291), R-1220, R-1218 + R-1219, R-1187 (a)(b)(d)(f)(g) and the two import defects, R-1298,
|
||
Go 1.27.3 (R-972), and **R-1250** (`710ceac`). CHANGELOG `## v0.346.0`.
|
||
|
||
## R-1250 (`710ceac`)
|
||
|
||
- Before (0.345.1 on demo-hp 9201, a throwaway qBittorrent seeding to DooPlex): four holds 11:36–12:21 CET, each
|
||
refused „not quiet" 4.0–4.2 Mbit/s. Per-second reads: qBittorrent reports its limit 1024 within a second but sends
|
||
at full speed ~14 s; the forwarder and UDP queues hold nothing (felhom.eu `audits/linetest-2026-10-27/`).
|
||
- Fix: `upwatch.waitDrained` — after the hold, poll each held app's own upload (`Holdable.UploadRate`: qBittorrent
|
||
`up_info_speed`, Transmission `uploadSpeed`) until ≤ 16 KiB/s twice, 2 s apart; at most 90 s; an unreadable speed
|
||
waits 20 s; then ask the agent. Tests `linehold_r1250_drain_test.go` (five), red-proved by four mutations.
|
||
- After (0.346.0-rc.1 on 9201): held 13:39:56 → slowed after 22 s → 94.5 Mbit/s → the limit back exactly; the 50 % rule
|
||
kept the normal slot (0.15 % move).
|
||
|
||
## Release
|
||
|
||
rc.1 by hand on 9201 and Tester 1 (9202 was in another session's use); `b1b9be3` (CI 2423) built as 0.346.0
|
||
(`sha256:3d910b03…`); per-box floors 15:09 CET → all three on 0.346.0 („update successful"); box walk green (start
|
||
logs 0 errors, every app healthy, `https_only_check.py` green, held-apps lists match 0 = 0); global floor 15:37 CET,
|
||
30-min watch. R-1218's live proof was waived by the operator (felhom.eu `09` §3 decision 270).
|