feat(macos): add native desktop controls and hotkey integration

- Introduced MacOsDesktopControlManifest to manage desktop control configurations.
- Implemented MacOsDesktopControlService to handle the lifecycle of the macOS helper process.
- Created MacOsWorkflowRulesEditorWindowService for managing workflow rules through a native window.
- Developed a Swift helper for macOS that integrates with AppKit and Carbon for menu-bar controls and global hotkeys.
- Added support for recording lifecycle actions via HTTP endpoints, maintaining consistency with existing Windows functionality.
- Enhanced user experience by allowing macOS users to start/stop recordings and access settings through a menu-bar interface.
- Documented design decisions, implementation evidence, and verification tasks for the new macOS features.
This commit is contained in:
dh
2026-08-06 08:18:52 +02:00
parent 5f39923c27
commit 9542c05ea4
20 changed files with 981 additions and 11 deletions
@@ -0,0 +1,24 @@
## Why
Meeting Assistant can record audio on macOS, but the portable build does not register the configured global shortcuts or provide the menu-bar controls used for the normal Windows desktop workflow. macOS users must call HTTP endpoints manually.
## What Changes
- Add a native macOS menu-bar companion that starts and stops with Meeting Assistant.
- Register the same configured recording, abort, and screenshot shortcuts used on Windows.
- Expose recording/profile controls, `Open agent`, and exit from the macOS menu bar.
- Keep recording lifecycle behavior behind the existing local HTTP/service surface.
## Capabilities
### Modified Capabilities
- `meeting-recording`: configured global recording controls work on macOS.
- `meeting-session`: the desktop control menu is available from the macOS menu bar.
## Impact
- `MeetingAssistant/Native/MacOsDesktopControls`
- portable macOS build/publish output
- startup service registration
- desktop-control behavior tests and macOS runtime documentation