2026-08-25 17:18:22 +02:00
|
|
|
# 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.
|
|
|
|
|
|
2026-08-30 12:26:56 +02:00
|
|
|
**Er hoort een tweede nummer bij: `VERSION` in `tools/evolu-relay/build.sh`, het etiket op de image.** Die
|
|
|
|
|
twee horen gelijk te zijn. Ze mogen uiteenlopen als er alleen iets in de app-map wijzigt, want dan is er
|
|
|
|
|
geen nieuwe image, maar sinds 0.5.0 worden ze gelijkgehouden: uiteenlopende nummers waren bij 0.4.0 al
|
|
|
|
|
verwarrend (manifest 0.4.0, image 0.3.0).
|
|
|
|
|
|
|
|
|
|
> **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.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.
|
|
|
|
|
|
2026-08-25 17:18:22 +02:00
|
|
|
## 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.
|