Fix microphone, Dock, and locked-screen behavior - #937
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
The PR Policy check is blocking this PR because required template information is missing. Please update the PR description with:
Visual files detected:
Screenshots or video are required for UI, UX, settings, onboarding, overlay, menu bar, or visual behavior changes. If this PR has no visual changes, check the no-visual-change box in the template. If this remains incomplete for 48 hours after opening, the PR may be closed. |
Greptile SummaryThis PR preserves microphone-removal suppression across reconnects, reapplies the saved Dock visibility policy when reopening the app, and blocks recording actions when macOS reports a locked session.
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 43668220e2
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| guard !Self.currentSessionIsLocked() else { | ||
| DebugLogger.shared.info("Ignoring \(label) - screen is locked", source: "GlobalHotkeyManager") | ||
| return false | ||
| } |
There was a problem hiding this comment.
Gate every locked-session shortcut path
When recording is already active, this guard is bypassed by several shortcut paths: toggle and hold-release handling call stopRecordingIfNeeded() directly, while the cancel shortcut calls stopWithoutTranscription() directly. Consequently, pressing those shortcuts while the session is locked can still stop or cancel capture; apply the lock check before dispatching shortcut events or add it to these stop/cancel paths as well.
Useful? React with 👍 / 👎.
Description
Fix ignored microphones returning after reconnect, restore the saved Dock visibility on reopen, and prevent shortcuts while the Mac is locked.
Type of Change
Related Issue or Discussion
Closes #933
Closes #753
Closes #884
Testing
swiftlint --strict --config .swiftlint.yml Sourcesswiftformat --config .swiftformat SourcesScreenshots / Video
Notes
None.