Files
UmbrelApps/Docs/CHANGELOG-evolu-relay.md
T
HarmenandClaude Opus 5 63f1557713 Gate 0.0.26 en Relay 0.5.3: Running weer accent, gloed uit op mobiel
Twee bijstellingen op de opfrisbeurt van vanochtend, allebei op verzoek van de gebruiker.

"Running" staat weer in de accentkleur. In Evolu Relay hing die tekst aan --pos, en die ging van
oranje naar groen omdat --pos het accent volgde en dat als merkkleur las in plaats van als
betekenis. In Electrum Gate hing hij aan niets en was hij gewoon --text-primary. Beide staan nu op
--accent-text, met een eigen .stat-val.ok: "Running" is de eigen toestand van de app en geen
positief cijfer, en --pos blijft groen voor "het staat in de plus". In Gate wordt die klasse
alleen bij state 'ok' gezet; 'off' en 'pending' zijn niet fout maar ook niet in orde en houden de
gewone tekstkleur.

Op een telefoon valt de pagina terug op de vlakke stand. De gloed is 58rem breed, ongeveer 928
pixels, dus op een telefoonscherm is het beeld smaller dan de gloed zelf en wordt het een egale
waas in plaats van een verloop. De blur gaat in dezelfde stap eruit, en dat is geen extraatje:
doorzichtigheid met niets erachter is gewoon grijs, terwijl een backdrop-filter op een telefoon wel
per frame rekenwerk kost. Rand, schaduw en randlicht blijven staan. Grens 900 pixels.

De selector is html[data-depth] en niet :root, want :root heeft dezelfde specificiteit als de
[data-theme]-blokken en zou dan alleen winnen zolang hij er in het bestand onder staat.

Alleen de pagina's, dus opnieuw geen nieuwe images.

Suite groen: 22 + 43 + 22 + 115 op de geraakte delen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-31 11:47:30 +02:00

9.6 KiB

Versiegeschiedenis - Evolu Relay

Nieuwste bovenaan. Elke regel hier hoort bij een version in whatsnext-evolu-relay/umbrel-app.yml; zonder verhoging van dat nummer rolt umbrelOS een wijziging niet uit.

Er hoort een tweede nummer bij: VERSION in tools/evolu-relay/build.sh, het etiket op de image. Die twee lopen uiteen zodra er iets in de app-map wijzigt zonder dat de relay-code verandert, en dat hóórt ook zo: een *.template bereikt een installatie via de update-whitelist, en daarvoor een image bouwen en duwen is werk zonder opbrengst. Het manifest loopt dus vóór op de image.

De regel is: verhoog je VERSION, dan verhoog je ook het manifest; andersom niet.

Hier stond op 30-08-2026 dat ze "sinds 0.5.0 gelijkgehouden worden". Dat was diezelfde dag al onwaar, want 0.5.1 raakt alleen de pagina. De regel hierboven is wat er bedoeld werd.

Deze geschiedenis is op 30-08-2026 bijgewerkt en liep tot dat moment achter: er stond alleen 0.0.1, terwijl de app op 0.4.0 zat. De entries voor 0.2.0 tot en met 0.4.0 zijn met terugwerkende kracht geschreven uit de releaseNotes in het manifest en uit PROGRESS.md van het plan Umbrelapp. Ze zijn daarom korter dan de rest.

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.

Twee bijstellingen op 0.5.2, allebei op verzoek van de gebruiker en allebei ook in Electrum Gate:

  • "Running" staat weer in de accentkleur. Die tekst hing aan --pos, en die ging in 0.5.2 van oranje naar groen omdat hij het accent volgde en dat als merkkleur las. Nu staat hij op --accent-text: "Running" is de eigen toestand van de app en geen positief cijfer. --pos blijft groen en betekent "het staat in de plus", dus de twee betekenissen blijven uit elkaar.
  • Op een telefoon valt de pagina terug op de vlakke stand. De gloed is 58rem breed, ongeveer 928 pixels; op een telefoonscherm is het beeld dus smaller dan de gloed zelf en wordt het een egale waas in plaats van een verloop. De blur gaat mee eruit, want doorzichtigheid met niets erachter is gewoon grijs terwijl een backdrop-filter op een telefoon wel per frame rekenwerk kost. Grens: 900 pixels.

0.5.2 - 31-08-2026

Alleen de pagina, dus geen nieuwe image. VERSION in tools/evolu-relay/build.sh blijft staan; het manifest gaat naar 0.5.2. Precies het geval waar de regel bovenaan dit bestand over gaat.

De opfrisbeurt uit het gedeelde designsysteem (HomeGit/Docs/website-design-system.html), in dezelfde ronde doorgevoerd in Electrum Gate en in AssetApp:

  • een accentgloed achter de pagina, uit de linkerbovenhoek, met een zwakker tegenlichtje rechtsboven. Dit doet het meeste werk en het is de vóórwaarde voor de rest: een backdrop-filter op een egale ondergrond levert per definitie niets op, dus er moet eerst iets áchter de vlakken staan;
  • kaarten zijn doorschijnend met een randlicht en een schaduw, zodat ze lezen als panelen die op de pagina liggen in plaats van als vlakken die erop geschilderd zijn;
  • één hoek voor élk buitenste kader: de kaart van 28 naar 20 pixels, gelijk aan het logkader en aan AssetApp. De geneste hoek van dat logkader rekent mee.

De vijf accentkleuren van AssetApp staan nu in het palet; deze app blijft op oranje en heeft er bewust geen knop voor. Om dezelfde reden staat de diepte hier vást aan, terwijl het in AssetApp een instelling is. --pos is groen geworden in plaats van oranje: hij volgde het accent, en dat las als merkkleur in plaats van als betekenis.

Eén valkuil is meteen ingebouwd en verdient het om onthouden te worden. prefers-reduced-motion en prefers-reduced-transparency mogen niet in één media-query: Windows heeft een schakelaar "Animatie-effecten" die bij veel mensen uit staat en die zet reduced-motion op reduce, waarna er van de hele opmaak niets overbleef. Ze staan apart, en reduced-motion haalt alleen de overgang weg.

0.5.1 - 30-08-2026

Reparatie, gemeld door de gebruiker binnen een uur na 0.5.0. De melding bovenaan de pagina ging nooit weg. "Sent. The relay applies changes within a few seconds." bleef staan tot je de pagina herlaadde, dus ook lang nadat hij niet meer waar was.

De oorzaak was één ontbrekende tak: de ronde die elke vijf seconden loopt zette die melding wel áán maar nooit uit. Nu is de melding van de ronde en niet van de klik: hij verdwijnt zodra het relay-proces de opdracht heeft opgepakt, en blijft alleen staan zolang de opdracht nog in de postbus ligt. Dát is het geval waarin er iets te melden valt, want normaal is dat binnen twee seconden gebeurd.

Een weigering is de uitzondering en blijft wél staan, tot je een volgende opdracht geeft. Die mag niet binnen vijf seconden verdwijnen, want het is de enige uitleg van wat er misging. Hij is bovendien rood geworden; dat was hij niet, en een geweigerde opdracht in de neutrale stijl leest als een mededeling.

Alleen index.html.template geraakt, dus geen nieuwe image: build.sh blijft op 0.5.0.

0.5.0 - 30-08-2026

De statuspagina op de lijst van de gebruiker, na een week met 0.4.0 gewerkt te hebben. Negen punten, alle negen gedaan.

Een tijdvenster van twee minuten in plaats van een schakelaar. Openzetten, apparaat koppelen, en de deur sluit zichzelf; vroegtijdig sluiten of de twee minuten opnieuw starten kan ook. De teller loopt in het relay-proces en niet in de pagina, want een teller in een tabblad dat je sluit, sluit de deur niet. policy.js heeft er learningUntil, isLearningOpen en expireLearning voor gekregen, zonder STATE_VERSION te verhogen: een verhoging zou de allowlist van de draaiende installatie laten afwijzen.

Labels op een eigenaar-id. Een OwnerId is een reeks tekens zonder betekenis; nu kun je er een naam aan hangen. De labels staan in een eigen labels.json met de agent als enige schrijver, dus ze zijn meteen opgeslagen en labelen werkt ook als de relay omgevallen is.

Geblokkeerde en geweigerde eigenaars in één kader, met een badge die zegt welke van de twee het is. Wat je ermee doet was toch hetzelfde: toelaten of vergeten.

De pagina is gelijkgetrokken met Electrum Gate: dezelfde breedte van 1760 pixels, hetzelfde raster, hetzelfde icoon van 64 pixels, dezelfde kop en het versienummer erachter. Knoppen verschijnen bij hover over een regel, de uitleggende alinea's zijn verdwenen, en de voetregel is vervangen door een menu-item "About this app" waar die uitleg nu staat.

Wat er aan toetsen bij kwam, want de pagina's waren met bijna drieduizend regels ongetoetst: tests/test_relay_agent.py (nieuw), tests/test_paginas_parsen.mjs (nieuw), een dollarteken-toets waarvan het commentaar al beweerde dat hij bestond, en een toets dat er geen werkbestanden in een app-map staan. Verder tools/voorbeeldpagina.mjs, waarmee een *.template in een browser te bekijken is; dat vond meteen twee echte fouten in de nieuwe pagina.

0.4.0 - 28-08-2026

Reparatie. De statuspagina wisselde tussen werken en een foutmelding: hij bereikte zijn agent via de korte containernaam agent, en Electrum Gate in deze store heeft er ook een. Ongeveer de helft van de verzoeken kwam bij de verkeerde app uit, en het maakte de pagina van Gate mee kapot. Beide apps wijzen nu naar <app-id>_agent_1.

Verder de tekst die de app aan één cliënt verbond eruit: het is een algemene Evolu-relay. En de uitleg onder de schakelaar voor nieuwe eigenaars klopte niet, die beschreef de open stand ook als hij dicht stond.

Let op: het manifest stond hier op 0.4.0 terwijl de image 0.3.0 bleef, want er wijzigde niets in het relay-programma.

0.3.0 - 28-08-2026

De eerste versie die op de Umbrel draait en gebruikt wordt. De eigen eigenaars-allowlist erin, met de statuspagina achter de umbrelOS-inlog, en TLS via Zoraxy op een eigen subdomein. Trezor Suite synchroniseert eroverheen, heen én terug; die tweede richting is gemeten met een tweede gebruikersaccount dat met een lege database alle labels binnenkreeg.

De poorten zijn omgedraaid ten opzichte van 0.0.2: de pagina hangt achter de app-proxy mét de inlog, en de relay publiceert zijn eigen host-poort 3852. Een sync-cliënt is geen browser met een sessiecookie en zou achter de inlog een inlogpagina krijgen.

0.2.0 - 28-08-2026

De relay is vervangen. Tot 0.0.2 pakketteerde deze app de eigen uitrol van een leverancier, met een quota-manager en een PostgreSQL erbij, en die kon buiten hun eigen dienst in de kern niet werken: cliënten slaan de quota-manager over zodra je ze naar een eigen relay wijst, terwijl die relay elke eigenaar weigert die de quota-manager nooit geregistreerd heeft.

Hiervoor in de plaats komt de relay van het Evolu-project zelf, aangeroepen uit ons eigen programma in tools/evolu-relay/. Gemeten en niet aangenomen: een cliënt synchroniseerde ernaartoe en de data kwam aan. Drie containers werden een relay plus een statuspagina, en de database met zijn wachtwoord is verdwenen.

Wat wij toevoegen zijn de twee terugroepfuncties die createRelay daarvoor heeft, isOwnerAllowed en isOwnerWithinQuota. De relay zelf is niet nagebouwd en niet aangepast.

0.0.1 - 25-08-2026

Eerste versie, nog niet geinstalleerd.

Drie containers: de relay en de quota-manager uit dezelfde zelfgebouwde image met een ander command, en een Postgres eronder. De quota-manager gaat mee omdat de relay elke eigenaar zonder limietenrij weigert.

De app-proxy staat op PROXY_AUTH_ADD: "false", want Trezor Suite is geen browser met een sessiecookie. Dat is het patroon van de eigen nostr-relay-app van Umbrel. Poort 3851.

De image komt uit tools/evolu-relay/build.sh, gepind op commit c03a204 van trezor/trezor-suite-sync. Trezor publiceert zelf geen image.

Nog niets van dit alles is op een Umbrel gedraaid.