Commit Graph
5 Commits
Author SHA1 Message Date
HarmenandClaude Opus 5 a1c17ceff6 Het register beslist, en de aandacht gaat naar Evolu Relay
Open punt 1 van Eigenimage: voor nu Gitea, bij inlevering opnieuw kijken. De twee
bezwaren die dat punt opriep, het domein van de gebruiker in een publiek pakket
en andermans installaties die aan zijn thuisserver komen te hangen, gelden
allebei pas bij inlevering. Daar is hij uitdrukkelijk nog niet aan toe: dit is
voorlopig zijn eigen app voor eigen gebruik.

Twee dingen zijn bij dat besluit vastgelegd zodat ze niet met het antwoord
verdwijnen: bij inlevering moet het register opnieuw beoordeeld worden, samen met
het pinnen en het kaal maken van het app-id, en de opmerking dat umbrelOS een
eigen register zou toestaan is niet nagetrokken. Dat hoort bij Publicatie-Gate.

Daarmee kan fase 1 zo beginnen, maar het plan ligt stil op verzoek van de
gebruiker: hij gaat eerst verder met Evolu Relay. Umbrelapp staat nu bovenaan
tier A, met twee feiten erbij om mee te starten: die app staat op dit moment uit,
en hij is nog nooit met Trezor Suite verbonden geweest.

Eigenimage houdt tier A en zijn nummer; er is niets aan gebouwd, dus er ligt ook
niets half af.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-27 16:47:29 +02:00
HarmenandClaude Opus 5 dc0bb9f0dc De client zegt het zelf: bij een eigen relay wordt de quota-manager genegeerd
De gebruiker wees erop dat de broncode van Trezor Suite lokaal staat, in het
project Trezor onder Repos/trezor-suite. Dat beantwoordde in een half uur wat uit
de serverkant alleen niet te halen was, en het draait de vraag van vanavond om.

Uit een commentaarregel van Trezor zelf, in
suite-common/suite-sync-quota-manager/src/createSuiteSyncQuotaManagerCompositionRoot.ts:
"We only want to use QM for our own relay servers. In case custom URL has been
set, QM is ignored, unless enforceQuotaManager is set (used for e2e tests)."
Die vlag staat standaard op false.

Daarmee is het pakket dat nu draait niet alleen zwaar maar waarschijnlijk kapot
bij ontwerp. Met een eigen relay-URL registreert de cliënt geen eigenaar, en de
relay van Trezor weigert iedereen zonder rij in de limietentabel. Die rij komt er
dus nooit: het enige dat hem zou maken wordt door de cliënt overgeslagen. Niet de
kale Evolu-relay was de gok, maar deze.

Twee dingen die er gratis bij kwamen en die vragen van eerder beantwoorden. Suite
neemt http:// (de e2e-test gebruikt http://10.0.2.2:4000 en :4001), dus TLS is
geen eis en dat raakt het masterplan Bereikbaarheid. En de instellingen staan
onder dev-utils, met twee losse velden voor relay en quota-manager, plus een
bevestiging op het apparaat bij het aanzetten.

Wat er nog echt open is, is geen redenering maar een proef: Suite gebruikt
@evolu/web@3.0.0-next.1 met een eigen patch in .yarn/patches, en de gepubliceerde
relay-image hoeft daar niet bij te passen. Dat is met docker run in minuten te
weerleggen en staat als eerste taak.

De vindplaats zelf is als naslag opgeschreven, met de vijf bestanden die iets
opleverden en twee waarschuwingen: het meeste komt uit suite-native, dus de
mobiele app, en het is een kloon op een moment in de tijd.

Tests: niet gedraaid, dit raakt alleen documentatie.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-26 07:34:49 +02:00
HarmenandClaude Opus 5 836bc58bd6 Er zijn twee relays, en we pakketteerden de zware
De gebruiker droeg evolu.dev/docs/relay aan met de vraag of dat de server is
waarop deze app gebaseerd is. Niet dezelfde, wel de bovenstroom, en dat verschil
is groot genoeg om het pakket ter discussie te stellen.

trezor/trezor-suite-sync is niet Evolu maar Trezor's inzet ervan, met een
Postgres en een quota-manager voor hun gehoste dienst. Het project eronder,
evoluhq/evolu, heeft een eigen relay: een container, een gepubliceerde image
docker.io/evoluhq/relay:latest, een datavolume in plaats van een database, en
niets gedocumenteerd over toegangscontrole. De documentatie noemt die relay
stateless en geschikt voor serverless.

Praat Trezor Suite daarmee, dan vervalt vrijwel alles wat dit pakket ingewikkeld
maakt: de bouwstap, het eigen register, de onderhoudsplicht op een image, de
Postgres met zijn wachtwoord, en de eigenaarsregistratie die nu de blokkade is.
Drie containers worden er een.

Niet aangenomen en niet gemeten, dus het staat als open punt 6 met de proef
erbij: docker run, Suite ernaartoe wijzen, label maken. Dat kost minuten en het
antwoord bepaalt of er nog iets aan de huidige vorm verbeterd moet worden. Daarom
staat het ook als eerste in "Volgende stap", vóór het nakijken van het
databaseschema: dat laatste is weggegooid werk als de kale relay volstaat.

Dat het huidige pakket deze laag heeft, is geen fout maar het gevolg van de
volgorde waarin het gevonden is. Dat staat er ook zo bij, want anders leest dit
over een maand als een verkeerde beslissing in plaats van als een ontdekking.

Tests: niet gedraaid, dit raakt alleen documentatie.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-26 07:30:04 +02:00
HarmenandClaude Opus 5 c1ed04db84 Evolu Relay draait op de Umbrel
Drie containers omhoog, db gezond, de app-proxy op 3851. De lokale images waren
vooraf weggehaald, dus de pull uit het eigen register is echt gedaan en het hele
pad is bewezen: broncode van Trezor, bouwrecept, eigen register, gepinde digest,
installatie.

Open punt 1 is beslist en niet zoals het geformuleerd stond. Daar stond dat lokaal
bouwen de eerste stap was en dat een register beslist zou worden "zodra lokaal niet
meer volstaat". Lokaal volstaat nooit: umbreld haalt elke image via de Docker
Engine API op. Dus geen keuze maar een voorwaarde, en de uitkomst is het
Gitea-register op dezelfde server als de store.

Nieuw open punt 5, als keerzijde daarvan: de store is publiek en de image staat op
een privéserver. Voegt een vreemde deze store toe, dan haalt zijn Umbrel images van
de server van de gebruiker, en diens uptime bepaalt of die installatie slaagt.
Electrum Gate heeft dat niet, want die draait op images uit Docker Hub. Drie
richtingen genoteerd, waaronder disabled: true in het manifest.

In PROGRESS staat de fout die twee rondes kostte, met de reden dat hij overtuigend
was: app-script noemt een compose pull bij install, en dat leest als het antwoord.
Het is de legacy-compat-laag en niet het pad dat umbrelOS 1.x loopt. De les is
breder dan deze app en daarom staat hij er.

Ook opgeschreven omdat het bij elke herbouw terugkomt: de gebruiker umbrel zit hier
niet in de groep docker, dus bouwen vraagt sudo.

De kopstructuur van OPEN.md stond na het bijwerken door de war (een tweede kop
"Nog te beslissen"); die is weer conform het sjabloon.

Tests: niet gedraaid, dit raakt alleen documentatie.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-25 18:37:18 +02:00
HarmenandClaude Opus 5 b2e9c8fc7a Evolu Relay als tweede app in de store, plus het bouwrecept
De gebruiker koos ervoor het pakket meteen te maken en een installatie te
proberen, met de image lokaal gebouwd en het recept in de repo. Dit is dat
pakket. Er is nog niets gebouwd en niets geinstalleerd; "gebouwd" is hier
nadrukkelijk niet "werkend".

De zwaarste ontwerpvraag is met een precedent beslecht en niet met een gok.
Trezor Suite is geen browser met een sessiecookie en kan dus niet achter de inlog
van umbrelOS; het was onduidelijk of PROXY_AUTH_ADD "false" dan verantwoord is of
een omweg. De eigen nostr-relay-app van Umbrel doet exact hetzelfde, om precies
dezelfde reden, en heeft ook geen eigen ports:. De prijs staat in de compose en in
het plan: wie die poort bereikt, bereikt de relay. Wat de schade beperkt is dat de
relay elke eigenaar zonder limietenrij weigert.

Daarom gaat de quota-manager mee, en dat is geen restje van Trezor's betaalde
hosting: hij is wat die rijen aanmaakt. Relay en quota-manager komen uit dezelfde
image met een ander command, want bovenstrooms is het een codebase met meerdere
startscripts. Het command staat expliciet en leunt niet op de CMD van de
Dockerfile, waar yarn start staat met bovenstrooms zelf een twijfel erbij.

Het bouwrecept staat in tools/ en niet in de app-map. Dat is geen netheid: een
Dockerfile staat niet in de update-whitelist, dus bouwen-in-de-app zou elke
nieuwe versie een deinstallatie plus herinstallatie kosten. Onder tools/ en niet
onder build/, want dat laatste staat in .gitignore als bouwselmap en het recept
zou stilzwijgend buiten de repo zijn gebleven. Dat kwam pas bij git status aan het
licht.

De poort is 3851 en niet 4000. 4000 is de eigen poort van de relay maar ook een
veelgebruikte poort, en een botsing op de host merk je pas als de app niet start.
Die les komt van 50002 tegen Fulcrum.

Nieuw testbestand test_appstore_vorm.py, en het gaat over de store en niet over
een app: id gelijk aan mapnaam, store-voorvoegsel, veldvolgorde, app_proxy die
naar een bestaande service wijst, en elke gemounte map die in de repo bestaat. Het
vindt zijn apps zelf, dus een derde app valt er automatisch onder. Digests toetst
het expres niet: geen van de twee apps haalt die regel vandaag en een suite die
altijd rood staat wordt niet gelezen.

Mutatie-getest met drie ingrepen: het app-id laten afwijken van de mapnaam,
APP_HOST naar een niet-bestaande service laten wijzen, en de .gitkeep weghalen.
Alle drie vielen om bij de juiste toets, en git diff was daarna leeg.

Umbrelapp is gepromoveerd naar Actief als 008, tussen Proefopstelling en
Appstore, en het masterplan is naar het archief. Wat er in de plannen als open
blijft staan is niet klein: of Trezor Suite dit adres accepteert, of het
databaseschema zichzelf aanmaakt, en hoe je een eigenaar registreert.

Tests: 32 goed 0 fout, 39 goed 0 fout en 54 goed 0 fout, niets overgeslagen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-25 17:18:22 +02:00