feat(collab): sessie-chat, E2EE en ondertekend (Matrix) #1071
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!1071
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/matrix-chat"
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 laatste brok van #977: een chat-paneel tijdens een realtime sessie, zodat mede-auteurs kunnen overleggen zonder het deck te verlaten.
Wat
matrix_chat.dart—MatrixChat+ChatMessage. Berichten op timeline-events (een gesprek is historie, dus het stapelt), verzegeld zoals de deck-inhoud én ondertekend: alle sessieleden delen de epoch-sleutel, dus zonder handtekening zou één lid een bericht kunnen vervalsen op naam van een ander, en chat is juist waar "wie zei wat" moet kloppen. Eigen berichten echoën lokaal en worden bij ontvangst overgeslagen; peers die vóór hun sleutel binnenkomen worden gebufferd en heropend inretryPending.MatrixCollabLaunch.sendChat/chatMessages/onChatChanged;syncNowretryt chat elke ronde;ownUserIddoorgevoerd voor de eigen echo.CollabSessionState.chatMessages,sendChatMessage, encollabChatOpenProvider.CollabChatPanelals niet-blokkerend rechterpaneel (naast de editor — bewerken loopt door), geopend via het commandopalet;collabChatRailspreidt het in de werkruimte-rij. Eigen berichten rechts, peers links met een presence-gekleurde stip.Toetsing
make checkgroen: 7819 tests, dekking 87,5%, per-bestandsvloer 0 onder.Rondt #977 volledig af: onboarding → transport → sessie → host/deel/join → apparaatverificatie → presence → chat. Alles pure Dart, EUPL-1.2 behouden, geen AGPL/Rust. Rollen-als-power-levels bewust niet gebouwd (app-autoriteit dekt het; toegelicht bij het sluiten van #977).