Skip to content

fix(recording): support remote-visible HUD and global recording controls - #1137

Draft
avabbbb wants to merge 2 commits into
webadderallorg:mainfrom
avabbbb:fix/global-recording-shortcuts
Draft

avabbbb wants to merge 2 commits into
webadderallorg:mainfrom
avabbbb:fix/global-recording-shortcuts

Conversation

@avabbbb

@avabbbb avabbbb commented Oct 15, 2026 •

Copy link
Copy Markdown

When Recordly's recording HUD is capture protected, a remote desktop client may also lose sight of it. This adds a persistent Remote visible mode in Home → Settings → Recording, plus configurable global recording controls so recording can be operated while the HUD is hidden or unfocused.

Remote visible mode disables HUD protection while preserving the user's previous hide-from-recordings preference. The settings explain that the HUD can also appear in the resulting video. Turning the mode off restores the preference; macOS native process exclusions require restarting an active recording.

Default global shortcuts (Command replaces Control on macOS):

Action Windows/Linux
Choose recording source Ctrl+Shift+2
Start / stop Ctrl+Alt+R
Pause / resume Ctrl+Alt+P
Show / hide HUD Ctrl+Alt+H
Cancel with native confirmation Ctrl+Alt+Shift+X

The source shortcut restores the HUD and calls its existing source-button handler. It selects only and does not start recording. Repeated input shares the pending picker; selecting is ignored while recording. Windows supports screen/window choices, macOS also supports areas, and Linux retains its list/portal flow. The screenshot/GIF/MP4 quick toolbar remains future work.

Bindings can be edited, disabled, or reset in Settings, persist across restarts, report registration failures, and unregister on quit. Commands target the capture-owning HUD rather than whichever editor window is focused, reuse existing recording callbacks, and respect countdown/finalization. Discard confirmation defaults to keeping the recording and cannot discard a subsequent take. Native cancellation remains busy until cleanup finishes.

Includes a usage and manual acceptance guide and a screenshot:

Recording settings

Validation

  • Based on freshly fetched upstream main 52a913569afa0229c5a3c116f0c93b828ededb84 (2026-10-14); the fork's main was fast-forwarded to the same commit.
  • npm run typecheck passes.
  • Biome checks pass for the 16 checked changed/new TypeScript files; git diff --check passes.
  • npx vite build --config vite.config.ts passes for the renderer, Electron main, and preload, including the existing main CJS smoke guard. This is not a packaged Windows installer build.
  • 25 focused unit tests pass, covering configuration, registration conflicts, persistence failures, shutdown cleanup, hidden-HUD command dispatch, confirmation/session safety, remote-mode restoration, and capture-protection policy.
  • 5 distinct headed Playwright scenarios passed across runs using locally installed Chrome: settings/persistence/conflict feedback, recording command callbacks, both existing startup-cancellation cases, and source-shortcut selection/repeated-input behavior. The source scenario also verifies selection does not enter the recording UI; the recording-callback scenario verifies source selection is ignored during a take. The settings test was rerun after widening the inputs; a local Chrome-channel config was used and is not committed.
  • Full suite before the source-shortcut follow-up: 1572 passed, 9 failed, 7 skipped. The full suite was not repeated for the follow-up; its targeted unit/UI checks, typecheck, lint, and build were rerun. An isolated, unchanged checkout of upstream 52a91356 produced 1551 passed, the exact same 9 failures, 7 skipped. Failures concern captions/generation, project trash, recording library, and share thumbnails (including Windows symlink permissions and FFmpeg execution issues in this environment). The failure names were compared programmatically.

The fork design PR #1 has also been refreshed to upstream main and explicitly makes global capture/control and UU acceptance P0. It remains documentation only.

Remaining validation / related work

Draft: a real Mac → UU Remote → Windows session, OS-level shortcut delivery, capture exclusion/visibility, playable recorded media, and a packaged Windows build remain unverified. Browser tests use mocked native capture and do not establish those outcomes. Native dependency/browser downloads were too slow to complete in this environment; headed tests used installed Chrome instead. No installed application or existing user recording/configuration was replaced.

Related: #693 is a macOS remote-HUD report and is not evidence of every Windows failure. Existing open PR #956 overlaps the global shortcut work; this PR independently includes remote visibility, HUD show/hide, confirmed discard, and the associated acceptance guide. Maintainers may prefer coordinating or splitting the overlapping shortcut changes. No claim that the remote desktop client can always forward a particular combination.

@coderabbitai

coderabbitai Bot commented Oct 15, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@avabbbb
avabbbb force-pushed the fix/global-recording-shortcuts branch from 76b26b4 to e018e5c Compare October 18, 2026 14:11
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