feat(collab): Matrix-account in de instellingen (sectie Samenwerken) #1039

Merged
brenno merged 1 commit from feat/matrix-account-ui into main 2026-08-01 08:08:28 +00:00
Owner

De eerste UI-brok van de #977-plak: een app-globaal Matrix-account instellen. Bewust wachtwoordloos (besluit 2026-08-01) — de app raakt nooit een wachtwoord aan.

Wat

  • Nieuwe instellingen-sectie "Samenwerken" (SettingsSection.collaboration) met een eigen tabblad — Matrix is bewust géén opslagverbinding (een homeserver is een rendez-vous, geen deck-opslag).
  • MatrixPanel + MatrixForm (spiegelen GitPanel/GitForm): de gebruiker plakt een homeserver en een elders aangemaakt access-token; "Verbinding testen" bevestigt het token via whoami en vult user-id én device-id in. De config gaat via setMatrixAccount naar prefs, het token versleuteld naar de keychain.
  • whoami() geeft nu ook het device-id terug. Niet cosmetisch: de sleutel-uitwisseling adresseert een to-device-bericht op user-id:device-id, dus een verkeerd device-id laat een mede-auteur stil buiten de sessie vallen (§4.3). Vandaar dat de test-knop het invult i.p.v. het te laten raden.

Toetsing

  • MatrixForm (config/adopt/identity/saveSecret), MatrixPanel (render, whoami-invulling, foutpaden), de Samenwerken-tab in de dialoog, en de uitgebreide whoami in de client + fake-homeserver.
  • make check groen: 7773 tests, dekking 87,4%, per-bestandsvloer 0 onder.
  • l10n: 21 nieuwe bronstrings × 31 talen (placeholders + de vakterm "Homeserver" op de witte lijst). SOURCE_MAP bijgewerkt.

Onderdeel van de verticale plak voor #977 (self-encrypted relay, pure Dart). Volgende stap PR-3c: de host/deel/join-UI + fingerprint-verificatie, mét draaiende-app-review (beeldkeurder + gebruikerstester).

De eerste UI-brok van de #977-plak: een app-globaal Matrix-account instellen. Bewust wachtwoordloos (besluit 2026-08-01) — de app raakt nooit een wachtwoord aan. ## Wat - Nieuwe instellingen-sectie **"Samenwerken"** (`SettingsSection.collaboration`) met een eigen tabblad — Matrix is bewust géén opslagverbinding (een homeserver is een rendez-vous, geen deck-opslag). - **`MatrixPanel` + `MatrixForm`** (spiegelen `GitPanel`/`GitForm`): de gebruiker plakt een homeserver en een elders aangemaakt access-token; **"Verbinding testen"** bevestigt het token via `whoami` en vult user-id én device-id in. De config gaat via `setMatrixAccount` naar prefs, het token versleuteld naar de keychain. - **`whoami()` geeft nu ook het device-id terug.** Niet cosmetisch: de sleutel-uitwisseling adresseert een to-device-bericht op `user-id:device-id`, dus een verkeerd device-id laat een mede-auteur stil buiten de sessie vallen (§4.3). Vandaar dat de test-knop het invult i.p.v. het te laten raden. ## Toetsing - `MatrixForm` (config/adopt/identity/saveSecret), `MatrixPanel` (render, whoami-invulling, foutpaden), de Samenwerken-tab in de dialoog, en de uitgebreide `whoami` in de client + fake-homeserver. - `make check` groen: 7773 tests, dekking 87,4%, per-bestandsvloer 0 onder. - l10n: 21 nieuwe bronstrings × 31 talen (placeholders + de vakterm "Homeserver" op de witte lijst). SOURCE_MAP bijgewerkt. Onderdeel van de verticale plak voor #977 (self-encrypted relay, pure Dart). Volgende stap PR-3c: de host/deel/join-UI + fingerprint-verificatie, mét draaiende-app-review (beeldkeurder + gebruikerstester).
feat(collab): Matrix-account in de instellingen (sectie Samenwerken)
All checks were successful
scans / scans (pull_request) Successful in 3m28s
c9bdcdac4b
De eerste UI-brok van de #977-plak: een app-globaal Matrix-account instellen
(PR-3b). Bewust wachtwoordloos (besluit 2026-08-01) — de app raakt nooit een
wachtwoord aan.

- Nieuwe instellingen-sectie "Samenwerken" (`SettingsSection.collaboration`),
  eigen tabblad want Matrix is géén opslagverbinding (een homeserver is een
  rendez-vous, geen deck-opslag).
- `MatrixPanel` + `MatrixForm` (spiegelen GitPanel/GitForm): de gebruiker plakt
  een homeserver en een elders aangemaakt access-token; "Verbinding testen"
  bevestigt het token via `whoami` en vult user-id én device-id in. De config
  gaat via `setMatrixAccount` naar prefs, het token versleuteld naar de keychain.
- `whoami()` geeft nu ook het device-id terug. Dat is niet cosmetisch: de
  sleutel-uitwisseling adresseert een to-device-bericht op `user-id:device-id`,
  dus een verkeerd device-id laat een mede-auteur stil buiten de sessie vallen
  (§4.3). Vandaar dat de test-knop het invult i.p.v. het te laten raden.

- Tests: MatrixForm (config/adopt/identity/saveSecret), MatrixPanel
  (render, whoami-invulling, foutpaden), de Samenwerken-tab in de dialoog, en de
  uitgebreide whoami in de client. `make check` groen (7773 tests, 87,4% dekking).
- l10n: 21 nieuwe bronstrings × 31 talen; placeholders + de vakterm "Homeserver"
  op de witte lijst. SOURCE_MAP bijgewerkt.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
brenno merged commit 2c3ac07b08 into main 2026-08-01 08:08:28 +00:00
brenno deleted branch feat/matrix-account-ui 2026-08-01 08:08:29 +00:00
Sign in to join this conversation.
No description provided.