Commit Graph
4 Commits
Author SHA1 Message Date
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 1a87a45685 De bovenstroomse repo gelezen, en twee aannames sneuvelden
De gebruiker wil de Evolu Relay-app meteen pakketteren. Daarvoor moest fase 1 van
Proefopstelling eerst af, want een compose schrijven op aannames is precies wat
dat plan moet voorkomen. Upstream-evolu-relay.md gaat daarmee van vooronderzoek
naar nagetrokken, met een bron-URL per feit.

De quota-manager is in de praktijk verplicht, en om een andere reden dan gedacht.
Niet omdat de relay hem aanroept: er is geen HTTP-koppeling en geen URL in de
configuratie, ze delen alleen de Postgres. Maar isOwnerAllowed() eist een rij in
de limietentabel en de quota-manager maakt die rijen. Zonder hem is de relay dus
niet open maar dicht voor iedereen. Dat maakt de tweede weg interessant, want een
rij is ook met de hand te zetten; de prijs daarvan is schrijven in andermans
schema.

Er is geen publieke image. Trezor bouwt er wel een maar duwt hem naar een eigen
Amazon ECR, en op Docker Hub staat niets. Zelf bouwen en publiceren, of geen app,
en dat is een doorlopende verplichting. Bijvangst die een risico wegneemt:
datzelfde werkproces bouwt amd64 en arm64, dus de Dockerfile is bovenstrooms
bewezen op een Pi. Nieuw risico dat ervoor terugkomt: LICENSE.md is door GitHub
geclassificeerd als "other", en zodra je een image publiceert distribueer je hun
software.

Twee kleinere correcties. De compose van Trezor draait de relay niet, er staan
alleen Postgres en Prometheus in; het is een ontwikkelopstelling en wat zij
uitrollen staat in .k8s/. En alle processen komen uit één image met per service
een ander command, dus het worden geen drie images.

Eén tegenspraak blijft staan en is expres niet weggeschreven als feit:
.env.sample zegt dat SERVER_ENV=prod authenticatie aanzet, maar in de code die ik
las bepaalt die vlag alleen het logniveau en staan de controles onvoorwaardelijk
aan. Eén van de twee is achterhaald. Dat is met één keer starten te meten en het
staat als taak in fase 2.

Tests: niet gedraaid, dit raakt alleen documentatie.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-25 16:57:39 +02:00
HarmenandClaude Opus 5 67ed9b603b Eén app store, twee apps
umbrelOS leest per store één repo, dus twee apps in twee repo's kan niet. Deze
repo is de store en bevat vanaf nu Electrum Gate en het werk aan Evolu Relay.
Opgezet als verse repo op verzoek van de gebruiker: de historie van ElectrumTLS
en van EvoluRelay komt niet mee.

Dat heeft één gevolg dat verder gaat dan opruimen. In de historie van
ElectrumTLS staat het domein van de gebruiker en het certificaatpad, van vóór de
opschoning van 19-08. Die komt hier niet in. Zolang die repo op de Git-server
blijft staan verandert dat niets, dus het weghalen ervan is het laatste stuk van
open punt 3 van het plan Appstore, en geen bijzaak.

De store zelf hoefde niet te veranderen: store-id whatsnext, en dus blijft het
app-id whatsnext-electrum-gate. Dat hangt aan het store-id en niet aan de URL,
dus voor umbrelOS is dit dezelfde app in een andere store. Dat de store op 19-08
naar de maker genoemd werd in plaats van naar deze ene app, betaalt zich hier
uit.

Wat de documentatie betreft is dit één wortel voor beide apps, en dat was de
reden om samen te voegen en niet de prijs ervan: de appstore-spec, het pinnen
van images en de werkwijze golden al voor allebei en stonden in twee repo's naast
elkaar. De kruisverwijzing die daarvoor nodig was (Referenties/Umbrel-appstore.md
in de oude EvoluRelay-repo) is verdwenen; wat daarin stond over de plekken waar
de relay een ander geval is, staat nu als ontwerp in het masterplan Umbrelapp §4.

Botsende namen kregen een achtervoegsel met de app, en alleen die: Publicatie
werd Publicatie-Gate en Publicatie-Relay, CHANGELOG.md werd
CHANGELOG-electrum-gate.md. Proefopstelling kreeg 007, tussen de twee bestaande
nummers, zodat de bovenkant van de reeks op tier-orde blijft staan.
CONTINUE_HERE.md heeft een kolom App, maar de tiers lopen over beide apps heen:
er is één volgorde van werken.

Electrum Gate gaat naar 0.0.15, want website, repo, support, submission en icon
wijzen nu naar UmbrelApps en zonder versieverhoging rolt dat niet uit. De release
notes leggen aan de gebruiker uit dat hij de store opnieuw moet toevoegen. Of een
geïnstalleerde app een wisseling van store-URL overleeft is nog steeds niet
uitgezocht; dat blijkt bij het omzetten.

Twee dingen in de plannen van Electrum Gate waren door deze verhuizing niet meer
waar en zijn bijgewerkt: de taak "de repo hernoemen" in fase 7 is afgevinkt, en
de repo-vorm in PLAN.md §4a toonde nog de store-id electrumtls, die al sinds
fase 7 achterhaald was.

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

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-25 16:27:57 +02:00