EPIC — Werkend deelnemen aan een Jitsi-call in OciDeck #2532

Closed
opened 2026-10-22 20:09:09 +00:00 by brenno · 1 comment
Owner

Gebruikersdoel

Ik plak of open een Jitsi-uitnodiging, zie vooraf welke server en identiteit ik gebruik, neem in OciDeck daadwerkelijk deel aan de vergadering, zie en hoor andere deelnemers, kan zelf spreken, camera/scherm bedienen en de call verlaten. Daarna kan de aparte transcriptieroute #2526 de echte audiotracks gebruiken. Een paneel met een fake sessie of alleen een media-stacktest voldoet niet.

Huidige feitelijke basis

lib/meetings/ bevat MeetingProvider/MeetingSession, opaque MeetingTrack, WebrtcMediaCore.selfTest() en een callpaneel. lib/xmpp/ bevat een geteste XMPP-kern. Er is geen lib/meetings/providers/ en meeting_session_provider.dart zegt expliciet dat de draaiende app nog geen in-app joinflow heeft. De gesloten #974 betrof een eerdere IFrame-richting; het huidige ontwerp in docs/design/NATIVE_CALLS.md kiest de native Jitsi-adapter en beschrijft F3.4b als open bouwstap. Gesloten #1104 en #1138 zijn fundament, geen echte call.

Scope

Eerste werkelijk ondersteunde provider: een geteste Jitsi-deployment via een adapter achter dezelfde MeetingSession-interface. Test publieke en zelf gehoste deployments afzonderlijk en claim alleen wat werkt. De huidige releaseplatforms zijn macOS, Windows, Linux en web; per platform geldt een echte callproef vóór een positieve claim. MatrixRTC, Teams-gastdeelname, eigen SFU en het projecteren van een OciDeck-slide als video zijn aparte vervolgroutes en vormen geen excuus om deze eerste call bij een mock te laten.

Levering en grens

De deelissues bouwen in volgorde: veilige uitnodiging/preflight, Jitsi-signalling, WebRTC-media, echte UI/levenscyclus, schermdelen en platformacceptatie. De UI toont geen deelnemogelijkheid wanneer een verplichte laag ontbreekt. Pas na een aantoonbaar werkende call kan #2527 de providerneutrale opnamebron aansluiten; de recorder zelf blijft afzonderlijk standaard uit.

Bouwvolgorde

  • #2533 — Jitsi-call 01 — uitnodiging, providerprofiel en veilige preflight
  • #2534 — Jitsi-call 02 — echte Jitsi-signalling en MeetingSession (na #2533)
  • #2535 — Jitsi-call 03 — echte WebRTC-audio en video in beide richtingen (na #2534)
  • #2536 — Jitsi-call 04 — werkelijke joinflow, callbediening en sessielevenscyclus (na #2533, #2534, #2535)
  • #2537 — Jitsi-call 05 — schermdelen vanuit de actieve OciDeck-call (na #2535, #2536)
  • #2538 — Jitsi-call 06 — echte platformproeven, setupgids en vrijgave voor transcriptie (na #2536, #2537)

Echte platformproeven

  • #2540 — Callbewijs 01 — herhaalbare Jitsi-testomgeving met twee echte clients
  • #2541 — Callbewijs — echte Jitsi-call op macOS
  • #2542 — Callbewijs — echte Jitsi-call op Windows
  • #2543 — Callbewijs — echte Jitsi-call op Linux
  • #2544 — Callbewijs — echte Jitsi-call op web

Definitie van klaar

  • Een gebruiker sluit op ieder als ondersteund geclaimd platform vanuit OciDeck aan bij een echte Jitsi-kamer met minstens een tweede onafhankelijke client, ontvangt én verzendt hoorbare spraak en ziet de deelnemers/video waar geclaimd.
  • Microfoon/camera/scherm en leave werken op de werkelijke sessie; permissieverlies, netwerkuitval en serverweigering hebben een veilig en begrijpelijk pad.
  • Signalling- en media-egress, consent, E2EE-feit, providerbeleid en loggrenzen zijn getoetst; geen fake adapter in de productie-joinroute.
  • De platformgids en releaseproeven onderscheiden bewezen combinaties van niet beschikbare of niet geteste combinaties; repository-native poort en PR-CI zijn volledig afgehandeld.

Bronnen

OciDeck docs/design/NATIVE_CALLS.md §7.1/§8, docs/design/COLLABORATION.md §7.1.6; Jitsi-architectuur: https://jitsi.github.io/handbook/docs/architecture/ ; flutter_webrtc-platformmatrix: https://pub.dev/documentation/flutter_webrtc/latest/ .

## Gebruikersdoel Ik plak of open een Jitsi-uitnodiging, zie vooraf welke server en identiteit ik gebruik, neem in OciDeck daadwerkelijk deel aan de vergadering, zie en hoor andere deelnemers, kan zelf spreken, camera/scherm bedienen en de call verlaten. Daarna kan de aparte transcriptieroute [#2526](https://pawprint.vigilis.online/LibreKAT/Ocideck/issues/2526) de echte audiotracks gebruiken. Een paneel met een fake sessie of alleen een media-stacktest voldoet niet. ## Huidige feitelijke basis `lib/meetings/` bevat `MeetingProvider`/`MeetingSession`, opaque `MeetingTrack`, `WebrtcMediaCore.selfTest()` en een callpaneel. `lib/xmpp/` bevat een geteste XMPP-kern. Er is geen `lib/meetings/providers/` en `meeting_session_provider.dart` zegt expliciet dat de draaiende app nog geen in-app joinflow heeft. De gesloten #974 betrof een eerdere IFrame-richting; het huidige ontwerp in `docs/design/NATIVE_CALLS.md` kiest de native Jitsi-adapter en beschrijft F3.4b als open bouwstap. Gesloten #1104 en #1138 zijn fundament, geen echte call. ## Scope Eerste werkelijk ondersteunde provider: een geteste Jitsi-deployment via een adapter achter dezelfde `MeetingSession`-interface. Test publieke en zelf gehoste deployments afzonderlijk en claim alleen wat werkt. De huidige releaseplatforms zijn macOS, Windows, Linux en web; per platform geldt een echte callproef vóór een positieve claim. MatrixRTC, Teams-gastdeelname, eigen SFU en het projecteren van een OciDeck-slide als video zijn aparte vervolgroutes en vormen geen excuus om deze eerste call bij een mock te laten. ## Levering en grens De deelissues bouwen in volgorde: veilige uitnodiging/preflight, Jitsi-signalling, WebRTC-media, echte UI/levenscyclus, schermdelen en platformacceptatie. De UI toont geen deelnemogelijkheid wanneer een verplichte laag ontbreekt. Pas na een aantoonbaar werkende call kan [#2527](https://pawprint.vigilis.online/LibreKAT/Ocideck/issues/2527) de providerneutrale opnamebron aansluiten; de recorder zelf blijft afzonderlijk standaard uit. ## Bouwvolgorde - [#2533](https://pawprint.vigilis.online/LibreKAT/Ocideck/issues/2533) — Jitsi-call 01 — uitnodiging, providerprofiel en veilige preflight - [#2534](https://pawprint.vigilis.online/LibreKAT/Ocideck/issues/2534) — Jitsi-call 02 — echte Jitsi-signalling en MeetingSession (na #2533) - [#2535](https://pawprint.vigilis.online/LibreKAT/Ocideck/issues/2535) — Jitsi-call 03 — echte WebRTC-audio en video in beide richtingen (na #2534) - [#2536](https://pawprint.vigilis.online/LibreKAT/Ocideck/issues/2536) — Jitsi-call 04 — werkelijke joinflow, callbediening en sessielevenscyclus (na #2533, #2534, #2535) - [#2537](https://pawprint.vigilis.online/LibreKAT/Ocideck/issues/2537) — Jitsi-call 05 — schermdelen vanuit de actieve OciDeck-call (na #2535, #2536) - [#2538](https://pawprint.vigilis.online/LibreKAT/Ocideck/issues/2538) — Jitsi-call 06 — echte platformproeven, setupgids en vrijgave voor transcriptie (na #2536, #2537) ## Echte platformproeven - [#2540](https://pawprint.vigilis.online/LibreKAT/Ocideck/issues/2540) — Callbewijs 01 — herhaalbare Jitsi-testomgeving met twee echte clients - [#2541](https://pawprint.vigilis.online/LibreKAT/Ocideck/issues/2541) — Callbewijs — echte Jitsi-call op macOS - [#2542](https://pawprint.vigilis.online/LibreKAT/Ocideck/issues/2542) — Callbewijs — echte Jitsi-call op Windows - [#2543](https://pawprint.vigilis.online/LibreKAT/Ocideck/issues/2543) — Callbewijs — echte Jitsi-call op Linux - [#2544](https://pawprint.vigilis.online/LibreKAT/Ocideck/issues/2544) — Callbewijs — echte Jitsi-call op web ## Definitie van klaar - [ ] Een gebruiker sluit op ieder als ondersteund geclaimd platform vanuit OciDeck aan bij een echte Jitsi-kamer met minstens een tweede onafhankelijke client, ontvangt én verzendt hoorbare spraak en ziet de deelnemers/video waar geclaimd. - [ ] Microfoon/camera/scherm en leave werken op de werkelijke sessie; permissieverlies, netwerkuitval en serverweigering hebben een veilig en begrijpelijk pad. - [ ] Signalling- en media-egress, consent, E2EE-feit, providerbeleid en loggrenzen zijn getoetst; geen fake adapter in de productie-joinroute. - [ ] De platformgids en releaseproeven onderscheiden bewezen combinaties van niet beschikbare of niet geteste combinaties; repository-native poort en PR-CI zijn volledig afgehandeld. ## Bronnen OciDeck `docs/design/NATIVE_CALLS.md` §7.1/§8, `docs/design/COLLABORATION.md` §7.1.6; Jitsi-architectuur: https://jitsi.github.io/handbook/docs/architecture/ ; flutter_webrtc-platformmatrix: https://pub.dev/documentation/flutter_webrtc/latest/ .
Author
Owner

Epic afgerond — alle deelissues zijn gesloten en de definitie van klaar is gehaald:

  • Deelname op geclaimde platforms: echte tweepersoonscalls bewezen op het macOS-release-artefact (#2541) en op de uitgebrachte webbundel (#2538). Windows en Linux zijn niet getest en worden ook niet geclaimd — de capability-matrix in docs/design/NATIVE_CALLS.md onderscheidt bewezen, niet-beschikbare en niet-geteste combinaties expliciet.
  • Sessiebediening: mic/camera/schermdelen/leave werken op de echte sessie; permissiepaden (macOS TCC), serverweigering, gemodereerde kamer en onbereikbare server hebben getypeerde, begrijpelijke paden.
  • Grenzen getoetst: egress, consent per interne server, E2EE-feit (eerlijk uit), providerbeleid en logprivacy; geen fake adapter in de productieroute.
  • Losse eindjes, eerlijk benoemd: apparaatverlies mid-call en echte netwerkuitval zijn niet getest; de call-audiobron voor transcriptie is niet vrijgegeven (geen per-bron taps in de huidige binding — #2527).

De route naar een hele-call-opname (#2526 e.v.) blijft staan als aparte, geblokkeerde keten — dat raakt dit epic niet meer.

Epic afgerond — alle deelissues zijn gesloten en de definitie van klaar is gehaald: - **Deelname op geclaimde platforms:** echte tweepersoonscalls bewezen op het macOS-release-artefact (#2541) en op de uitgebrachte webbundel (#2538). Windows en Linux zijn niet getest en worden ook niet geclaimd — de capability-matrix in `docs/design/NATIVE_CALLS.md` onderscheidt bewezen, niet-beschikbare en niet-geteste combinaties expliciet. - **Sessiebediening:** mic/camera/schermdelen/leave werken op de echte sessie; permissiepaden (macOS TCC), serverweigering, gemodereerde kamer en onbereikbare server hebben getypeerde, begrijpelijke paden. - **Grenzen getoetst:** egress, consent per interne server, E2EE-feit (eerlijk uit), providerbeleid en logprivacy; geen fake adapter in de productieroute. - **Losse eindjes, eerlijk benoemd:** apparaatverlies mid-call en echte netwerkuitval zijn niet getest; de call-audiobron voor transcriptie is niet vrijgegeven (geen per-bron taps in de huidige binding — #2527). De route naar een hele-call-opname (#2526 e.v.) blijft staan als aparte, geblokkeerde keten — dat raakt dit epic niet meer.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
LibreKAT/Ocideck#2532
No description provided.