Slack huddles in Arc browser never auto-detected as meetings
Bug Description
Slack huddles running in the Arc browser are never auto-detected as meetings. Manual meeting start works, but automatic detection never fires.
Root Cause (from source)
The Slack detection profile in apps/../crates/screenpipe-engine/src/meeting_watcher/shared/profiles.rs (~line 253) defines:
// Slack Huddle (browser + desktop)
MeetingDetectionProfile {
app_identifiers: AppIdentifiers {
macos_app_names: &["slack"],
windows_process_names: &["slack.exe"],
browser_url_patterns: &["app.slack.com/huddle"],
browser_title_patterns: &[], // <-- empty
},
...
}Three compounding gaps for Arc users:
URL never matches. In a browser, Slack huddles run inside the same workspace tab — the URL stays
https://app.slack.com/client/T.../C...and never becomesapp.slack.com/huddle/.... The/huddleURL only appears when opening a huddle link directly./client/URLs are deliberately rejected as attribution evidence (arc_slack_client_url_does_not_auto_start_when_unattributedtest).No title fallback. The scanner (
ui_scan/pipeline.rs: db_find_browser_meetings) falls back to window-title matching for browsers like Arc that don't expose URLs via AX — but Slack'sbrowser_title_patternsis empty. Google Meet hasbrowser_title_patterns: &["Meet"]; Slack has nothing.AX scan can't help. Arc doesn't expose page URLs via AXDocument, and the huddle's "Leave huddle" AXButton lives in a popover the scan never reaches without a DB hint pointing it at the right window.
Evidence from a live install
- 2,576 of 2,642 Arc frames in the last 24h have
browser_urlpopulated — URL capture works fine - All Slack URLs captured are
app.slack.com/client/...— zero/huddle/URLs ever - The huddle window title IS captured in frames:
"Huddles - leadgen - Slack"— the signal exists, it's just never consulted
Expected Behavior
An Arc huddle window with title like "Huddles - <workspace> - Slack" should trigger the Slack profile the same way Meet's "Meet" title pattern does.
Proposed Fix
Add a title pattern to the Slack profile:
browser_title_patterns: &["huddle"], // or "Huddles"...plus a unit test mirroring the existing arc_slack_client_url_does_not_auto_start_when_unattributed test but with title: "Huddles - workspace - Slack".
Note on false positives: a window titled "Huddles" without an active huddle is rare (it's the huddle list view), and the state machine still requires call-control signals or audio activity to confirm — so a bare title match alone shouldn't phantom-fire. Matching case-insensitively on "huddle" would also cover 1:1 huddle titles ("Alex N (DM) ... huddle").
Environment
- macOS (Apple Silicon)
- Arc browser (Chromium)
- screenpipe app v2.7.x (latest)
- Slack huddles run in Arc tabs, not the Slack desktop app
Source: screenpipe/screenpipe