Gate 0.0.27: de statuskaart loog na elke herstart. Relay 0.5.4: Status naar rechts

De melding van de gebruiker was "Not answering" met [Errno 111] Connection refused, terwijl de
gateway van buiten gewoon werkte. Het was een startvolgorde en geen storing:

1. de compose laat `server` ná de agent starten (depends_on: [agent]), want nginx lost
   http://agent:8000 bij het starten op en breekt af op een onbekende naam;
2. build_status draait meteen bij het opstarten, vóór de eerste WAKE.wait;
3. de branch die de meting uitstelt hing alleen aan `reloaded`, en die is bij een herstart met een
   ongewijzigd certificaat False, dus er werd gemeten;
4. nginx luisterde toen nog niet op 50022;
5. en het bleef staan, want de volgende meting kwam pas na SELF_CHECK_INTERVAL.

Twee reparaties, elk voor een helft. De eerste ronde van een proces meet niet maar zet `pending`
(die toestand heeft geen `at`, dus de ronde daarna meet gewoon), en na een mislukking wordt er na
GATE_SELF_CHECK_RETRY (60s) opnieuw gemeten in plaats van na 300. Een geslaagde meting blijft op
300, want dat is de waarde die zelden verandert en die het activiteitenlog belast.

De fout zat er sinds de zelfcontrole bestaat (27-08-2026) en was alleen binnen vijf minuten na een
herstart te zien. Mutatie-getest: de eerste-rondebranch uitschakelen laat twee tests omvallen, de
snelle herhaling uitschakelen precies één.

Relay: de statuswidget staat nu rechts in de bovenste rij en heet Status in plaats van Relay, gelijk
aan Electrum Gate. De twee pagina's zijn één app store en horen op dezelfde manier te lezen, en dit
is de widget die als enige begrijpelijk is zonder buur. De id's relay-state en relay-sub blijven.

Suite groen: 54 + 28 + 65 + 39 + 43 + 22 + 115.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Harmen
2026-08-31 12:14:37 +02:00
co-authored by Claude Opus 5
parent 63f1557713
commit 5ee21b10e7
8 changed files with 234 additions and 15 deletions
+26
View File
@@ -8,6 +8,32 @@ Wat er nog moet gebeuren staat **niet** hier maar in de plannen; zie [CONTINUE_H
Een lijst met geplande features op twee plekken loopt uit elkaar, en dan is geen van beide meer te
vertrouwen.
## [0.0.27] - 2026-08-31
### Fixed
- **Na elke herstart of update las de statuskaart vijf minuten lang "Not answering"** met
`[Errno 111] Connection refused` eronder, terwijl de gateway van buiten gewoon werkte. Gemeld door
de gebruiker. Het was een startvolgorde en geen storing, en de keten is de moeite van het
onthouden waard:
1. de compose laat `server` ná de agent starten (`depends_on: [agent]`, want nginx lost
`http://agent:8000` bij het starten op en breekt af op een onbekende naam);
2. `build_status` draait meteen bij het opstarten, vóór de eerste `WAKE.wait`;
3. de branch die de meting uitstelt hing alleen aan `reloaded`, en die is bij een herstart met een
ongewijzigd certificaat `False`. Er werd dus gemeten;
4. nginx luisterde toen nog niet op 50022, dus `ECONNREFUSED`;
5. en dat bleef staan, want de volgende meting kwam pas na `SELF_CHECK_INTERVAL`.
Twee reparaties, elk voor een helft. **De eerste ronde van een proces meet niet** maar zet
`pending`, zodat de kaart "Checking" toont in plaats van een onwaarheid; die toestand heeft geen
`at`, dus de ronde daarna meet gewoon. En **na een mislukking wordt er na
`GATE_SELF_CHECK_RETRY` (60 seconden) opnieuw gemeten** in plaats van na 300. Een geslaagde meting
blijft op 300, want dat is de waarde die zelden verandert en die het activiteitenlog belast.
Deze fout zat er sinds de zelfcontrole bestaat (27-08-2026); je moest er binnen vijf minuten na een
herstart naar kijken om hem te zien. Vastgelegd in `tests/test_agent_zelfcontrole.py`, mutatie-getest.
## [0.0.26] - 2026-08-31
### Changed