feat(collab): host/deel/join-UI voor realtime samenwerken (Matrix) #1061
No reviewers
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!1061
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/matrix-host-join-ui"
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?
De demonstreerbare kern van de #977-plak: een realtime sessie starten, de link delen, en via een link deelnemen — vanuit het commandopalet (Ctrl/Cmd+K).
Wat
collabPaletteCommandstoont de Matrix-acties zodra een Matrix-account is ingesteld (#1039), náást de bestaande WebDAV-acties: "Realtime samenwerken starten" en "Deelnemen via een link". Tijdens een sessie: de link opnieuw kopiëren (host) en verlaten.matrix_collab_dialogs.dart: de host krijgt een deelbare-link-dialoog met één-tik-kopiëren; een guest plakt een link. De link is het room-geheim (toegang tot de sessie), niet tot de inhoud — die blijft E2EE met OciDecks eigen sleutels.listenMatrixCollabtoont de uitkomst reactief op de fase-overgang: de invite-dialoog van de host, "je doet nu live mee" voor een guest, of de gelokaliseerde reden bij mislukken. Nodig omdat een guest pas actief wordt zodra de baseline binnenkomt, ruim ná de actie.CollabSessionState.isMatrixonderscheidt de twee transports over de hele levenscyclus.Toetsing
make checkgroen: 7806 tests, dekking 87,4%, per-bestandsvloer 0 onder.Draaiende-app-review
De sessie-levenscyclus is volledig headless getoetst. Een échte tweezijdige host→join in de draaiende app vereist een live Matrix-homeserver (en twee clients); dat is infrastructuur die niet in deze omgeving staat. De UI-oppervlakken (Samenwerken-instellingen, palet-acties, dialogen) zijn per widgettest bevestigd; een beeldkeuring van die oppervlakken kan los volgen.
Sluit de verticale plak voor #977 (self-encrypted relay, pure Dart): datalaag → account → provider → UI, alles pure Dart, EUPL-1.2 behouden.