Sessie afgesloten: waar we staan met Evolu Relay
De app draait als 0.3.0 en wordt gebruikt: kale relay met een eigen eigenaars-allowlist, statuspagina achter de umbrelOS-inlog, en TLS via Zoraxy op een eigen subdomein waar de handshake 101 geeft. De desktop synchroniseert eroverheen, met een geleerde eigenaar en een gesloten deur erna. iOS blijft open, en het vermoeden van vanmiddag is weerlegd in plaats van bevestigd: TLS was niet de verklaring. Met een geldig certificaat, een opgeslagen URL en de sync-schakelaar aan komt er nog steeds niets aan, en sinds 0.3.0 is dat hard gemeten in plaats van afgeleid: het relay-proces logt elke eigenaar die zich meldt, ook bekende en geweigerde, en van de telefoon verschijnt niets. Daarmee is de hele app vrijgepleit. De volgende stap staat als eerste taak en kost een minuut: kijken of het verzoek de telefoon uberhaupt verlaat, via het log van Zoraxy. Doordat iOS niet meedoet is de leeskant nooit gemeten. Dat is de tweede taak en hij hangt aan de eerste, want iOS zou die tweede client zijn. Proefopstelling is hiermee volledig ingehaald: beide vragen die dat plan nog bezat zijn beantwoord, en wat er verder in stond gaat over een pakket dat niet meer bestaat. Dat staat als een beslissing in de index, niet als een daad. De reparatie aan Electrum Gate heeft een eigen entry gekregen in het plan Webinterface, want die app ging kapot door de tweede app en dat hoort daar nagelezen te kunnen worden. Tests: alle vier groen (34, 54, 39 en 61 goed, 0 fout). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,18 @@
|
||||
# Voortgang - Webinterface
|
||||
|
||||
## 28-08-2026 - deze pagina ging kapot door een andere app, en dat was te voorzien
|
||||
|
||||
Geen werk aan dit plan; wel een reparatie die er thuishoort. `nginx.conf.template` proxyde naar
|
||||
`http://agent:8000`, en dat werkte zolang Electrum Gate de enige app met een service `agent` was. Sinds
|
||||
Evolu Relay er een heeft, verdeelt Docker die naam over beide containers: van tien verzoeken kwamen er vijf
|
||||
bij de verkeerde app uit. Op de pagina zag dat eruit als waarden die kwamen en gingen.
|
||||
|
||||
Beide apps wijzen nu naar `<app-id>_agent_1`. Dat is dezelfde les die al in de compose stond over de
|
||||
servicenaam `server`, en die stond alleen daar en niet in de nginx-config. `test_appstore_vorm.py` toetst
|
||||
het nu voor elke app, dus deze fout kan niet meer stil terugkomen.
|
||||
|
||||
Uitgerold als 0.0.23. **Geraakt:** `nginx.conf.template` en `umbrel-app.yml`. **Tests:** alle vier groen.
|
||||
|
||||
## 27-08-2026 - de nieuwe widget vond meteen een fout, en die zat in de widget zelf
|
||||
|
||||
De gebruiker heeft 0.0.17 bekeken: het werkt, met een lijst bijstellingen. Verwerkt in 0.0.18. De
|
||||
|
||||
@@ -96,11 +96,34 @@
|
||||
het internet bereikbaar zonder enige toegangscontrole. De kale relay op een LAN is iets anders dan de
|
||||
kale relay op een publiek subdomein.
|
||||
|
||||
**Goedkoopste volgende meting, en die kost niets:** op de telefoon controleren of de synchronisatie
|
||||
überhaupt aangaat en of het apparaat om een bevestiging vraagt. Is het antwoord nee, dan is TLS niet de
|
||||
verdachte en zou een certificaat niets opgelost hebben.
|
||||
**Moment:** nadat de verbouwing staat; de desktop werkt en dat is genoeg om verder te bouwen ·
|
||||
**Eigenaar:** gebruiker
|
||||
**Stand aan het eind van 28-08-2026, en het vermoeden is weerlegd.** TLS is er inmiddels: Zoraxy zet
|
||||
het subdomein door naar de relay, de handshake-curl geeft `101 Switching Protocols`, en de Mac
|
||||
synchroniseert daar overheen. Op iOS is daarna alles ingesteld wat er in te stellen valt: de relay-URL
|
||||
staat opgeslagen en overleeft een herstart, en de aparte schakelaar voor Suite Sync staat aan. De app
|
||||
toont geen enkele foutmelding.
|
||||
|
||||
**En er komt nog steeds niets aan.** Dat is nu hard gemeten en geen indruk meer: sinds 0.3.0 logt het
|
||||
relay-proces élke eigenaar die zich meldt, ook een bekende en ook een geweigerde. Bij elke verbinding
|
||||
van de Mac verschijnt `owner ... connected`; van de telefoon verschijnt niets. Geen verbinding, geen
|
||||
weigering, geen poging. Daarmee is de hele app vrijgepleit: allowlist, quota, beleid en opslag komen er
|
||||
niet aan te pas.
|
||||
|
||||
Ook uitgesloten: dat het aan de wallet zou liggen. Een `OwnerId` hoort bij een wallet en niet bij een
|
||||
apparaat (zie [Upstream-evolu-relay.md](../../../Referenties/Upstream-evolu-relay.md) §0 punt 5), dus
|
||||
dezelfde wallet op iOS zou een `OwnerId` opleveren die al toegelaten is. Een andere wallet zou als
|
||||
geweigerde poging zichtbaar zijn geweest. Geen van beide gebeurt.
|
||||
|
||||
**Wat nog niet gemeten is, en dat is de volgende stap:** verlaat het verzoek de telefoon überhaupt?
|
||||
Zoraxy logt elk verzoek dat het subdomein bereikt. Open op de iPhone `https://<subdomein>/` in Safari
|
||||
en kijk of die regel verschijnt. De pagina toont niets, want het is een WebSocket-server, maar de
|
||||
logregel is het antwoord:
|
||||
|
||||
- **wél een regel** → route, DNS, certificaat en Zoraxy zijn in orde, en dan belt de app gewoon niet.
|
||||
Dat is dan een tekortkoming van de cliënt en niet van dit pakket;
|
||||
- **geen regel** → de telefoon bereikt die naam niet. Dan is het DNS of routering: mobiel netwerk in
|
||||
plaats van WiFi, of een subdomein dat alleen in de interne DNS bestaat.
|
||||
|
||||
**Moment:** de volgende sessie, als eerste taak van dit punt · **Eigenaar:** gebruiker
|
||||
|
||||
8. **Welke limiter komt er op de kale relay?** - **beslist op 28-08-2026: weg 1, de relay uitbreiden via
|
||||
`createRelay`.** Het ontwerp staat in [PLAN.md](PLAN.md) §4g en bleek veel kleiner dan hieronder
|
||||
|
||||
@@ -3,6 +3,28 @@
|
||||
> Chronologisch sessielog, nieuwste bovenaan. Kort: 3 tot 6 regels per entry. Wat er is gebeurd en waarom,
|
||||
> niet wat er nog moet: dat staat in [TAKEN.md](TAKEN.md).
|
||||
|
||||
## 28-08-2026 (slot) - de app draait en wordt gebruikt; iOS doet niet mee
|
||||
|
||||
Het pakket is af en geïnstalleerd als 0.3.0. De Mac synchroniseert eroverheen, over TLS via Zoraxy op een
|
||||
eigen subdomein; de handshake-curl geeft daar `101 Switching Protocols`. De allowlist werkt in beide
|
||||
richtingen: een eigenaar geleerd, de deur gesloten, en een tweede eigenaar die daarna aanklopte alsnog
|
||||
toegelaten met de knop op de pagina.
|
||||
|
||||
**Twee dingen die uit echt gebruik kwamen en die geen nadenken had opgeleverd.** Eén cliënt kan meer dan
|
||||
één eigenaar hebben, want een `OwnerId` hoort bij een wallet en niet bij een apparaat; "de eerste eigenaar
|
||||
wint" sloot daarmee de tweede wallet van de gebruiker buiten. En de korte containernaam `agent` is op het
|
||||
gedeelde Docker-netwerk niet uniek, waardoor de helft van de verzoeken bij Electrum Gate uitkwam en die app
|
||||
kapotging. Beide zijn gerepareerd, de tweede met een toets erop.
|
||||
|
||||
**iOS blijft open en het vermoeden is weerlegd.** TLS was niet de verklaring: met een geldig certificaat,
|
||||
een opgeslagen URL en de sync-schakelaar aan komt er nog steeds niets aan. Sinds 0.3.0 logt de relay élke
|
||||
eigenaar die zich meldt, ook bekende en geweigerde, en van de telefoon verschijnt niets. De volgende stap
|
||||
staat in [OPEN.md](OPEN.md) punt 9: kijken of het verzoek de telefoon überhaupt verlaat, via het log van
|
||||
Zoraxy.
|
||||
|
||||
**Geraakt:** de hele app-map, `tools/evolu-relay/`, `tests/`, `CLAUDE.md`, `whatsnext-electrum-gate/` en de
|
||||
documentatie. **Tests:** alle vier groen.
|
||||
|
||||
## 28-08-2026 (avond) - het pakket is omgebouwd: relay, agent en pagina
|
||||
|
||||
De app-map is nu de kale relay met onze allowlist eromheen. De poorten zijn omgedraaid: de statuspagina
|
||||
|
||||
@@ -19,13 +19,13 @@
|
||||
van 40960 naar 49152 bytes. **De protocolversie klopt**, en daarmee is de richting uit
|
||||
[OPEN.md](OPEN.md) punt 6 gemeten in plaats van verwacht. Het protocol en alle metingen staan in
|
||||
[PLAN.md](PLAN.md) §6a
|
||||
- [ ] **De leeskant nog meten.** Er is geen tweede cliënt geweest, dus dat een ander apparaat die labels
|
||||
terugkrijgt is niet gezien. **Eigenaar: gebruiker**
|
||||
- [ ] **Uitzoeken waarom de iOS-app geen verbinding maakt.** Het veld voor de relay-URL bestaat daar,
|
||||
valideert op `http(s)://` en onthoudt zijn waarde, maar er komt geen enkele poging aan op poort 4000.
|
||||
Nu de desktop bewijst dat de relay in orde is, is dit een schone vraag geworden: het ligt aan de app
|
||||
of aan het platform, niet aan ons. Zonder antwoord werkt de app alleen op de desktop, en dat scheelt
|
||||
voor de waarde van dit hele plan
|
||||
- [ ] **Kijken of het verzoek de iPhone überhaupt verlaat.** Dit is de volgende stap van dit plan, en hij
|
||||
kost een minuut: open op de telefoon `https://<subdomein>/` in Safari en kijk of Zoraxy een regel
|
||||
logt. Wél een regel betekent dat de app niet belt; geen regel betekent dat de telefoon die naam niet
|
||||
bereikt. Zie [OPEN.md](OPEN.md) punt 9 voor alles wat al uitgesloten is. **Eigenaar: gebruiker**
|
||||
- [ ] **De leeskant nog meten.** Er is nooit een tweede werkende cliënt geweest, dus dat een ander apparaat
|
||||
de labels terugkrijgt is niet gezien. Dit hangt aan de vorige taak: iOS zou die tweede cliënt zijn.
|
||||
**Eigenaar: gebruiker**
|
||||
- [x] **Besloten wat er met het huidige pakket gebeurt (28-08-2026): het gaat eruit.** De relay van Trezor,
|
||||
de quota-manager en de Postgres vervallen. Wat ervoor in de plaats komt staat in [PLAN.md](PLAN.md)
|
||||
§4g en §4h
|
||||
@@ -38,8 +38,13 @@
|
||||
|
||||
## Fase 5 - De verbouwing naar de kale relay
|
||||
|
||||
Nog niets van begonnen. De volgorde is bewust: eerst het programma dat de limiter draagt, dan de app
|
||||
eromheen, want de compose hangt af van wat dat programma nodig heeft.
|
||||
**Op 28-08-2026 in één sessie gedaan en op het apparaat draaiend, versie 0.3.0.** Wat er staat: het eigen
|
||||
relay-programma met de allowlist, het bouwrecept, de compose met de omgedraaide poorten, de statuspagina, en
|
||||
TLS via Zoraxy op een eigen subdomein. De Mac synchroniseert eroverheen, met een geleerde eigenaar en een
|
||||
gesloten deur erna.
|
||||
|
||||
Wat er niet staat: iOS doet niets mee, en daardoor is de leeskant nooit gemeten. Beide staan hierboven bij
|
||||
"Volgende stap".
|
||||
|
||||
- [x] **Het eigen relay-programma geschreven (28-08-2026).** `tools/evolu-relay/src/`: `policy.js` met het
|
||||
beleid als pure functies, `store.js` voor de staat op schijf, en `index.js` dat `createRelay`
|
||||
|
||||
Reference in New Issue
Block a user