fix(recording): restorable window + reliable ⌘⇧R hotkey - #7
Merged
Conversation
… not hide) Phase C switched hide_main_window to window.hide() for snappier screenshots, but recording keeps the window out of view for the whole session — and a hidden window can't be brought back from the dock, so users got locked out of the app mid-recording (most obvious when recording an extended display, where GWT sits on the still-visible main screen). Add a minimize_main_window command and use it for the recording-start hide so the window can be restored from the dock. Screenshots keep the instant hide() (they auto-restore a moment later). Region-selection hide is short-lived and unchanged. macOS builds clean; 385 JS tests pass. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013dqouzFP8vy9jaKhTDFj5H
The recording hotkey was registered in an effect keyed on [recording, stopping], so it unregistered + re-registered on every start/stop. That async churn raced — the re-register could hit "already registered" and silently fail, leaving ⌘⇧R dead so it no longer toggled recording. Register it ONCE (keyed on [inTauriApp]) and route the callback through a ref that always holds the current toggle logic, so state stays fresh without re-registering. 385 tests pass; file lints clean. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013dqouzFP8vy9jaKhTDFj5H
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two recording UX regressions.
1. Window couldn't be restored mid-recording
Phase C switched
hide_main_windowtowindow.hide()for snappier screenshots, but a hidden window can't be restored from the dock — so during a recording (window hidden the whole session) the user was locked out, most visibly on an extended display.Fix: new
minimize_main_windowcommand; recording minimizes (restorable from dock) instead of hiding. Screenshots keep the instanthide().2. ⌘⇧R hotkey died after the first start/stop
The recording hotkey was registered in an effect keyed on
[recording, stopping], re-registering on every toggle. The async unregister/register raced and could hit "already registered", silently killing the shortcut.Fix: register once (keyed on
[inTauriApp]) and route the callback through a ref that always holds the current toggle logic.Testing
🤖 Generated with Claude Code