Skip to content

Phase4 dualchannel#5

Merged
srprasanna merged 9 commits intomainfrom
phase4-dualchannel
Jan 24, 2026
Merged

Phase4 dualchannel#5
srprasanna merged 9 commits intomainfrom
phase4-dualchannel

Conversation

@srprasanna
Copy link
Copy Markdown
Owner

This pull request introduces two main sets of changes: (1) a comprehensive plan and TODO for implementing proper dual audio capture (microphone plus speaker output) for meeting recordings, and (2) the addition of notification-related permissions and dependencies to support desktop notifications. There are also minor adjustments to workflows and dependency lists.

Key changes:

Audio Capture Improvements

  • Added AUDIO_CAPTURE_TODO.md outlining a critical missing feature: current meeting recordings only capture speaker output, not the user's microphone. The document details a phased implementation plan for dual audio capture and mixing, including technical considerations and verification steps. This is marked as a production blocker.

Notification Feature Support

  • Added the tauri-plugin-notification dependency and enabled relevant Tauri features (protocol-asset, tray-icon) in Cargo.toml to support desktop notifications.
  • Extended the generated Tauri desktop schema (desktop-schema.json) with a wide range of notification-related permissions (e.g., notification:default, notification:allow-notify, notification:allow-show, and their corresponding deny permissions), enabling fine-grained control over notification capabilities in the app.

Minor Fixes

  • Fixed a typo in the CI workflow step name for Rust formatting checks (Check Rust formattin → should be Check Rust formatting).

These changes collectively set the groundwork for critical improvements in meeting recording quality and add robust support for desktop notifications, while also improving configuration and workflow clarity.

- Added AudioTester component for testing speaker and microphone capture.
- Introduced AudioDeviceSelector for selecting audio devices.
- Created AudioPlayer for playback of meeting recordings.
- Updated Settings page to include an Audio Testing tab.
- Enhanced dual audio capture functionality in the backend.
- Documented audio capture implementation plan and critical issues in AUDIO_CAPTURE_TODO.md.
- Added MarkdownEditor for editing insights with live preview.
Copilot AI review requested due to automatic review settings January 23, 2026 19:43
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR lays groundwork for “dual-channel” meeting recordings (speaker loopback + microphone), adds an in-app audio testing UI, introduces editable AI insights with markdown preview, and wires up Tauri desktop notification + tray support.

Changes:

  • Added dual-capture APIs and a Windows WASAPI dual-capture/mixing implementation, plus UI tooling to test capture and play back recordings.
  • Added insight editing (markdown editor) and improved markdown rendering behavior/styling.
  • Added Tauri notification plugin + tray/icon configuration and updated generated ACL schemas.

Reviewed changes

Copilot reviewed 24 out of 26 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
apps/desktop/src/pages/Settings.tsx Adds “Audio Testing” tab and Select tweaks.
apps/desktop/src/pages/MeetingHistory.tsx Adds audio playback, transcript/insights tabs, insight editing flow.
apps/desktop/src/components/MarkdownEditor.tsx New markdown editor w/ preview + save/cancel.
apps/desktop/src/components/MarkdownContent.tsx Markdown rendering preprocessing + improved list/heading styles.
apps/desktop/src/components/AudioTester.tsx New UI to test speaker/mic capture and show level meters.
apps/desktop/src/components/AudioPlayer.tsx New audio playback UI for saved meeting recordings.
apps/desktop/src/components/AudioDeviceSelector.tsx New reusable device selector component.
apps/desktop/src/api/insights.ts Adds updateInsight frontend binding.
apps/desktop/src-tauri/tauri.conf.json Enables tray + asset protocol scope.
apps/desktop/src-tauri/src/ports/storage.rs Adds storage port API for updating insights.
apps/desktop/src-tauri/src/ports/mocks.rs Implements insight updates in mock storage.
apps/desktop/src-tauri/src/ports/audio.rs Extends audio port with dual capture + current level.
apps/desktop/src-tauri/src/main.rs Adds notification plugin, tray menu, close-to-tray behavior.
apps/desktop/src-tauri/src/commands/transcription.rs Fetch Deepgram models via API instead of static list.
apps/desktop/src-tauri/src/commands/meeting.rs Uses dual capture for meetings; adds audio test commands and level endpoint.
apps/desktop/src-tauri/src/commands/llm.rs Adds command to update insight content.
apps/desktop/src-tauri/src/adapters/storage/sqlite.rs Implements insight content update in SQLite adapter.
apps/desktop/src-tauri/src/adapters/services/asr/deepgram.rs Adds Deepgram model listing types + API call.
apps/desktop/src-tauri/src/adapters/audio/windows.rs Implements WASAPI dual capture, mixing, RMS level, test tone playback.
apps/desktop/src-tauri/gen/schemas/windows-schema.json Adds notification permissions to generated schema.
apps/desktop/src-tauri/gen/schemas/desktop-schema.json Adds notification permissions to generated schema.
apps/desktop/src-tauri/gen/schemas/acl-manifests.json Updates ACL manifests to include notification plugin.
apps/desktop/src-tauri/Cargo.toml Enables Tauri tray/asset features and adds notification plugin dep.
apps/desktop/src-tauri/Cargo.lock Lockfile updates for notification + transitive deps.
AUDIO_CAPTURE_TODO.md Adds phased plan/TODO doc for proper dual audio capture.
.github/workflows/ci.yml Adjusts CI step label (currently introduces typo).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread apps/desktop/src-tauri/src/adapters/audio/windows.rs
Comment thread apps/desktop/src-tauri/tauri.conf.json Outdated
Comment thread apps/desktop/src-tauri/src/main.rs Outdated
Comment thread .github/workflows/ci.yml Outdated
Comment thread apps/desktop/src/components/AudioTester.tsx Outdated
Comment thread apps/desktop/src/components/AudioPlayer.tsx Outdated
Comment thread apps/desktop/src/components/MarkdownEditor.tsx Outdated
@srprasanna srprasanna merged commit 5aca011 into main Jan 24, 2026
7 checks passed
@srprasanna srprasanna deleted the phase4-dualchannel branch January 25, 2026 15:12
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.

2 participants