feat(presenter): microfoon-doorvoer tijdens presenteren (#2158) #2160
No reviewers
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
release-blocker
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck!2160
Loading…
Reference in a new issue
No description provided.
Delete branch "feature/mic-monitor-presenter"
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?
Summary
MicMonitor-naad (lib/services/mic_monitor.dart) met één dunne binding opflutter_webrtc(mic_monitor_webrtc.dart): een lokale loopback van twee peer connections in één proces,iceServersleeg — er verdwijnt niets het netwerk op.mic/mic_none, rood wanneer live) plus sneltoetsVen legenda-rij; desktop-only, op web staat de knop niet.NSMicrophoneUsageDescriptiontoegevoegd aanmacos/Runner/Info.plist— zonder die key crasht getUserMedia onder TCC.tool/add_l10n.dartin alle 31 overlays.Test plan
test/mic_monitor_presenter_test.dart: 7 tests met een fake achter de naad — aan/uit via knop enV, foutpad, busy-guard, exit tijdens hangende start en tijdens actieve doorvoer.make check: alle statische poorten, volledige suite (11909 tests), dekkingsvloer én per-file-vloer groen.make check-secrets(gitleaks + trufflehog): schoon.make sast(semgrep): 0 findings.make test-golden: faalt op deze machine — ook op schonemain(32 PNG's, allemaal 0.00%/enkele-pixels verschil; vermoedelijk drift door de Flutter-pin 3.47.4→3.47.5). Niet door deze wijziging veroorzaakt: deze PR raakt de slide-renderer niet. De goldens zijn bewust machine-specifiek en niet-required;macos-gate.ymltoetst ze post-merge op de Mac-runner.Bewaker-notitie
Deze wijziging raakt een vertrouwensgrens (microfoon) en een dependency (
flutter_webrtc, al aanwezig). Waardenafweging: soevereiniteit gaat voor — de doorvoer is sessiegedrag, staat standaard uit, wordt nergens opgeslagen (niet in deck-metadata, niet in AppSettings) en opent géén netwerkpad (legeiceServers, geen signalling). De binding kan geen opname doen: er is geen recorder, alleen render-naar-uitvoer.Closes #2158
Generated with Devin