Negen punten uit echt gebruik met 0.4.0, alle negen gedaan. Twee ervan waren onderzoeksvragen en die staan onderaan. Evolu Relay 0.5.0 - Een tijdvenster van twee minuten voor nieuwe eigenaars, met een stopknop. De teller zit in het relay-proces en niet in de pagina: een teller in een tabblad dat je sluit, sluit de deur niet. policy.js kreeg learningUntil, isLearningOpen en expireLearning. - decideOwner kijkt naar isLearningOpen en niet naar het veld learning. De lus die een verlopen venster opruimt loopt elke twee seconden, en in dat gat zou een onbekende alsnog binnenkomen. - Zonder STATE_VERSION te verhogen, met een toets die dat verdedigt: een verhoging zou de allowlist van de draaiende installatie laten afwijzen en de deur sluiten voor eigenaars die er al in stonden. - Labels op een eigenaar-id, in een eigen labels.json met de agent als enige schrijver. Een label zegt niets over toegang, dus de relay hoeft het niet te weten; het is daardoor meteen opgeslagen en werkt ook als de relay omligt. - Geblokkeerde en geweigerde eigenaars in een kader, met een badge die zegt welke van de twee het is. De badge staat buiten het hover-blok, anders is dat onderscheid onzichtbaar tenzij je over de regel gaat. - Maatvoering gelijk aan Electrum Gate: 1760px, hetzelfde raster, icoon van 64 pixels, dezelfde kop, versienummer erachter. Uitleg uit de kaders, knoppen pas bij hover, geen voetregel. Electrum Gate 0.0.24 - Menu-item "About this app", in beide apps. - De statuswidget zei "Answering" met "answered in 7 ms, from inside the app" en zegt nu "Running" met de meting eronder. De nuance dat de controle van container naar container loopt is verplaatst naar een eigen kopje in die dialoog, waar er ruimte voor is; vier woorden waren te weinig. Toetsen en gereedschap - tests/test_relay_agent.py (nieuw, 65 toetsen) en tests/test_paginas_parsen.mjs (nieuw). Muteertests gedraaid op de beslissende regels. - Een dollarteken-toets in test_appstore_vorm.py. Het commentaar in drie bestanden beweerde al dat die test bestond; nu is dat waar. - Een toets dat er geen werkbestanden in een app-map staan. umbreld kopieert de hele map naar het apparaat en in de back-up. - tools/voorbeeldpagina.mjs maakt van een *.template een pagina die je in een browser kunt openen. Dat vond meteen twee echte opmaakfouten. De twee onderzoeksvragen - Een geweigerde eigenaar komt niet in de database: isOwnerAllowed zit in de WebSocket-upgrade, dus het is een 401 en een gesloten socket. Het gewenste gevolg treedt wel op, via de client: die is local-first en levert bij toelating de hele geschiedenis. Blokkeren werkt daarentegen pas bij de volgende verbinding, en dat staat als open punt. - De blobs zijn niet met een xpub te ontcijferen; een OwnerId komt daar niet uit. Met de SLIP-21-node van het apparaat kan het wel, maar die geeft volledige zeggenschap, dus dat hoort niet in een relay. Als plan-punt opgenomen bij de tool in HomeGit/Trezor. Nog niet uitgerold: de image 0.5.0 moet gebouwd en geduwd worden. De digest staat daarom niet in de compose, want een oude digest onder een nieuwe tag levert stil de oude relay. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
84 lines
8.5 KiB
Markdown
84 lines
8.5 KiB
Markdown
# CONTINUE_HERE - actieve plannen, per prioriteit
|
||
|
||
> **Dit is een index, geen statusdocument.** Per plan één regel die naar de "Volgende stap" in dat plan
|
||
> zijn eigen `TAKEN.md` wijst. Status leeft in de checkboxes daar, niet hier.
|
||
> Status-emoji: ✅ gebouwd · 🔶 deels gedaan / vervolg open · ⬜ nog niet gestart · ⛔ geblokkeerd ·
|
||
> ⏸ bevroren.
|
||
>
|
||
> **Deze repo is één app store met twee apps**, dus elk plan hoort bij één ervan en dat staat in de kolom
|
||
> App. De prioriteit loopt wél over beide heen: tier A is wat er nu moet gebeuren, ongeacht welke app.
|
||
>
|
||
> **Alleen actieve plannen staan in de tiers.** De plannen die nog niet actief zijn staan onderaan in
|
||
> `Plannen/Masterplannen/`, zonder tier: wannéér zo'n plan aan de beurt komt ligt niet vast, uiteindelijk
|
||
> worden ze allemaal onder `Actief/` uitgewerkt.
|
||
|
||
## De twee apps
|
||
|
||
| App | Map | Wat het doet |
|
||
|-|-|-|
|
||
| **Electrum Gate** | `whatsnext-electrum-gate/` | TLS-voordeur op je eigen Electrum-server, zodat een wallet van buiten erbij kan zonder Tor. Draait, wordt gebruikt |
|
||
| **Evolu Relay** | `whatsnext-evolu-relay/` | De sync-server achter de labels van Trezor Suite, op je eigen Umbrel. Gepakketteerd sinds 25-08-2026, nog nooit geïnstalleerd |
|
||
|
||
## A - Nu (aanbevolen focus)
|
||
|
||
| Plan | App | Volgende stap | Status |
|
||
|-|-|-|-|
|
||
| [Eigenimage](Plannen/Actief/004-Eigenimage/TAKEN.md) | Gate | **Gepromoveerd op 28-08-2026, want waar het op wachtte is klaar:** de gebruiker wilde eerst Evolu Relay afmaken en dat doel is gehaald. Het register is beslist (Gitea, bij inlevering opnieuw kijken), dus fase 1 kan zo starten: het bouwrecept in `tools/electrum-gate/`, multi-arch, anoniem te halen. Er ligt nu ook een voorbeeld naast: `tools/evolu-relay/` doet precies dit, inclusief de valkuil dat een lokaal gebouwde tag voor umbreld onbereikbaar is. Let op §1: het lost níet het updateprobleem op, want dat bestaat niet meer | ⬜ |
|
||
|
||
## B - Los oppakbaar (geen blokkade, geen vaste volgorde)
|
||
|
||
| Plan | App | Volgende stap | Status |
|
||
|-|-|-|-|
|
||
| [Umbrelapp](Plannen/Actief/008-Umbrelapp/TAKEN.md) | Relay | **De pagina is op 30-08-2026 verbouwd op de lijst van de gebruiker; 0.5.0 ligt klaar maar is nog niet uitgerold.** Er zit een tijdvenster van twee minuten voor nieuwe eigenaars in (teller in het relay-proces, niet in de browser), labels op een eigenaar-id, de twee lijsten met buitengesloten eigenaars samengevoegd, en de maatvoering gelijk aan Electrum Gate. **De volgende stap kan niet op een laptop en is van de gebruiker:** `sh tools/evolu-relay/build.sh` plus een push, en dan de digest in de compose. Die staat er bewust níet in, want een oude digest onder een nieuwe tag levert stil de oude relay. Verder open en klein: herstart overleven, `python:3-alpine` en `nginx:alpine` pinnen, data per eigenaar wissen | 🔶 |
|
||
| [Proefopstelling](Plannen/Actief/007-Proefopstelling/TAKEN.md) | Relay | **Volledig ingehaald op 28-08-2026 en klaar voor het archief.** Beide vragen die het nog bezat zijn beantwoord door **Umbrelapp**: Trezor Suite accepteert een eigen relay, en een eigenaar registreren is niet meer nodig sinds de quota-manager eruit is. Wat er in fase 2 en 3 stond gaat over een pakket dat niet meer bestaat. **Eén beslissing van de gebruiker: opheffen of laten staan** | 🔶 |
|
||
| [Webinterface](Plannen/Actief/005-Webinterface/TAKEN.md) | Gate | **De pagina is af en goedgekeurd, op een breed scherm én op een telefoon (27-08-2026).** Op 28-08-2026 kapotgegaan door de tweede app en gerepareerd in 0.0.23. In 0.0.24 (30-08-2026) is de statuswidget van "Answering" naar "Running" gegaan en is er een menu-item "About this app" bij gekomen; dat kwam uit het werk aan Evolu Relay, waar de gebruiker de twee pagina's naast elkaar zag. **Nog nakijken op het apparaat, en dat is een blik en geen sessie.** Wat er verder staat wacht op tijd (het activiteitenlog een etmaal laten lopen) of is een beslissing van de gebruiker (waar Nginx Proxy Manager zijn certificaten neerzet, en of Zoraxy een harde afhankelijkheid wordt) | 🔶 |
|
||
| [Appstore](Plannen/Actief/010-Appstore/TAKEN.md) | Gate | De repo `ElectrumTLS` weghalen op de Git-server; daar staat het domein nog in de historie. **De omschakeling naar Fulcrum is op 27-08-2026 gelukt zonder aanpassing**, dus daarvan is alleen de herstartcontrole nog over, en die komt vanzelf bij de eerstvolgende herstart | 🔶 |
|
||
|
||
## C - Wacht op afhankelijkheid
|
||
|
||
| Plan | App | Volgende stap | Wacht op | Status |
|
||
|-|-|-|-|-|
|
||
|
||
## D - Grote fundamentele stap (bewust laatste)
|
||
|
||
| Plan | App | Volgende stap | Status |
|
||
|-|-|-|-|
|
||
|
||
## E - Toekomstige kandidaten (nog geen commitment)
|
||
|
||
| Plan | App | Waarom nog niet | Status |
|
||
|-|-|-|-|
|
||
|
||
---
|
||
|
||
## Masterplannen - nog niet actief, geen tier
|
||
|
||
[Plannen/Masterplannen/](Plannen/Masterplannen/) bevat elk plan dat (nog) geen actieve status heeft, elk
|
||
als één `<Naam>.PLAN.md`. Een plan krijgt pas een map met TAKEN/PROGRESS/OPEN als het werk begint.
|
||
|
||
De kolom "afhankelijk van" noemt alleen een **harde** afhankelijkheid; dat is een feit over het plan en
|
||
geen volgorde-oordeel. De map leegt zichzelf: bij promotie verhuist het bestand naar `Archief/`
|
||
daaronder, dus deze tabel en de mapinhoud kunnen niet uit elkaar lopen.
|
||
|
||
| Plan | App | Afhankelijk van | Waarover het gaat |
|
||
|-|-|-|-|
|
||
| [Bereikbaarheid.PLAN.md](Plannen/Masterplannen/Bereikbaarheid.PLAN.md) | Relay | Umbrelapp: er valt niets bereikbaar te maken zolang er niets draait | Synchroniseren buiten het thuisnetwerk. **Suite eist geen TLS**, dus Tailscale blijft open en een certificaat is geen voorwaarde. Het risico van een publiek eindpunt is niet vertrouwelijkheid (dat regelt de versleuteling) maar misbruik als gratis opslag: een kale relay kent geen accounts. Wil je tóch open, dan is een eigenaars-allowlist nodig; drie manieren in §4b |
|
||
| [Publicatie-Relay.PLAN.md](Plannen/Masterplannen/Publicatie-Relay.PLAN.md) | Relay | Umbrelapp, plus een image die te pinnen valt | Inleveren bij de officiële appstore. Twee dingen kunnen dit blokkeren: een image die niet als multi-arch digest in een registry bestaat, en de eis dat de umbrelOS-inlog aan blijft terwijl de relay een cliënt zonder sessie moet bedienen |
|
||
| [Publicatie-Gate.PLAN.md](Plannen/Masterplannen/Publicatie-Gate.PLAN.md) | Gate | Appstore: de herstart-controle | **Doel van de gebruiker sinds 20-08-2026:** de app inleveren als standaard-app voor Umbrel. Dat verandert de maatstaf van "hij werkt hier" naar "iemand anders keurt het pakket goed". Het meeste is al goed; wat er nog moet is de images pinnen, het app-id kaal maken en de manifestvelden op orde. Het risico zit niet in die lijst maar in de leesmount op de certificaten van Zoraxy |
|
||
| [Configuratie.PLAN.md](Plannen/Masterplannen/Configuratie.PLAN.md) | Gate | – | **Grotendeels ingehaald op 19-08-2026** en moet opgeschoond worden voordat promotie nog zin heeft: de agent doet de certificaatbronnen en de keuze al, en het hardgecodeerde domein is uit de compose en uit `nginx.conf.template` verdwenen. Wat er nog in zit is een configuratiebestand voor de poort- en padoverstemmingen, plus de README |
|
||
|
||
Cross-plan kennis staat in [KNOWLEDGE.md](KNOWLEDGE.md). Naslag staat niet in deze boom maar in
|
||
[Referenties/](Referenties/):
|
||
|
||
| Document | Voor wie | Waarvoor |
|
||
|-|-|-|
|
||
| [Umbrel-appstore-spec.md](Referenties/Umbrel-appstore-spec.md) | beide | Wat umbrelOS van een community app store verwacht, en hoe wisselen tussen Electrs, Fulcrum en ElectrumX werkt. Met bron per feit, zodat dit niet opnieuw uitgezocht hoeft te worden |
|
||
| [Images-pinnen.md](Referenties/Images-pinnen.md) | beide | De commando's om een image op een index-digest te pinnen, en welke digest uit de uitvoer je moet hebben. Nog niet gedaan, voor geen van beide apps |
|
||
| [Architectuur-huidig.md](Referenties/Architectuur-huidig.md) | Gate | Hoe de app vandaag op de Umbrel draait, inclusief wat er vast in de code staat |
|
||
| [Clients.md](Referenties/Clients.md) | Gate | Welke wallets naar een eigen Electrum-server kunnen wijzen, in welke vorm ze het adres willen, en wanneer TLS iets toevoegt boven Tor |
|
||
| [Vergelijkbare-apps.md](Referenties/Vergelijkbare-apps.md) | Gate | Of dit type app al bestaat voor Umbrel, en waarom niet. De kern voor de PR-tekst bij inlevering: de reverse proxies in de store kunnen een certificaat niet op een TCP-poort zetten |
|
||
| [Upstream-evolu-relay.md](Referenties/Upstream-evolu-relay.md) | Relay | Wat er over `trezor/trezor-suite-sync` bekend is, met per feit hoe hard het is, en de vier dingen die nog helemaal niet uitgezocht zijn |
|
||
|
||
Versiegeschiedenis staat per app: [CHANGELOG-electrum-gate.md](CHANGELOG-electrum-gate.md) en
|
||
[CHANGELOG-evolu-relay.md](CHANGELOG-evolu-relay.md).
|