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: