Skip to content

fix(recording): restorable window + reliable ⌘⇧R hotkey - #7

Merged
slaveofcode merged 2 commits into
developfrom
fix/recording-window-restore
Jul 21, 2026
Merged

fix(recording): restorable window + reliable ⌘⇧R hotkey#7
slaveofcode merged 2 commits into
developfrom
fix/recording-window-restore

Conversation

@slaveofcode

@slaveofcode slaveofcode commented Jul 21, 2026

Copy link
Copy Markdown
Owner

Two recording UX regressions.

1. Window couldn't be restored mid-recording

Phase C switched hide_main_window to window.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_window command; recording minimizes (restorable from dock) instead of hiding. Screenshots keep the instant hide().

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

  • macOS builds clean; 385 JS tests pass; ScreenRecorder lints clean.
  • On hardware: (1) start a recording with "hide window" on → GWT restores from the dock; (2) press ⌘⇧R repeatedly → it reliably starts and stops recording every time.

🤖 Generated with Claude Code

Kresna and others added 2 commits July 21, 2026 21:46
… 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
@slaveofcode slaveofcode changed the title fix(recording): keep window restorable while recording (minimize, not hide) fix(recording): restorable window + reliable ⌘⇧R hotkey Jul 21, 2026
@slaveofcode
slaveofcode merged commit 69089df into develop Jul 21, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant