From bf99108719aa4508c2138433b197f604a6dafa04 Mon Sep 17 00:00:00 2001 From: webadderall Date: Sat, 6 Jun 2026 20:57:45 +1000 Subject: [PATCH] fix(windows): use WGC for window capture --- src/hooks/useScreenRecorder.test.ts | 8 ++++++-- src/hooks/useScreenRecorder.ts | 5 ++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/hooks/useScreenRecorder.test.ts b/src/hooks/useScreenRecorder.test.ts index 85811467..d74e884c 100644 --- a/src/hooks/useScreenRecorder.test.ts +++ b/src/hooks/useScreenRecorder.test.ts @@ -164,8 +164,12 @@ describe("shouldUseNativeWindowsCaptureForSource", () => { expect(shouldUseNativeWindowsCaptureForSource({ id: "screen:101:0" })).toBe(true); }); - it("routes window sources through browser capture", () => { - expect(shouldUseNativeWindowsCaptureForSource({ id: "window:123456:0" })).toBe(false); + it("keeps native Windows capture on window sources", () => { + expect(shouldUseNativeWindowsCaptureForSource({ id: "window:123456:0" })).toBe(true); + }); + + it("keeps browser capture for non-desktop sources", () => { + expect(shouldUseNativeWindowsCaptureForSource({ id: "browser-tab:abc" })).toBe(false); }); }); diff --git a/src/hooks/useScreenRecorder.ts b/src/hooks/useScreenRecorder.ts index a382ea3d..c5cd7005 100644 --- a/src/hooks/useScreenRecorder.ts +++ b/src/hooks/useScreenRecorder.ts @@ -213,7 +213,10 @@ export function resolveBrowserCaptureCursorPolicy({ export function shouldUseNativeWindowsCaptureForSource( source: Pick | null | undefined, ): boolean { - return source?.id?.startsWith("screen:") === true; + return ( + source?.id?.startsWith("screen:") === true || + source?.id?.startsWith("window:") === true + ); } export function createProcessedMicrophoneConstraints(