Files
meeting-assistant/openspec/changes/add-macos-desktop-controls/specs/meeting-session/spec.md
T
dh 9542c05ea4 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.
2026-08-06 08:18:52 +02:00

29 lines
1.5 KiB
Markdown

## MODIFIED Requirements
### Requirement: Workflow rules and speaker identities can be edited through a tray-launched assistant
Meeting Assistant SHALL expose desktop controls from the Windows tray icon and the macOS menu bar.
The macOS menu-bar control SHALL start with Meeting Assistant, show current recording state, expose each configured launch profile with its configured hotkey, expose stop and abort controls while recording, expose `Open agent`, and expose exit.
Selecting `Open agent` on macOS SHALL open a native window titled `Meeting Summary Agent` containing the interactive settings-and-logs chat surface.
#### Scenario: macOS menu bar shows idle recording controls
- **GIVEN** Meeting Assistant is idle on macOS
- **WHEN** the user opens the menu-bar control
- **THEN** it shows `Open agent`
- **AND** shows a start action for every configured launch profile
- **AND** displays each profile's configured toggle hotkey
- **AND** shows an exit action
#### Scenario: macOS menu bar shows active recording controls
- **GIVEN** a meeting is recording on macOS
- **WHEN** the user opens the menu-bar control
- **THEN** it shows the active recording state
- **AND** exposes stop and abort actions
#### Scenario: macOS menu opens the interactive agent
- **GIVEN** Meeting Assistant is running on macOS
- **WHEN** the user selects `Open agent` from the menu-bar control
- **THEN** a `Meeting Summary Agent` window opens
- **AND** the user can submit a chat message and receive the interactive agent response