From f029144572129d47552bf00525dc593dab30c206 Mon Sep 17 00:00:00 2001 From: Harmen Date: Fri, 28 Aug 2026 11:51:41 +0200 Subject: [PATCH] De pagina werkt op het apparaat, en de uitleg volgt nu de schakelaar De hele keten is gemeten: de knop Close schreef een opdracht, de agent legde hem in de postbus, het relay-proces paste hem toe en schreef hem weg, en de pagina las de nieuwe toestand terug. De leerstand staat op closed en de geleerde eigenaar staat in de lijst met eerste en laatste verschijning. Dat was het laatste stuk van dit pakket dat nog nooit gelopen had. Wat daarbij opviel: de uitleg onder de schakelaar bleef de open toestand beschrijven terwijl hij dicht stond. Hij volgt nu de toestand, met een derde tekst voor het geval de relay nog niets gemeld heeft. Versie naar 0.2.2. De vorige stond mogelijk al geinstalleerd, en zonder verhoging bereikt een gewijzigde template geen bestaande installatie. Tests: test_appstore_vorm 34 goed, 0 fout. Co-Authored-By: Claude Opus 5 --- Docs/Plannen/Actief/008-Umbrelapp/TAKEN.md | 10 +++++++--- whatsnext-evolu-relay/index.html.template | 6 ++++++ whatsnext-evolu-relay/umbrel-app.yml | 5 +++-- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/Docs/Plannen/Actief/008-Umbrelapp/TAKEN.md b/Docs/Plannen/Actief/008-Umbrelapp/TAKEN.md index ab91117..8aaf6a6 100644 --- a/Docs/Plannen/Actief/008-Umbrelapp/TAKEN.md +++ b/Docs/Plannen/Actief/008-Umbrelapp/TAKEN.md @@ -76,9 +76,13 @@ eromheen, want de compose hangt af van wat dat programma nodig heeft. `evolu-relay.db` van 49152 bytes (dezelfde omvang als bij de proef van vanochtend, dus de labels zijn geland) en `owners.json` van 241 bytes. Daarmee is de hele keten gemeten: `isOwnerAllowed` wordt aangeroepen met iets wat het beleid begrijpt, de leerstand werkt, en de allowlist gaat naar schijf -- [ ] **De pagina en de agent op het apparaat verifiëren.** Dat deel is nog ongetest gedrag: de agent is - alleen op syntaxis gecontroleerd, de pagina is nooit gerenderd, en of een knop daadwerkelijk bij het - relay-proces aankomt is niet gemeten. **Eigenaar: gebruiker** +- [x] **De pagina en de agent op het apparaat geverifieerd (28-08-2026).** De pagina rendert, toont de + gegevens van de relay, en de knop **Close** werkt: de leerstand ging naar `closed` en de geleerde + eigenaar staat in de lijst met eerste en laatste verschijning. Daarmee is de hele keten gemeten, + pagina → agent → postbus → relay-proces → schijf → pagina +- [x] **De fout die dat opleverde is gerepareerd:** de korte containernaam `agent` is op het gedeelde + Docker-netwerk niet uniek, dus de helft van de verzoeken kwam bij Electrum Gate uit. Beide apps + wijzen nu naar `_agent_1`, en `test_appstore_vorm.py` toetst dat voortaan - [ ] **De app opnieuw installeren in plaats van updaten.** De gebruiker heeft de oude installatie op 28-08-2026 weggehaald; dat is ook de nette weg, want niet elk bestand bereikt een bestaande installatie via een update diff --git a/whatsnext-evolu-relay/index.html.template b/whatsnext-evolu-relay/index.html.template index 0592530..38217d0 100644 --- a/whatsnext-evolu-relay/index.html.template +++ b/whatsnext-evolu-relay/index.html.template @@ -428,18 +428,24 @@ footer { color: var(--text-ter); font-size: 0.78rem; text-align: center; margin- var learningPill = document.getElementById('learning-state'); var toggle = document.getElementById('learning-toggle'); + var learningHint = document.getElementById('learning-hint'); if (status.owners.learning === true) { setPill(learningPill, 'open', 'ok'); toggle.textContent = 'Close'; toggle.disabled = false; + learningHint.textContent = 'The next device that connects is accepted and remembered. Close ' + + 'this once your own devices are paired.'; } else if (status.owners.learning === false) { setPill(learningPill, 'closed', 'unknown'); toggle.textContent = 'Open'; toggle.disabled = false; + learningHint.textContent = 'Devices that are not on the list below are refused. Open this only ' + + 'while you pair another device of your own, then close it again.'; } else { setPill(learningPill, 'unknown', 'unknown'); toggle.textContent = 'Loading'; toggle.disabled = true; + learningHint.textContent = 'The relay has not reported this yet.'; } toggle.onclick = function () { send({ action: 'set-learning', value: status.owners.learning !== true }); diff --git a/whatsnext-evolu-relay/umbrel-app.yml b/whatsnext-evolu-relay/umbrel-app.yml index ae0577f..91850cc 100644 --- a/whatsnext-evolu-relay/umbrel-app.yml +++ b/whatsnext-evolu-relay/umbrel-app.yml @@ -11,7 +11,7 @@ manifestVersion: 1 id: whatsnext-evolu-relay category: files name: Evolu Relay -version: "0.2.1" +version: "0.2.2" tagline: Encrypted sync and backup for your local-first apps description: >- Local-first apps keep your data on your own device and work whether or not you have a @@ -49,7 +49,8 @@ releaseNotes: >- This release also drops the wording that tied the app to one particular client. It is a general - purpose Evolu relay: any app built on Evolu can use it. + purpose Evolu relay: any app built on Evolu can use it. And the explanation under the new owners + switch now matches the switch: it used to describe the open state even when it was closed. Earlier releases: