feat(desktop): add meeting chat disclosure#5350
Conversation
✅ Deploy Preview for old-char canceled.
|
| return Ok(()); | ||
| } | ||
|
|
||
| Ok(()) |
There was a problem hiding this comment.
Disclosure reports success even when message isn't sent
Medium Severity
type_disclosure_into_input returns Ok(()) even when neither the confirm action nor the send button press succeeds. The message text gets placed into the input field but is never actually sent. The caller try_post_disclosure interprets any Ok(()) as Ok(true) — meaning "disclosure posted" — so the entire chain up to the TypeScript layer silently reports success. For a feature whose purpose is to "post a short recording notice," an unsent draft in a text field is not visible to other meeting participants.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit 76ca4fc. Configure here.
76ca4fc to
993bef4
Compare
993bef4 to
c4a5b0d
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
There are 3 total unresolved issues (including 1 from previous review).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit c4a5b0d. Configure here.
| } | ||
|
|
||
| post_key_combination(ANSI_V_KEY_CODE, cg::EventFlags::CMD) | ||
| } |
There was a problem hiding this comment.
Pasteboard overwritten without saving and restoring original content
Medium Severity
paste_disclosure_message overwrites the system pasteboard with the disclosure text and simulates Cmd+V but never saves or restores the user's previous clipboard content. Since this runs automatically (via the opt-in setting) at the start of every meeting, the user's clipboard is silently destroyed as a side effect. This is especially surprising because the function is called from spawn_blocking and the user may have important content on their clipboard.
Reviewed by Cursor Bugbot for commit c4a5b0d. Configure here.
c4a5b0d to
c4d9c17
Compare
Add an opt-in setting that posts a recording disclosure to supported meeting chats and cover Microsoft Teams auto-stop behavior.
Show the meeting disclosure action in the floating meeting bar and wire it through the windows plugin event bridge.
c4d9c17 to
ed82b88
Compare


Add an opt-in setting that posts a recording disclosure to supported meeting chats and cover Microsoft Teams auto-stop behavior.
Note
Medium Risk
New macOS Accessibility-driven UI automation posts text into third-party meeting chats; failures or wrong targets are possible, though the feature is opt-in and defaults off.
Overview
Adds an opt-in Disclose recording in chat setting (
auto_disclose_recording, default off) and wires it through settings storage, analytics, and Lingui strings.When listening starts with auto-disclose enabled, the app calls a new detect plugin command to post a fixed recording notice to the active meeting app’s chat (Zoom, Teams variants, or supported browsers for Meet). Users can also trigger the same flow from the floating bar for the first five minutes of a session; successful posts mark the session dismissed so prompts hide. Listener live state now tracks
disclosureDismissedSessionIdsandtriggerAppIdsfor that UI.On macOS,
hypr_detectimplementssend_meeting_disclosurevia Accessibility (focus chat, paste message, send). Non-macOS returns an error. The floating bar grows a third control and emitsfloatingBarDisclosewhen tapped.Includes a regression test that Microsoft Teams (
com.microsoft.teams2) participates in mic-trigger auto-stop like other meeting apps.Reviewed by Cursor Bugbot for commit ed82b88. Bugbot is set up for automated code reviews on this repo. Configure here.
This is part 1 of 2 in a stack made with GitButler: