feat(meetings): natieve calls F3 — land flutter_webrtc + de mediakern-naad (F3.4a) #1138
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!1138
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/native-calls-f3-jitsi-signaling"
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 eerste media-slice van fase F3 (F3.4a):
flutter_webrtclanden + de mediakern-naad, achter de standaard-uit Videovergaderingen-module. Dit is het fundament onder de echte media-join (F3.4b); deze slice opent zelf geen media.Wat
flutter_webrtc 1.5.2toegevoegd (ketenkeuring-voorwaarde 2):make licensesgroen (permissief; lichte transitieve boom:dart_webrtc/webrtc_interface/js/logger/synchronized), SBOM geregenereerd, plugin-registranten (macOS/Linux/Windows) mee.lib/meetings/meeting_media_core.dart— de naad die een adapter aandrijft.mediaE2eeFor(platform)is het pure, geteste E2EE-feit: uit op iOS/macOS (flutter_webrtc-frame-cryptor-crash, Bevinding 6/flutter-webrtc#2135), andersunknown— nooit een claim die OciDeck niet kan verifiëren.lib/meetings/meeting_media_core_webrtc.dart— de enige echte libwebrtc-binding (WebrtcMediaCore), bewust dun.selfTest()haalt de stack op en sluit hem — met legeiceServers, geen offer/tracks: raakt geen netwerk.MediaPreflightTilein de modulekaart — eerlijke bekendmaking: het E2EE-feit vooraf, en op verzoek of de WebRTC-stack op dit apparaat laadt. Injecteerbare mediakern → widget-getest zonder echte stack.Ketenkeuring-voorwaarden (assurance/ketenkeuring-flutter-webrtc.md)
SECURITY.md(ICE/STUN/TURN/SRTP buiten NetGuard, libwebrtc niet de http-client), met de begrenzing (media volgt de gevalideerde signalering, alleen goedgekeurde TURN/SFU, module standaard-uit, fail-closed — afgedwongen wáár de adapter ICE configureert, F3.4b). 4. Belofte + standaard-uit —ARCHITECTURE.mdeerlijk bijgewerkt; de module is default-off, de mediacode onbereikbaar met de module uit.Dekkingsdiscipline (gebruiker-akkoord)
De libwebrtc-binding kan niet in een headless VM draaien. Met jouw akkoord is er een nieuwe, expliciet gedocumenteerde categorie 'untestbare native-binding' in
uncoveredBaseline(los van de platformhelften). Het E2EE-feit dat de binding delegeert is direct op de puremediaE2eeForbewezen;selfTestis de untestbare kern; geen beslislogica verstopt.Eén gerelateerde poortwijziging (transparant): de per-bestand-dekkingsvloer sloeg
uncoveredBaselineals enige dekkingscheck níet over. Dat gaf tot nu niet — de baseline bevatte alleen platform-andere-helften die op de io-test-VM nooit gecompileerd worden. De native-media-binding is anders: hij wordt op élk platform gecompileerd, dus een import (via de preflight-tile) zet hem op 0% in het lcov-rapport en de vloer trigt. Ik heb de per-bestand-vloer daarom consistent gemaakt met de andere twee dekkingschecks (_checkInstrumented+ de gemiddelde vloer) door óókuncoveredBaselineover te slaan. Zonder die fix zou de goedgekeurde exemptie door juist die ene vloer worden tenietgedaan.Reviews
Beveiligingsarchitect GO (selfTest raakt aantoonbaar geen netwerk — geen offer/tracks/iceCandidatePoolSize → geen ICE-gathering/mDNS; NetGuard-gat-doc accuraat; E2EE-feit correct; geen omzeilpad). Kernwaardenbewaker GO (standaard-uit, gat eerlijk erkend, E2EE nooit groter dan de code, formaat/soevereiniteit onaangetast). Drie docs-precisie-punten + de comment-anker-nota doorgevoerd.
Wat jij live moet toetsen
Deze slice is structureel volledig getest en opent geen media, dus er is nog geen echte call om te verifiëren. Het enige apparaat-specifieke: klik in de module op "Media-stack testen" om te bevestigen dat libwebrtc op jouw platform laadt. De echte join (media-tracks, ICE/TURN, camera/mic — met
docker-jitsi-meet+ twee clients) komt in F3.4b.Poortstand
Op verse
origin/maingerebased.make checkvolledig groen — alle statische poorten, de SBOM-/notices-/licentiepoort, de volledige testsuite én beide dekkingsvloeren. Ratchet-trend exit 0; secrets (gitleaks/trufflehog) en SAST (semgrep) schoon.