feat(cli): add --disable-meeting-detector to skip v2 meeting watcher#3387
Merged
louis030195 merged 1 commit intoMay 14, 2026
Merged
Conversation
Collaborator
|
@rhodium-inc why not just disabling audio? also can u resolve conflicts |
Contributor
Author
|
Hi @louis030195 — thanks for the quick look!
So it's the audio-on / meetings-off complement to Rebasing onto main now to clear the conflict (#3385 touched the same |
Add an opt-in flag to skip the v2 meeting detector's UI scanner, which walks every running process's accessibility tree every 5 seconds to detect Zoom/Teams/Meet call control elements. For tools that don't consume meeting state (task-mining, headless analysis, agents that only care about `accessibility_text` and `ui_events`), the scanner is pure overhead. Discord users have already reported related friction (e.g. bluetooth headsets being forced into HFP mode by always-on mic capture); offering a single flag that lets users opt out of the meeting-detection stack helps that audience too. The flag is opt-in (default false). When set, `MeetingDetector` is never instantiated and the watcher is never spawned, so the audio pipeline's `in_meeting` override flag stays false. Implementation: - screenpipe-config: RecordingSettings.disable_meeting_detector (persisted) - screenpipe-engine/cli: --disable-meeting-detector - screenpipe-engine/recording_config: RecordingConfig propagation - screenpipe-engine/bin: extend the meeting_detector init branch so that it returns None when disable_meeting_detector is set; the watcher start path is already gated by `if let Some(meeting_detector)` Validated by: - cargo build --release --target x86_64-pc-windows-msvc --workspace --exclude screenpipe-rfdetr-mlx - screenpipe record --help shows the new flag - Run with --disable-meeting-detector --disable-audio confirmed: - Startup log prints \"meeting detector disabled via --disable-meeting-detector\" - No \"meeting scanner: pid=...\" log lines (the 5s scanner is silent) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
76c65f6 to
e09f371
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add an opt-in
--disable-meeting-detectorCLI flag (and matchingdisableMeetingDetectorsettings field) that skips the v2 meeting detector's UI scanner.Motivation
The v2 meeting detector walks every running process's accessibility tree every 5 seconds to detect Zoom/Teams/Meet call control elements. Great for users who want automatic meeting tracking.
For tools that don't consume meeting state (task-mining tools, headless analysis pipelines, agents that only care about
accessibility_textandui_events), the scanner is pure overhead — the 5s process enumeration + AX tree walk shows up as visible CPU bursts on lower-tier machines.Related user friction: Discord reports (e.g. bluetooth headsets being forced into HFP mode by always-on mic capture) show that users sometimes want to opt out of the meeting-detection stack altogether. This flag offers that opt-out path.
Behavior
false— no change for existing usersMeetingDetectoris never instantiated (the existingdisable_audiobranch is extended)if let Some(meeting_detector))meeting detector disabled via --disable-meeting-detectorin_meetingoverride flag stays falseImplementation
Validation
Context
Companion PR to #3385 (
--disable-snapshot-compaction). Both are small, isolated CLI flags for task-mining / headless-recording use cases. Submitted separately to keep review easy.