Public Access
19 lines
1.0 KiB
Markdown
19 lines
1.0 KiB
Markdown
# Design
|
|
|
|
## Tray Menu
|
|
|
|
`MeetingTaskbarMenuBuilder` will add a stable `Exit` action after the existing recording controls. Keeping this in the menu builder lets tests assert the visible menu behavior without depending on the Windows tray implementation.
|
|
|
|
## Exit Confirmation
|
|
|
|
The Windows tray service will handle `Exit` by checking the current `RecordingStatus.State`:
|
|
|
|
- `Idle` exits immediately.
|
|
- `Recording` or `Summarizing` prompts for confirmation before exiting.
|
|
|
|
The existing `Summarizing` state represents stopped-run finalization, including transcript drain, speaker recognition, and summary generation. `Recording` represents active capture plus live transcription. If the user confirms, the tray service asks `IHostApplicationLifetime` to stop the application.
|
|
|
|
## Windows UI Boundary
|
|
|
|
The confirmation dialog is only needed in the Windows tray implementation. A small method local to `UnoTaskbarIconService` can use WPF `MessageBox` so tests can continue covering platform-independent menu construction through `MeetingTaskbarMenuBuilder`.
|