Skip to content

fix: HUD blocked screen clicks during recording; shrink and free-drag the widget - #22

Merged
Alfredoalv13 merged 1 commit into
mainfrom
fix/hud-widget-shrink-and-clickthrough
Jul 25, 2026
Merged

fix: HUD blocked screen clicks during recording; shrink and free-drag the widget#22
Alfredoalv13 merged 1 commit into
mainfrom
fix/hud-widget-shrink-and-clickthrough

Conversation

@Alfredoalv13

Copy link
Copy Markdown
Owner

Summary

  • Fixed a bug where recording with the webcam preview on made the HUD overlay window span the full display but still forced it fully non-click-through, silently blocking every click to the rest of the screen for the whole recording.
  • Generalized full-canvas mode to every recording on platforms with OS-level passthrough support (macOS, Windows 11+), reusing the existing hover-driven click-through/interactive toggling instead of forcing capture — so the whole recording-control bar (not just the webcam bubble) can now be dragged anywhere on screen during a recording.
  • Shrunk the recording-control widget's buttons/padding/gaps for a smaller footprint, without touching the idle (pre-recording) controls' size.

Test plan

  • npx tsc -p tsconfig.json --noEmit — clean
  • npx vitest --run — 819/819 passing
  • Built, signed, and installed to /Applications/VybeClip.app
  • Live-verified via CDP + cliclick against the installed app during an active screen recording:
    • HUD window confirmed full-canvas (innerWidth/innerHeight match the display, not the old 860×160 band)
    • Bar confirmed smaller (barRecording/barStateViewportRecording classes applied, ~347×50px pill)
    • A click on an empty-looking point correctly passed through to a real Finder button underneath (passthrough fix confirmed)
    • Stop button reliably clickable with a real move-then-click sequence; recording stopped and transitioned to the editor correctly
    • Recorded video loaded in the editor with correct dimensions and no errors

…ding; shrink and free-drag the recording widget

The webcam-bubble fix widened the HUD window to the full display during
recording, but setHudOverlayMousePassthrough still unconditionally forced
the whole window non-click-through whenever recording was active - so any
recording with the webcam preview on silently blocked every click to the
rest of the screen for the recording's duration.

Generalizes the full-canvas mode to every recording on platforms with OS
passthrough support (macOS, Windows 11+), reusing the existing hover-driven
click-through/interactive toggling instead of forcing capture. This lets the
whole recording-control bar - not just the webcam bubble - be dragged
anywhere on screen, and shrinks its buttons/padding for a smaller footprint.
@Alfredoalv13
Alfredoalv13 merged commit e43f607 into main Jul 25, 2026
1 check passed
Alfredoalv13 pushed a commit that referenced this pull request Jul 30, 2026
New _documentation/BLURBOX_INTEGRATION_TESTING.md: manual QA script
covering both apps together (pause/resume during recording, both
BlurBox creation paths, accept/reject/undo/export), explicitly calling
out that there's no realistic automated cross-app e2e without
significant new shared infra between two independently-built repos.

New _documentation/BLURBOX_INTEGRATION_CONTRACT.md: VybeClip-side
mirror of BlurBox's 26_VybeClip_Integration_Contract.md — file
location, schema, correlation approach and its scope limitation,
versioning policy.

New _documentation/fixtures/redaction-events.sample.jsonl: a
hand-written schema-valid fixture (both creation paths, multiple
overlays, one removed with no move) for exercising the review UI
without BlurBox installed. Its timestamps need shifting to align with
a real test recording — the testing doc includes a regeneration
one-liner.

getBlurBoxEventLogPath() now honors a RECORDLY_BLURBOX_EVENT_LOG_PATH_OVERRIDE
env var (same naming convention as RECORDLY_UPDATER_LOG_PATH in
electron/updater.ts) so the fixture above can actually be pointed at,
still only on macOS regardless of the override — matching production
behavior. Two new tests cover the override on darwin and its correct
no-op on other platforms.

This completes the plan (BlurBox #22, VybeClip #30) — both PRs are
ready for review and merge.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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.

2 participants