De pagina van Evolu Relay op de lijst van de gebruiker
Negen punten uit echt gebruik met 0.4.0, alle negen gedaan. Twee ervan waren onderzoeksvragen en die staan onderaan. Evolu Relay 0.5.0 - Een tijdvenster van twee minuten voor nieuwe eigenaars, met een stopknop. De teller zit in het relay-proces en niet in de pagina: een teller in een tabblad dat je sluit, sluit de deur niet. policy.js kreeg learningUntil, isLearningOpen en expireLearning. - decideOwner kijkt naar isLearningOpen en niet naar het veld learning. De lus die een verlopen venster opruimt loopt elke twee seconden, en in dat gat zou een onbekende alsnog binnenkomen. - Zonder STATE_VERSION te verhogen, met een toets die dat verdedigt: een verhoging zou de allowlist van de draaiende installatie laten afwijzen en de deur sluiten voor eigenaars die er al in stonden. - Labels op een eigenaar-id, in een eigen labels.json met de agent als enige schrijver. Een label zegt niets over toegang, dus de relay hoeft het niet te weten; het is daardoor meteen opgeslagen en werkt ook als de relay omligt. - Geblokkeerde en geweigerde eigenaars in een kader, met een badge die zegt welke van de twee het is. De badge staat buiten het hover-blok, anders is dat onderscheid onzichtbaar tenzij je over de regel gaat. - Maatvoering gelijk aan Electrum Gate: 1760px, hetzelfde raster, icoon van 64 pixels, dezelfde kop, versienummer erachter. Uitleg uit de kaders, knoppen pas bij hover, geen voetregel. Electrum Gate 0.0.24 - Menu-item "About this app", in beide apps. - De statuswidget zei "Answering" met "answered in 7 ms, from inside the app" en zegt nu "Running" met de meting eronder. De nuance dat de controle van container naar container loopt is verplaatst naar een eigen kopje in die dialoog, waar er ruimte voor is; vier woorden waren te weinig. Toetsen en gereedschap - tests/test_relay_agent.py (nieuw, 65 toetsen) en tests/test_paginas_parsen.mjs (nieuw). Muteertests gedraaid op de beslissende regels. - Een dollarteken-toets in test_appstore_vorm.py. Het commentaar in drie bestanden beweerde al dat die test bestond; nu is dat waar. - Een toets dat er geen werkbestanden in een app-map staan. umbreld kopieert de hele map naar het apparaat en in de back-up. - tools/voorbeeldpagina.mjs maakt van een *.template een pagina die je in een browser kunt openen. Dat vond meteen twee echte opmaakfouten. De twee onderzoeksvragen - Een geweigerde eigenaar komt niet in de database: isOwnerAllowed zit in de WebSocket-upgrade, dus het is een 401 en een gesloten socket. Het gewenste gevolg treedt wel op, via de client: die is local-first en levert bij toelating de hele geschiedenis. Blokkeren werkt daarentegen pas bij de volgende verbinding, en dat staat als open punt. - De blobs zijn niet met een xpub te ontcijferen; een OwnerId komt daar niet uit. Met de SLIP-21-node van het apparaat kan het wel, maar die geeft volledige zeggenschap, dus dat hoort niet in een relay. Als plan-punt opgenomen bij de tool in HomeGit/Trezor. Nog niet uitgerold: de image 0.5.0 moet gebouwd en geduwd worden. De digest staat daarom niet in de compose, want een oude digest onder een nieuwe tag levert stil de oude relay. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -9,6 +9,50 @@
|
||||
|
||||
## Nog te beslissen
|
||||
|
||||
10. **Wat doen we ermee dat blokkeren pas bij de volgende verbinding werkt?**
|
||||
|
||||
Gevonden op 30-08-2026 bij het uitzoeken van open vraag over geweigerde eigenaars; de bronregels staan
|
||||
in [Upstream-evolu-relay.md](../../../Referenties/Upstream-evolu-relay.md) §10.
|
||||
|
||||
`isOwnerAllowed` wordt door de relay van Evolu aangeroepen in de **WebSocket-upgrade** en daarna nooit
|
||||
meer voor die verbinding. Gevolg: de knop **Block** op de statuspagina houdt een eigenaar buiten bij zijn
|
||||
volgende verbinding, maar niet nu. Zolang zijn socket openstaat, blijft hij schrijven. Bij een
|
||||
sync-cliënt die zijn verbinding lang openhoudt kan dat lang duren.
|
||||
|
||||
Wat er dus scheelt, is niet de knop maar wat hij belooft. Drie wegen, van goedkoop naar goed:
|
||||
|
||||
- **niets doen en het zeggen.** Een regel in de dialoog "About this app" dat blokkeren bij de volgende
|
||||
verbinding ingaat. Kost niets en het is eerlijk, maar het lost het niet op;
|
||||
- **de relay opnieuw laten starten na een block.** Dan vallen alle verbindingen weg en wordt de vraag
|
||||
voor iedereen opnieuw gesteld. Grof, want het raakt ook de eigenaars die niets gedaan hebben, en het
|
||||
is precies het soort ingreep waarvoor deze store geen Docker-socket wil hebben;
|
||||
- **kijken of Evolu een weg biedt om een verbinding te sluiten.** Niet uitgezocht. `createRelay` geeft
|
||||
een `Relay` terug en wat daarop zit is nog niet nagelezen. Dit is de enige weg die het echt oplost.
|
||||
|
||||
Er is nog geen aanleiding om dit nu te doen: er is één gebruiker en die blokkeert zijn eigen apparaten.
|
||||
Het staat hier zodat het niet als verrassing terugkomt.
|
||||
**Moment:** zodra iemand een eigenaar blokkeert die niet van hemzelf is · **Eigenaar:** gebruiker beslist
|
||||
welke van de drie
|
||||
|
||||
11. **Nemen we onderhoudsfuncties op die de inhoud kennen?** - **beslist op 30-08-2026: nee, niet in deze
|
||||
app.**
|
||||
|
||||
De vraag van de gebruiker was of de app de blobs kan ontcijferen, want dan zouden er onderhoudsfuncties
|
||||
bij kunnen. Technisch kan het, maar niet met een xpub: er is een 32-byte SLIP-21-node van het apparaat
|
||||
voor nodig, en die geeft **volledige** zeggenschap over de gegevens van die wallet, niet alleen
|
||||
leesrecht. Zie [Upstream-evolu-relay.md](../../../Referenties/Upstream-evolu-relay.md) §11.
|
||||
|
||||
De reden om het niet te doen is de reden dat deze app bestaat: de hele grond waarop je een relay bij wie
|
||||
dan ook kunt neerzetten, is dat hij de sleutel niet heeft. Zet je hem erin, dan is dat weg, en wel voor
|
||||
de kopie die op een apparaat staat dat aan het internet hangt. De beschrijving in het manifest zegt
|
||||
letterlijk dat de relay de sleutel nooit heeft; dat zou dan niet meer waar zijn.
|
||||
|
||||
**Waar het wél hoort is de tool in `HomeGit/Trezor`**, die al met `trezorlib` tegen het apparaat praat en
|
||||
de sleutel dus legitiem in handen heeft. Daar staat het als plan-punt bij **AdvancedUI**.
|
||||
|
||||
Wat deze app zónder sleutel wél kan blijven doen: rijen per `OwnerId` opruimen. Dat staat al als taak in
|
||||
[TAKEN.md](TAKEN.md) fase 5.
|
||||
|
||||
6. **Pakketteren we wel de juiste relay?** - **beslist op 28-08-2026 door de proef: nee, en het wordt de
|
||||
kale Evolu-relay.** Dit punt blijft hier staan tot de verbouwing gedaan is, want het beschrijft de reden
|
||||
waarom het huidige pakket eruit gaat. De volledige meting staat in [PLAN.md](PLAN.md) §6a.
|
||||
|
||||
Reference in New Issue
Block a user