Echt deelnemen aan een Jitsi-vergadering (#2534) #2581

Merged
brenno merged 1 commit from feat/jitsi-call-02-meeting-session into main 2026-10-24 18:59:17 +00:00
Owner

Samenvatting

De Deelnemen-knop in de vergaderlink-check joint nu echt een Jitsi-kamer via het provider-neutrale MeetingSession-contract:

  • jitsi_signaling.dart — pure Jitsi-wirelaag (conference-IQ incl. verplicht machine-uid, Jingle session-initiate/accept/terminate, source-add, SourceInfo), gemodelleerd naar de echte wire uit de testbed, fail-closed geparsed.
  • jitsi_sdp.dart — pure Jingle↔SDP-vertaling.
  • MeetingMediaCore-seam uitgebreid (openConnection, remote tracks, liveness, transceiver/replaceTrack-model) + WebrtcMediaCore-binding.
  • jitsi_meeting_session.dart — de orchestrator: conference-IQ → MUC-join → roster → session-initiate → SDP-antwoord → accept → source-aankondiging → liveness → deelnemers/events; mute/camera/chat/leave/rejoin; connected pas bij echte medialiveness.
  • JitsiMeetingProvider.join() — echte NetGuard-gepinde transport, anonieme auth, XEP-0030 MUC-discovery, getypeerde MeetingJoinException (nu provider-neutraal).
  • UI: Deelnemen adopt de sessie in de root-scoped meetingSessionProvider; getypeerde fouten renderen inline.

Bewijs

  • make check volledig groen; check-secrets 0, sast 0 findings.
  • Gated integratietest make test-jitsi-integration: twee OciDeck-clients delen één kamer over echte Jicofo-signalling (conference-IQ, MUC-roster, groupchat, SourceInfo-mute, leave). Media aan de MeetingMediaCore-seam gefaket — libwebrtc draait niet headless; echte RTP door dezelfde stack bewijst testbed/jitsi-meet/probe.
  • Twee deployment-bevindingen uit de echte wire vastgelegd: machine-uid is verplicht in de conference-IQ; MUC-resources mogen geen streepjes bevatten (nicks nu ocideck_xxxxxxxx).

Testplan

  • make check groen (14630+ tests, coverage, goldens)
  • Gated testbed-integratietest groen (2 clients, 1 kamer, echte Jicofo)
  • Visuele keuring dialog-states (consent/canJoin/join-fout, licht + donker)
  • On-device RTP-bewijs volgt in F3.4c-slice

Generated with Devin

## Samenvatting De **Deelnemen**-knop in de vergaderlink-check joint nu echt een Jitsi-kamer via het provider-neutrale `MeetingSession`-contract: - `jitsi_signaling.dart` — pure Jitsi-wirelaag (conference-IQ incl. verplicht `machine-uid`, Jingle session-initiate/accept/terminate, source-add, `SourceInfo`), gemodelleerd naar de echte wire uit de testbed, fail-closed geparsed. - `jitsi_sdp.dart` — pure Jingle↔SDP-vertaling. - `MeetingMediaCore`-seam uitgebreid (openConnection, remote tracks, liveness, transceiver/`replaceTrack`-model) + `WebrtcMediaCore`-binding. - `jitsi_meeting_session.dart` — de orchestrator: conference-IQ → MUC-join → roster → session-initiate → SDP-antwoord → accept → source-aankondiging → liveness → deelnemers/events; mute/camera/chat/leave/rejoin; `connected` pas bij echte medialiveness. - `JitsiMeetingProvider.join()` — echte NetGuard-gepinde transport, anonieme auth, XEP-0030 MUC-discovery, getypeerde `MeetingJoinException` (nu provider-neutraal). - UI: Deelnemen adopt de sessie in de root-scoped `meetingSessionProvider`; getypeerde fouten renderen inline. ## Bewijs - `make check` volledig groen; `check-secrets` 0, `sast` 0 findings. - Gated integratietest `make test-jitsi-integration`: twee OciDeck-clients delen één kamer over echte Jicofo-signalling (conference-IQ, MUC-roster, groupchat, SourceInfo-mute, leave). Media aan de `MeetingMediaCore`-seam gefaket — libwebrtc draait niet headless; echte RTP door dezelfde stack bewijst `testbed/jitsi-meet/probe`. - Twee deployment-bevindingen uit de echte wire vastgelegd: `machine-uid` is verplicht in de conference-IQ; MUC-resources mogen geen streepjes bevatten (nicks nu `ocideck_xxxxxxxx`). ## Testplan - [x] `make check` groen (14630+ tests, coverage, goldens) - [x] Gated testbed-integratietest groen (2 clients, 1 kamer, echte Jicofo) - [x] Visuele keuring dialog-states (consent/canJoin/join-fout, licht + donker) - [ ] On-device RTP-bewijs volgt in F3.4c-slice Generated with [Devin](https://devin.ai)
De Deelnemen-knop joint nu echt: focus-conference-IQ (met het verplichte
machine-uid), MUC-join met displaynaam en SourceInfo, Jingle
session-initiate/accept, source-add, roster, chat, mute en leave via het
provider-neutrale MeetingSession-contract — verbonden pas bij echte
medialiveness. Bewezen tegen de gepinde testomgeving met twee OciDeck-clients
in één kamer; media is aan de MeetingMediaCore-seam gefaket omdat libwebrtc
niet headless draait (echte RTP bewijst de testbed-probe).

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
brenno merged commit 0bde401dfc into main 2026-10-24 18:59:17 +00:00
Sign in to join this conversation.
No description provided.