fix(linux): guard cursor overlay when portal embeds cursor - #605
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughTracks when native capture cannot hide the OS cursor by computing a ChangesNative Capture Unavailability Tracking
Estimated Code Review Effort🎯 4 (Complex) | ⏱️ ~40 minutes Possibly Related PRs
Suggested Labels
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
ESLint skipped: no ESLint configuration detected in root package.json. To enable, add 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. Comment |
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@electron/ipc/register/project.ts`:
- Around line 551-553: The merge logic for nativeCaptureUnavailable currently
uses logical OR which treats an explicit false in options as unset and can leave
a stale true from resolvedSession; change the selection to prefer options when
it is present (including explicit false) by using nullish coalescing or an
explicit undefined check so that normalizeBoolean receives
(options?.nativeCaptureUnavailable ?? resolvedSession.nativeCaptureUnavailable)
instead of normalizeBoolean(options?.nativeCaptureUnavailable) ||
normalizeBoolean(resolvedSession.nativeCaptureUnavailable); update the code
where nativeCaptureUnavailable is assigned and keep using normalizeBoolean,
referencing the existing symbols options, resolvedSession, and normalizeBoolean.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 429afefa-c55d-45d6-ae2f-2c96a3ec003e
📒 Files selected for processing (9)
electron/electron-env.d.tselectron/ipc/register/project.tselectron/ipc/register/settings.tselectron/ipc/types.tselectron/preload.tssrc/components/video-editor/SettingsPanel.tsxsrc/components/video-editor/VideoEditor.tsxsrc/hooks/useScreenRecorder.test.tssrc/hooks/useScreenRecorder.ts
…ursor-control-appimage fix(linux): guard cursor overlay when portal embeds cursor
…ursor-control-appimage fix(linux): guard cursor overlay when portal embeds cursor
Summary
MediaTrackSettings.cursorafter capturecursor: never, persist the session as cursor-overlay unavailable and prevent enabling the overlay to avoid double cursorsVerification
npx vitest run src/hooks/useScreenRecorder.test.tsnpx tsc --noEmitnpx biome lint src/hooks/useScreenRecorder.ts src/hooks/useScreenRecorder.test.ts src/components/video-editor/VideoEditor.tsx src/components/video-editor/SettingsPanel.tsx electron/ipc/register/settings.ts electron/ipc/register/project.ts electron/ipc/types.ts electron/preload.ts electron/electron-env.d.tsgit diff --checkNotes
npx biome checkon the same scoped files still reports pre-existing formatter/import-order churn in large repo files, so this PR avoids applying a broad format rewrite.Summary by CodeRabbit
Bug Fixes
Tests