fix(linux): restore X11 screen capture on v1.4.0 - #905
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (11)
Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe PR adds Linux Wayland and X11 detection, routes portal and screen capture sources by window system, exposes the result to launch UI controls, stops forcing EGL on Linux, and updates Linux HUD fallback handling. ChangesLinux capture routing
Linux GPU backend behavior
HUD overlay behavior
Priority: ➖ Normal Estimated code review effort: 3 (Moderate) | ~25 minutes Merge Risk: ⚪ Minimal · up to This restores X11 screen-source selection while retaining Wayland portal routing, removes forced Linux EGL selection, and enables Linux HUD expansion. No concrete merge-blocking risk remains. Sequence Diagram(s)sequenceDiagram
participant LaunchWindow
participant useLaunchWindowSystemState
participant ElectronIPC
participant sourceMapping
participant useScreenRecorder
participant desktopCapturer
LaunchWindow->>useLaunchWindowSystemState: load Linux window system
useLaunchWindowSystemState->>ElectronIPC: getLinuxWindowSystem()
ElectronIPC->>sourceMapping: detect Wayland or X11
sourceMapping-->>ElectronIPC: window-system result
useScreenRecorder->>desktopCapturer: enumerate X11 screen sources
desktopCapturer-->>useScreenRecorder: live screen sources
useScreenRecorder-->>LaunchWindow: resolved recording source
Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
|
Thanks for the focused v1.4.0 X11 fix. I reviewed the diff and ran the full suite (1,088 tests), targeted Linux tests, TypeScript, and Biome—all passed. One merge blocker: the Could you remove the HUD-resizing hunk from this PR and keep #905 focused on X11 capture/source routing and the GPU switch? #919 provides a Wayland-aware approach to the HUD problem. After that change and an X11 smoke test, this looks like a good merge candidate. |
Summary
Fix Linux X11 recording startup on v1.4.0 without changing the Wayland capture path.
screen:linux-portalon Wayland only.desktopCapturerscreen source on X11, including when an old portal sentinel was saved.--use-gl=egl.Existing webcam, microphone, system audio, editor, and cursor behavior is otherwise unchanged. The webcam popover still supports turning the webcam off.
Prior work
This is a focused v1.4.0 patch based on the X11 source-selection work discussed in #768 and #678, plus the Electron GPU and Wayland/X11 routing fixes from #705 and #842.
It intentionally does not include the larger native FFmpeg X11 backend from #842 or unrelated changes from those branches.
Verification
npm installnpx tsc --noEmitnpx vitest --run electron/gpuSwitches.test.ts electron/ipc/register/sourceMapping.test.ts electron/hudOverlayBounds.test.ts src/hooks/useScreenRecorder.test.ts(84 tests passed)npm run build:linuxrelease/Recordly-linux-x64.AppImageSummary by CodeRabbit
Bug Fixes
Improvements