Commit Graph
6 Commits
Author SHA1 Message Date
HarmenandClaude Opus 5 c8d9765cb3 De app kijkt naar zijn eigen voordeur, en meet minder dan het plan beloofde
Open punt 5 van Webinterface, goedgekeurd en gebouwd. De agent verbindt met de
eigen TLS-poort, maakt de handdruk af en vergelijkt het getoonde certificaat
byte voor byte met het gekozen bestand.

Die vergelijking blijkt waardevoller dan de handdruk. Ze vangt een
certificaatwissel die nginx nooit heeft toegepast, en dat is precies het geval
waar een controle op vertrouwen blind voor is. Er wordt daarom bewust niet tegen
de certificaatwinkel van het besturingssysteem geverifieerd: een zelfondertekend
certificaat uploaden is een ondersteunde bron en die opstelling zou dan als kapot
gemeld worden.

Twee dingen liepen anders dan het plan zei en staan nu rechtgezet in PLAN 4a2,
OPEN punt 5 en de changelog. De belofte "luisteren, certificaat en doorverbinding
in een keer" klopt voor twee van de drie: na de handdruk wordt er niets
verstuurd. Een echt verzoek zou de sessie bytes geven, en sessies met bytes
worden nooit uit het activiteitenlog gefilterd, want die kunnen een storing zijn.

En dat filteren was de tweede verrassing. Elke meting is voor nginx een gewone
sessie en levert dus een logregel op; zonder rem ging het log over onszelf in
plaats van over wallets. Er zit nu een rem van vijf minuten op, er wordt niet
gemeten vlak na een herlading omdat het vorige certificaat er dan nog staat, en
de eigen regels worden weggelaten op grond van het moment.

Tests: 22 nieuw, met de nadruk op de niet-gelukkige paden en op de rem, want dat
is wat het log bruikbaar houdt. Alle vier de beslissende regels mutatie-getest.
De changelog kreeg ook de ontbrekende 0.0.15 erbij.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-27 15:24:24 +02:00
HarmenandClaude Opus 5 fc7ec7fc6c De weergaveschakelaar het menu in, en let op de vorm die hij daar aanneemt
Aanvulling van de gebruiker op fase 6. De schakelaar staat nu als losse knop
rechtsboven; in het menu wordt hij een van twee regels naast de certificaten, en
houdt de kop niets meer dan het merk en de tagline.

Er staat een waarschuwing bij die klein is en makkelijk fout gaat: de knop toont
nu het label van waar je naartoe gaat, dus "Light" terwijl de pagina donker is.
Een menuregel toont een toestand en geen handeling. Wie het label ongewijzigd
overneemt, zet in het menu "Light" terwijl de pagina al licht is.

Het versienummer verhuist niet mee. Dat staat klein achter de tagline op grond
van een eigen afweging in 4a1 en die verandert hier niet.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-27 15:11:24 +02:00
HarmenandClaude Opus 5 decf431416 De tweede indeling, met de eis die het verstoppen van de keuze zelf oproept
Ontwerp van de gebruiker, na het testen van de eerste indeling: vijf kleine
widgets op de bovenste rij, certificaatkeuze en uploaden naar een dialoog achter
een menu rechtsboven, activiteitenlog over de volle breedte, en het instelkader
dichtgeklapt met twee kopieerknoppen in plaats van een per clientregel.

Vastgelegd als PLAN.md 4a2 naast 4a1, want die eerste blijft de verantwoording
van wat er staat. Drie dingen staan erbij die uit de brief zelf volgen:

De harde eis. Kiezen achter een menu botst met de ergste toestand die deze app
kent, een verse installatie zonder certificaat, en dat is letterlijk de klem van
0.0.3. De foutmelding bovenaan blijft dus staan en krijgt de knop die de dialoog
opent; de hamburger is de weg terug, niet de enige weg erheen.

Twee teruggedraaide besluiten, opgeschreven zodat niemand ze later herstelt met
een verwijzing naar de oude reden: de kopieerknop per client verdwijnt, en de
afwijzing van een dropdown uit 19-08 verbiedt geen dialoog. Bij de eerste hoort
een voorwaarde: de wallets blijven gegroepeerd onder de vorm die ze willen, want
anders is er wel een adres maar niet meer bij welke wallet het hoort.

Deze indeling haalt bovendien twee koppelingen weg die er alleen waren omdat
kaders naast elkaar stonden. Een daarvan was de hele inhoud van 0.0.13.

Open punt 5 is goedgekeurd en verhuisd naar Beslist; punt 3 stond nog open
terwijl het log al twee versies draait.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-27 15:10:06 +02:00
HarmenandClaude Opus 5 bcd95facb7 Fase 5 was gebouwd en uitgerold terwijl de vinkjes bleven staan
Het activiteitenlog stond nog als "voorstel, nog niet besloten" met drie open
regels, maar twee daarvan zijn gedaan en zitten in een uitgeleverde versie. Het
log_format is precies langs de voorgestelde weg gekomen: het command-blok
schrijft stream-log.conf met $$ ontsnapt en stream.conf haalt het op met een
include. En de agent zet log in status.json, laatste 200 regels, zonder
client-IP en zonder bronpoort.

De derde blijft open en wordt nu eerlijk beschreven in plaats van als taak: bytes
van een lopende verbinding zijn er niet, want nginx logt een stream-sessie pas
bij het sluiten. Wat er kwam is een sessieteller uit /proc/net/tcp, die ziet dat
er verbindingen zijn maar niet hoeveel er doorheen gaat.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-27 14:51:23 +02:00
HarmenandClaude Opus 5 b43eee9d79 De volgorde vastgelegd waar hij gelezen wordt, niet waar hij hoort te kloppen
Eigenimage komt na Webinterface, besloten door de gebruiker. De vindplaats is
hier het punt: een masterplan zonder tier komt in geen enkele prioriteits-
herziening langs, dus een notitie in dat plan alleen zou op het moment dat het
ingaat niemand bereiken.

Daarom staat de keuze in de prioriteits-header van Webinterface, want dat is wat
een sessie bij het starten leest, met de opdracht erbij: promoveren met een nieuw
tussennummer en eerst de registervraag beantwoorden.

De kolom "afhankelijk van" in de masterplannen-tabel houdt zijn streepje. Die is
voor harde afhankelijkheden en dit is er geen; technisch kan het plan morgen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-27 14:50:14 +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