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
+13
View File
@@ -19,6 +19,19 @@ De regel is: **verhoog je `VERSION`, dan verhoog je ook het manifest; andersom n
> geschreven uit de `releaseNotes` in het manifest en uit `PROGRESS.md` van het plan **Umbrelapp**. Ze zijn
> daarom korter dan de rest.
## 0.5.4 - 31-08-2026
**Alleen de pagina, dus geen nieuwe image.**
De statuswidget staat nu **rechts** in de bovenste rij in plaats van links, en heet **Status** in
plaats van **Relay** (keuze gebruiker). Gelijk aan Electrum Gate, en dat is de reden: de twee
pagina's zijn één app store en horen op dezelfde manier te lezen. Het is bovendien de widget die als
enige begrijpelijk is zonder buur, dus hij is de juiste om alleen op een regel te belanden als het
scherm versmalt.
De id's `relay-state` en `relay-sub` blijven zoals ze zijn: dat is nog steeds waar de waarde vandaan
komt, en hernoemen zou alleen het JavaScript raken zonder dat iemand er iets aan heeft.
## 0.5.3 - 31-08-2026
**Alleen de pagina, dus geen nieuwe image.** `VERSION` in `tools/evolu-relay/build.sh` blijft op 0.5.0.
+2 -2
View File
@@ -29,9 +29,9 @@
| Plan | App | Volgende stap | Status |
|-|-|-|-|
| [Umbrelapp](Plannen/Actief/008-Umbrelapp/TAKEN.md) | Relay | **0.5.3 staat klaar (31-08-2026): "Running" weer in de accentkleur en op een telefoon terug naar de vlakke stand.** Daarvóór 0.5.2 (31-08-2026): de opfrisbeurt uit het gedeelde designsysteem** (accentgloed, doorschijnende kaarten met randlicht en schaduw, één hoek voor elk buitenste kader, het volle accentpalet met oranje als stand). Alleen de pagina, dus geen nieuwe image. **Nog nakijken op het apparaat, en dat is een blik.** Daarvóór stond er: **0.5.1 staat klaar en de pagina is af op de lijst van de gebruiker (30-08-2026):** tijdvenster van twee minuten met de teller in het relay-proces, labels op een eigenaar-id, geblokkeerd en geweigerd in één kader, maatvoering gelijk aan Electrum Gate. De image is dezelfde dag op de Umbrel gebouwd, geduwd en gepind. **Volgende stap is van de gebruiker en is een blik, geen sessie:** verversen, updaten, en dan de drie dingen nakijken die alleen het apparaat kan zeggen (teller met de pagina dicht, label na een herstart, het adres achter de app-proxy). Wat daarna nog open is: data per eigenaar wissen, en een `package-lock.json`. **Het pinnen van `python:3-alpine` en `nginx:alpine` is bewust géén werk meer hier** en wacht op Eigenimage; zie [KNOWLEDGE.md](KNOWLEDGE.md) | 🔶 |
| [Umbrelapp](Plannen/Actief/008-Umbrelapp/TAKEN.md) | Relay | **0.5.4 staat klaar (31-08-2026): de statuswidget staat rechts en heet Status, gelijk aan Electrum Gate.** Daarvóór 0.5.3 (31-08-2026): "Running" weer in de accentkleur en op een telefoon terug naar de vlakke stand.** Daarvóór 0.5.2 (31-08-2026): de opfrisbeurt uit het gedeelde designsysteem** (accentgloed, doorschijnende kaarten met randlicht en schaduw, één hoek voor elk buitenste kader, het volle accentpalet met oranje als stand). Alleen de pagina, dus geen nieuwe image. **Nog nakijken op het apparaat, en dat is een blik.** Daarvóór stond er: **0.5.1 staat klaar en de pagina is af op de lijst van de gebruiker (30-08-2026):** tijdvenster van twee minuten met de teller in het relay-proces, labels op een eigenaar-id, geblokkeerd en geweigerd in één kader, maatvoering gelijk aan Electrum Gate. De image is dezelfde dag op de Umbrel gebouwd, geduwd en gepind. **Volgende stap is van de gebruiker en is een blik, geen sessie:** verversen, updaten, en dan de drie dingen nakijken die alleen het apparaat kan zeggen (teller met de pagina dicht, label na een herstart, het adres achter de app-proxy). Wat daarna nog open is: data per eigenaar wissen, en een `package-lock.json`. **Het pinnen van `python:3-alpine` en `nginx:alpine` is bewust géén werk meer hier** en wacht op Eigenimage; zie [KNOWLEDGE.md](KNOWLEDGE.md) | 🔶 |
| [Proefopstelling](Plannen/Actief/007-Proefopstelling/TAKEN.md) | Relay | **Volledig ingehaald op 28-08-2026 en klaar voor het archief.** Beide vragen die het nog bezat zijn beantwoord door **Umbrelapp**: Trezor Suite accepteert een eigen relay, en een eigenaar registreren is niet meer nodig sinds de quota-manager eruit is. Wat er in fase 2 en 3 stond gaat over een pakket dat niet meer bestaat. **Eén beslissing van de gebruiker: opheffen of laten staan** | 🔶 |
| [Webinterface](Plannen/Actief/005-Webinterface/TAKEN.md) | Gate | **0.0.26 (31-08-2026): "Running" weer in de accentkleur en op een telefoon terug naar de vlakke stand.** Daarvóór 0.0.25 (31-08-2026): dezelfde opfrisbeurt als de Relay**, uit het gedeelde designsysteem, plus een reparatie die daarbij aan het licht kwam: `prefers-reduced-motion` zette per ongeluk de hele opmaak plat, omdat die wens met `prefers-reduced-transparency` in één media-query stond. **Nog nakijken op het apparaat.** Daarvóór: **De pagina is af en goedgekeurd, op een breed scherm én op een telefoon (27-08-2026).** Op 28-08-2026 kapotgegaan door de tweede app en gerepareerd in 0.0.23. In 0.0.24 (30-08-2026) is de statuswidget van "Answering" naar "Running" gegaan en is er een menu-item "About this app" bij gekomen; dat kwam uit het werk aan Evolu Relay, waar de gebruiker de twee pagina's naast elkaar zag. **Nog nakijken op het apparaat, en dat is een blik en geen sessie.** Wat er verder staat wacht op tijd (het activiteitenlog een etmaal laten lopen) of is een beslissing van de gebruiker (waar Nginx Proxy Manager zijn certificaten neerzet, en of Zoraxy een harde afhankelijkheid wordt) | 🔶 |
| [Webinterface](Plannen/Actief/005-Webinterface/TAKEN.md) | Gate | **0.0.27 (31-08-2026): de statuskaart loog vijf minuten na elke herstart.** De agent mat vóórdat nginx luisterde (die start ná de agent) en herhaalde pas na vijf minuten; nu slaat de eerste ronde over en wordt een mislukking binnen een minuut herhaald. Daarvóór 0.0.26 (31-08-2026): "Running" weer in de accentkleur en op een telefoon terug naar de vlakke stand.** Daarvóór 0.0.25 (31-08-2026): dezelfde opfrisbeurt als de Relay**, uit het gedeelde designsysteem, plus een reparatie die daarbij aan het licht kwam: `prefers-reduced-motion` zette per ongeluk de hele opmaak plat, omdat die wens met `prefers-reduced-transparency` in één media-query stond. **Nog nakijken op het apparaat.** Daarvóór: **De pagina is af en goedgekeurd, op een breed scherm én op een telefoon (27-08-2026).** Op 28-08-2026 kapotgegaan door de tweede app en gerepareerd in 0.0.23. In 0.0.24 (30-08-2026) is de statuswidget van "Answering" naar "Running" gegaan en is er een menu-item "About this app" bij gekomen; dat kwam uit het werk aan Evolu Relay, waar de gebruiker de twee pagina's naast elkaar zag. **Nog nakijken op het apparaat, en dat is een blik en geen sessie.** Wat er verder staat wacht op tijd (het activiteitenlog een etmaal laten lopen) of is een beslissing van de gebruiker (waar Nginx Proxy Manager zijn certificaten neerzet, en of Zoraxy een harde afhankelijkheid wordt) | 🔶 |
| [Appstore](Plannen/Actief/010-Appstore/TAKEN.md) | Gate | De repo `ElectrumTLS` weghalen op de Git-server; daar staat het domein nog in de historie. **De omschakeling naar Fulcrum is op 27-08-2026 gelukt zonder aanpassing**, dus daarvan is alleen de herstartcontrole nog over, en die komt vanzelf bij de eerstvolgende herstart | 🔶 |
## C - Wacht op afhankelijkheid