From 21f197e3a2fa9c6332668710abcca409fc7544ea Mon Sep 17 00:00:00 2001 From: Patrick Delorme Date: Wed, 26 Nov 2025 22:18:33 -0500 Subject: [PATCH] Handles legacy camera size strings --- apps/desktop/src/routes/camera.tsx | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/apps/desktop/src/routes/camera.tsx b/apps/desktop/src/routes/camera.tsx index 6170e7b570..b2e4d433c9 100644 --- a/apps/desktop/src/routes/camera.tsx +++ b/apps/desktop/src/routes/camera.tsx @@ -96,11 +96,20 @@ function NativeCameraPreviewPage(props: { disconnected: Accessor }) { }); createEffect(() => { + // Support for legacy size strings. + let currentSize = state.size as number | string; + if (typeof currentSize !== "number" || Number.isNaN(currentSize)) { + currentSize = + currentSize === "lg" ? CAMERA_PRESET_LARGE : CAMERA_DEFAULT_SIZE; + setState("size", currentSize); + return; + } + const clampedSize = Math.max( CAMERA_MIN_SIZE, - Math.min(CAMERA_MAX_SIZE, state.size), + Math.min(CAMERA_MAX_SIZE, currentSize), ); - if (clampedSize !== state.size) { + if (clampedSize !== currentSize) { setState("size", clampedSize); } commands.setCameraPreviewState(state); @@ -285,6 +294,17 @@ function LegacyCameraPreviewPage(props: { disconnected: Accessor }) { { name: "cameraWindowState" }, ); + createEffect(() => { + // Support for legacy size strings. + const currentSize = state.size as number | string; + if (typeof currentSize !== "number" || Number.isNaN(currentSize)) { + setState( + "size", + currentSize === "lg" ? CAMERA_PRESET_LARGE : CAMERA_DEFAULT_SIZE, + ); + } + }); + const [isResizing, setIsResizing] = createSignal(false); const [resizeStart, setResizeStart] = createSignal({ size: 0,