From 6898090a5858d7cd8d93127e10021d0b6ca67905 Mon Sep 17 00:00:00 2001 From: Robert DeLuca Date: Sun, 15 Feb 2026 18:50:49 -0600 Subject: [PATCH 1/2] =?UTF-8?q?=F0=9F=90=9B=20Flatten=20nested=20propertie?= =?UTF-8?q?s=20in=20screenshot=20upload=20payload?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When callers pass { properties: { url, viewport } } as options, the payload was sent as properties: { properties: { url } } — double nesting. The server read properties.url (top-level) and got undefined. Spread options.properties into the top level so url, viewport, etc. are accessible directly as properties.url on the server side. --- src/client/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client/index.js b/src/client/index.js index 4ba708e..f00da26 100644 --- a/src/client/index.js +++ b/src/client/index.js @@ -207,7 +207,7 @@ function createSimpleClient(serverUrl) { name, image, type, - properties: options, + properties: { ...options, ...options.properties }, fullPage: options.fullPage || false, }, DEFAULT_TIMEOUT_MS From 35e76e1617589854370fb52555bf18c6297cee26 Mon Sep 17 00:00:00 2001 From: Robert DeLuca Date: Sun, 15 Feb 2026 19:11:10 -0600 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=90=9B=20Include=20url=20and=20metada?= =?UTF-8?q?ta=20in=20SHA=20check=20payload?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit buildScreenshotCheckObject was only sending sha256, name, browser, and viewport — no url or metadata. When the server reused screenshots by SHA match, it copied the old null URL instead of using the new one. --- src/api/core.js | 2 ++ tests/api/core.test.js | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/api/core.js b/src/api/core.js index 5887dfc..ac86099 100644 --- a/src/api/core.js +++ b/src/api/core.js @@ -194,6 +194,8 @@ export function buildScreenshotCheckObject(sha256, name, metadata = {}) { browser: meta.browser || 'chrome', viewport_width: meta.viewport?.width || meta.viewport_width || 1920, viewport_height: meta.viewport?.height || meta.viewport_height || 1080, + url: meta.url || meta.properties?.url || null, + metadata: meta, }; } diff --git a/tests/api/core.test.js b/tests/api/core.test.js index d10bd36..db46343 100644 --- a/tests/api/core.test.js +++ b/tests/api/core.test.js @@ -425,6 +425,8 @@ describe('api/core', () => { browser: 'chrome', viewport_width: 1920, viewport_height: 1080, + url: null, + metadata: {}, }); });