Skip to content

Conversation

@devin-ai-integration
Copy link
Contributor

@devin-ai-integration devin-ai-integration bot commented Nov 26, 2025

Summary

Implements detection of apps using the microphone for the --app-meeting hook parameter. When hooks (beforeListeningStarted and afterListeningStopped) are triggered, the system now detects which app is using the microphone and passes the app name instead of null.

Changes:

  • Added get_meeting_app() function in crates/detect that returns the first app currently using the microphone
  • Added getMeetingApplication Tauri command exposed to frontend
  • Updated listener store to call the detection and populate app_meeting in hook args

Approach: Rather than filtering against a hardcoded list of meeting app bundle IDs, the function returns any app using the microphone. This is more flexible and handles browser-based meetings, lesser-known meeting apps, and various browsers.

Linux returns None for now (stub implementation).

Updates since last revision

Removed the hardcoded MEETING_APP_BUNDLE_IDS filter (Zoom, Teams, Webex). Now get_meeting_app() simply returns the first app using the microphone via list_mic_using_apps().into_iter().next(). This addresses feedback that the 3-platform constraint was not flexible enough for browser-based meetings and other meeting apps.

Review & Testing Checklist for Human

  • Test on macOS with any meeting app: Start a meeting (Zoom, Teams, browser-based like Google Meet), then start recording in Hyprnote. Verify the hook receives the app name in app_meeting
  • Test with browser-based meeting: Join a Google Meet or similar in Chrome/Safari/Firefox, verify the browser name appears in app_meeting
  • Test without any mic-using app: Start recording without any app using the microphone - verify app_meeting is null
  • Verify behavior with multiple mic apps: If multiple apps use the mic simultaneously, only the first is returned (order may vary)

Recommended test plan:

  1. Build and run the desktop app on macOS
  2. Configure a hook that logs the app_meeting parameter
  3. Test with various meeting apps and browsers using the microphone
  4. Verify the correct app name appears in hook output

Notes

  • The detection uses the existing list_mic_using_apps() infrastructure which queries Core Audio
  • Could not test macOS-specific functionality from Linux dev environment
  • The function name get_meeting_app is kept for API consistency, though it now returns any mic-using app

Link to Devin run: https://app.devin.ai/sessions/54788bc52c354b56a9047d4612626525
Requested by: @yujonglee

- Add get_meeting_app() function in crates/detect to detect Zoom/Teams/Webex
- Add MEETING_APP_BUNDLE_IDS constant for meeting app detection
- Add getMeetingApplication command in plugins/detect
- Update listener store to populate app_meeting in hooks with detected meeting app
- Focus on macOS implementation as requested

Co-Authored-By: yujonglee <[email protected]>
@devin-ai-integration
Copy link
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@netlify
Copy link

netlify bot commented Nov 26, 2025

Deploy Preview for hyprnote-storybook ready!

Name Link
🔨 Latest commit 4ff4271
🔍 Latest deploy log https://app.netlify.com/projects/hyprnote-storybook/deploys/6926dbb37ee72d0008e6f42f
😎 Deploy Preview https://deploy-preview-1914--hyprnote-storybook.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai
Copy link

coderabbitai bot commented Nov 26, 2025

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch devin/1764136425-detect-meeting-app

Comment @coderabbitai help to get the list of available commands and usage tips.

@netlify
Copy link

netlify bot commented Nov 26, 2025

Deploy Preview for hyprnote ready!

Name Link
🔨 Latest commit 4ff4271
🔍 Latest deploy log https://app.netlify.com/projects/hyprnote/deploys/6926dbb3f6cd2e0007d7a7c3
😎 Deploy Preview https://deploy-preview-1914--hyprnote.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@devin-ai-integration
Copy link
Contributor Author

Devin is archived and cannot be woken up. Please unarchive Devin if you want to continue using it.

3 similar comments
@devin-ai-integration
Copy link
Contributor Author

Devin is archived and cannot be woken up. Please unarchive Devin if you want to continue using it.

@devin-ai-integration
Copy link
Contributor Author

Devin is archived and cannot be woken up. Please unarchive Devin if you want to continue using it.

@devin-ai-integration
Copy link
Contributor Author

Devin is archived and cannot be woken up. Please unarchive Devin if you want to continue using it.

@devin-ai-integration devin-ai-integration bot changed the title feat: detect meeting apps for hooks app_meeting parameter feat: detect mic-using apps for hooks app_meeting parameter Nov 26, 2025
@yujonglee yujonglee force-pushed the main branch 4 times, most recently from cd99174 to cb527d5 Compare November 29, 2025 13:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant