diff --git a/Docs/CONTINUE_HERE.md b/Docs/CONTINUE_HERE.md index 9d20c5b..693b15a 100644 --- a/Docs/CONTINUE_HERE.md +++ b/Docs/CONTINUE_HERE.md @@ -23,7 +23,7 @@ | Plan | App | Volgende stap | Status | |-|-|-|-| -| [Umbrelapp](Plannen/Actief/008-Umbrelapp/TAKEN.md) | Relay | **Dit is de focus vanaf 27-08-2026, gekozen door de gebruiker, en de app staat op dit moment uit.** Uit de broncode van Suite: bij een eigen relay-URL registreert de cliënt geen eigenaar, terwijl Trezor's relay iedereen zonder limietenrij weigert. **Richting gekozen op 27-08-2026: kaal, met een eigen limiter en een statuspagina erop.** **Op 28-08-2026 verbouwd, uitgerold als 0.3.0 en in gebruik.** De kale relay met een eigen eigenaars-allowlist, een statuspagina achter de umbrelOS-inlog, en TLS via Zoraxy op een eigen subdomein; de desktop synchroniseert eroverheen. **Wat nog open staat is iOS**, dat geen enkele verbinding maakt terwijl alles ingesteld is, en daardoor is de leeskant nooit gemeten. Volgende stap is één minuut werk: kijken of het verzoek de telefoon überhaupt verlaat, via het log van Zoraxy. Zie open punt 9, waar staat wat er al uitgesloten is Let op: kaal gaan haalt de énige bescherming weg die er nu is, dus de limiter is voorwaarde en geen extraatje, en de huidige quota-manager is er niet voor te hergebruiken. Zie open punt 6, 8 en 2 | 🔶 | +| [Umbrelapp](Plannen/Actief/008-Umbrelapp/TAKEN.md) | Relay | **Dit is de focus vanaf 27-08-2026, gekozen door de gebruiker, en de app staat op dit moment uit.** Uit de broncode van Suite: bij een eigen relay-URL registreert de cliënt geen eigenaar, terwijl Trezor's relay iedereen zonder limietenrij weigert. **Richting gekozen op 27-08-2026: kaal, met een eigen limiter en een statuspagina erop.** **Op 28-08-2026 verbouwd, uitgerold als 0.3.0 en in gebruik.** De kale relay met een eigen eigenaars-allowlist, een statuspagina achter de umbrelOS-inlog, en TLS via Zoraxy op een eigen subdomein; de desktop synchroniseert eroverheen. **iOS is verklaard en het ligt niet aan dit pakket:** de `OwnerId` wordt op de Trezor afgeleid, en een model dat niet aan een iPhone kan geeft geen sleutel, dus slaat Suite een label daar lokaal op en doet verder niets, zonder melding (open punt 9, met bronregels). **Wat daardoor open blijft is de leeskant:** dat een tweede apparaat de labels terugkrijgt is nooit gezien, en daar is een tweede cliënt voor nodig die wél een sleutel kan afleiden Let op: kaal gaan haalt de énige bescherming weg die er nu is, dus de limiter is voorwaarde en geen extraatje, en de huidige quota-manager is er niet voor te hergebruiken. Zie open punt 6, 8 en 2 | 🔶 | | [Eigenimage](Plannen/Actief/006-Eigenimage/TAKEN.md) | Gate | **Klaar om te beginnen, maar ligt stil op verzoek van de gebruiker** (27-08-2026): hij gaat eerst verder met Evolu Relay. 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. Let op §1: het lost níet het updateprobleem op, want dat bestaat niet meer | ⬜ | | [Proefopstelling](Plannen/Actief/007-Proefopstelling/TAKEN.md) | Relay | **Dit plan is op 28-08-2026 volledig ingehaald en kan waarschijnlijk naar het archief.** Beide vragen die het nog bezat zijn beantwoord door **Umbrelapp**: Trezor Suite accepteert een eigen relay op de desktop, 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** | 🔶 | diff --git a/Docs/Plannen/Actief/008-Umbrelapp/OPEN.md b/Docs/Plannen/Actief/008-Umbrelapp/OPEN.md index 1eca833..da861a0 100644 --- a/Docs/Plannen/Actief/008-Umbrelapp/OPEN.md +++ b/Docs/Plannen/Actief/008-Umbrelapp/OPEN.md @@ -123,7 +123,34 @@ - **geen regel** → de telefoon bereikt die naam niet. Dan is het DNS of routering: mobiel netwerk in plaats van WiFi, of een subdomein dat alleen in de interne DNS bestaat. - **Moment:** de volgende sessie, als eerste taak van dit punt · **Eigenaar:** gebruiker + **En aan het eind van de dag kwam het antwoord alsnog, uit de cliëntcode en uit een opmerking van de + gebruiker: het ligt aan het apparaat, niet aan het netwerk.** Hij merkte op dat hij op de Mac per wallet + op de hardware wallet moest goedkeuren, en dat zijn model nog niet aan een iPhone te koppelen is; de + Safe 7 wel. + + Dat sluit de keten, en die is in de broncode van Suite na te lezen: + + - de `OwnerId` wordt op het apparaat afgeleid. `createRetrieveSuiteSyncOwner.ts` begint met + `if (!device.connected) return err(DeviceNotConnectedError(...))`; + - `selectIsSuiteSyncInitPossible` eist `device.connected && isSuiteSyncSupportedByDevice(device)`; + - `selectSuiteSyncInteraction` geeft **`null`** zodra er geen `deviceStaticSessionId` is, dus zodra de + app helemaal geen apparaat kent; + - en in `useTurnOnSuiteSyncGuard` valt `null` in dezelfde tak als `'unsupported'`: **`return ok()`**. + Het label wordt lokaal opgeslagen, er gebeurt verder niets, en er is niets te melden. + + Dat verklaart alle waarnemingen tegelijk: de schakelaar liet zich aanzetten (dat is een instelling, + `settings.isSuiteSyncEnabled`, en die zegt op zichzelf niets), er kwam geen foutmelding, er was geen + groen bolletje, en onze relay zag nooit een eigenaar. **Zonder een Trezor die aan de telefoon kan, is er + geen eigenaar, en zonder eigenaar valt er niets te synchroniseren, met of zonder relay.** + + **Conclusie: dit is geen tekortkoming van dit pakket en er valt hier niets te repareren.** De relay + werkt; de cliënt komt op dat platform niet aan een sleutel. Wat het wél betekent voor de app-tekst is dat + "werkt op je telefoon" niet beloofd moet worden zolang dat van het model afhangt. + + Wat nog de moeite waard is om te meten, en alleen omdat het goedkoop is: of het verzoek de telefoon + überhaupt verlaat, via het log van Zoraxy. Bij de verklaring hierboven hoort dat het níet vertrekt. Zie + je toch verzoeken, dan klopt er iets niet aan deze redenering en begint het opnieuw. + **Moment:** beantwoord op 28-08-2026; de controle in Zoraxy is optioneel · **Eigenaar:** gebruiker 8. **Welke limiter komt er op de kale relay?** - **beslist op 28-08-2026: weg 1, de relay uitbreiden via `createRelay`.** Het ontwerp staat in [PLAN.md](PLAN.md) §4g en bleek veel kleiner dan hieronder diff --git a/Docs/Plannen/Actief/008-Umbrelapp/PROGRESS.md b/Docs/Plannen/Actief/008-Umbrelapp/PROGRESS.md index cf6ad9a..f61f387 100644 --- a/Docs/Plannen/Actief/008-Umbrelapp/PROGRESS.md +++ b/Docs/Plannen/Actief/008-Umbrelapp/PROGRESS.md @@ -16,11 +16,16 @@ wint" sloot daarmee de tweede wallet van de gebruiker buiten. En de korte contai gedeelde Docker-netwerk niet uniek, waardoor de helft van de verzoeken bij Electrum Gate uitkwam en die app kapotging. Beide zijn gerepareerd, de tweede met een toets erop. -**iOS blijft open en het vermoeden is weerlegd.** TLS was niet de verklaring: met een geldig certificaat, -een opgeslagen URL en de sync-schakelaar aan komt er nog steeds niets aan. Sinds 0.3.0 logt de relay élke -eigenaar die zich meldt, ook bekende en geweigerde, en van de telefoon verschijnt niets. De volgende stap -staat in [OPEN.md](OPEN.md) punt 9: kijken of het verzoek de telefoon überhaupt verlaat, via het log van -Zoraxy. +**iOS is aan het eind van de dag alsnog verklaard, en het ligt niet aan dit pakket.** TLS was niet de +oorzaak: ook met certificaat, opgeslagen URL en de sync-schakelaar aan kwam er niets aan, en sinds 0.3.0 is +dat hard gemeten omdat de relay élke eigenaar logt. De verklaring kwam uit de cliëntcode plus een opmerking +van de gebruiker: de `OwnerId` wordt op de Trezor afgeleid, en zijn model kan nog niet aan een iPhone. Zonder +apparaat kent de app geen device state, en dan slaat Suite een label lokaal op en doet verder niets, zonder +melding. Bronregels in [OPEN.md](OPEN.md) punt 9. + +Daardoor blijft de leeskant ongemeten, en dat is nu de belangrijkste openstaande controle. Er is een tweede +cliënt voor nodig die wél een sleutel kan afleiden; een tweede desktop met dezelfde Trezor is de kortste +weg. **Geraakt:** de hele app-map, `tools/evolu-relay/`, `tests/`, `CLAUDE.md`, `whatsnext-electrum-gate/` en de documentatie. **Tests:** alle vier groen. diff --git a/Docs/Plannen/Actief/008-Umbrelapp/TAKEN.md b/Docs/Plannen/Actief/008-Umbrelapp/TAKEN.md index 6d7c3ad..bfd3a7c 100644 --- a/Docs/Plannen/Actief/008-Umbrelapp/TAKEN.md +++ b/Docs/Plannen/Actief/008-Umbrelapp/TAKEN.md @@ -19,12 +19,15 @@ van 40960 naar 49152 bytes. **De protocolversie klopt**, en daarmee is de richting uit [OPEN.md](OPEN.md) punt 6 gemeten in plaats van verwacht. Het protocol en alle metingen staan in [PLAN.md](PLAN.md) §6a -- [ ] **Kijken of het verzoek de iPhone überhaupt verlaat.** Dit is de volgende stap van dit plan, en hij - kost een minuut: open op de telefoon `https:///` in Safari en kijk of Zoraxy een regel - logt. Wél een regel betekent dat de app niet belt; geen regel betekent dat de telefoon die naam niet - bereikt. Zie [OPEN.md](OPEN.md) punt 9 voor alles wat al uitgesloten is. **Eigenaar: gebruiker** +- [x] **Uitgezocht waarom iOS niets doet (28-08-2026): het ligt aan het apparaat en niet aan dit pakket.** + De `OwnerId` wordt op de Trezor afgeleid, en het model van de gebruiker kan nog niet aan een iPhone + gekoppeld worden. Zonder apparaat kent de app geen `deviceStaticSessionId`, en dan slaat Suite een + label lokaal op en doet verder niets, zonder melding. De hele redenering met bronregels staat in + [OPEN.md](OPEN.md) punt 9 - [ ] **De leeskant nog meten.** Er is nooit een tweede werkende cliënt geweest, dus dat een ander apparaat - de labels terugkrijgt is niet gezien. Dit hangt aan de vorige taak: iOS zou die tweede cliënt zijn. + de labels terugkrijgt is niet gezien. **Dit is nu de belangrijkste openstaande controle van dit plan**, + en er is een tweede cliënt voor nodig die wél een sleutel kan afleiden: een tweede desktop met + dezelfde Trezor is de kortste weg. iOS valt af zolang het apparaat niet aan de telefoon kan. **Eigenaar: gebruiker** - [x] **Besloten wat er met het huidige pakket gebeurt (28-08-2026): het gaat eruit.** De relay van Trezor, de quota-manager en de Postgres vervallen. Wat ervoor in de plaats komt staat in [PLAN.md](PLAN.md)