Samenwerken stap 4: Fase 1 — Matrix-dataplane #977
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck#977
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Echte remote samenwerking: de MatrixTransport achter het CollabTransport-interface uit Fase 0 (#975), met room-encryptie aan vanaf de eerste genetwerkte byte (P4). COLLABORATION.md §6, §8, §10 Fase 1. Gaat pas van start na een GO uit de ketenkeuring.
Drie à vier PR-formaat stappen:
Webnotitie: CSP connect-src moet de homeserver-wss: toestaan (web-build-hardening).
Op pauze na de ketenkeuring #976: NO-GO op de matrix-Dart-SDK onder het huidige beleid (matrix + vodozemac zijn AGPL-3.0 → valt de eigen licentiepoort en herlicenseert de binary de facto; crypto is native Rust op Windows/Linux/web; SBOM ziet de Cargo-boom niet). Zie assurance/ketenkeuring-matrix-sdk.md.
Deze stap start pas na een expliciet beleidsbesluit (AGPL aanvaarden + de vier voorwaarden uit de keuring). Tot dan is de aanbevolen samenwerkweg Fase 0.5 (WebDAV-async, nul nieuwe deps), belegd in #989.
Afgerond en gemerged op
main. De Matrix-dataplane is gebouwd als pure-Dart self-encrypted relay — de homeserver als versleuteld doorgeefluik met OciDecks eigen minimale E2EE (X25519/Ed25519/HKDF/XChaCha20-Poly1305, key-wrapping; géén Olm/Megolm), zodat de EUPL-1.2 behouden blijft en er geen AGPL/Rust binnenkomt.De vier stappen uit dit issue:
whoamivult user-id én device-id (dat laatste móét het token-device-id zijn, anders komt een key-share niet aan, §4.3). Beslispunt default-homeserver → géén default, leeg met eigen invoer. (#1034, #1039)nl.ocideck.op-timeline-events, locks als room-state, snapshot gechunkt (cap ~48 KiB), E2EE aan. (eerdere P-C/P-D-PR's)Beslispunt rollen-als-power-levels: bewust niet als Matrix power levels gebouwd. De inhoud is E2EE en de autoriteit wordt al op app-niveau afgedwongen (
isAuthority/host-gast, alleen de eigenaar persisteert). De homeserver kan de inhoud toch niet lezen, dus room-power-levels zouden geen vertrouwelijkheid toevoegen; ze zijn opgevat als afgedekt.Webnotitie (CSP):
connect-src 'self' https:in de webbundel dekt de homeserver al — we pollen over https, geenwss:nodig.Toetsing: volledig headless tegen een in-Dart fake-homeserver (host→join→co-author, key-uitwisseling, snapshot, presence, chat, deelnemers/fingerprints).
make checkgroen bij elke PR (~7.800 tests, ~87,5% dekking), l10n in alle 31 talen.Nog buiten dit issue, als aparte pre-release-voorwaarden: een échte tweezijdige host→join in de draaiende app (vereist een live Matrix-homeserver + twee clients; testomgeving wordt lokaal opgezet), en de staande externe crypto-review (ketenkeuring-conditie 1). De crypto is daarom bewust minimaal gehouden.
Alle scope van dit issue is opgeleverd en gemerged; ik sluit het.