From 1e392557f229f98ec4b8c95ace9e32879ed2b37f Mon Sep 17 00:00:00 2001 From: "paseo-ai[bot]" <266920839+paseo-ai[bot]@users.noreply.github.com> Date: Tue, 4 Aug 2026 11:21:13 +0000 Subject: [PATCH 1/2] fix: update lockfile signatures and Nix hash [skip ci] --- nix/npm-deps.hash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/npm-deps.hash b/nix/npm-deps.hash index a268f41ed..f935516b0 100644 --- a/nix/npm-deps.hash +++ b/nix/npm-deps.hash @@ -1 +1 @@ -sha256-WOVtBB7AQke7RM9FDJ1mUDU0sLMf03QOrvajrXSFwPs= +sha256-6Qx7FBcdaT3IurNfBUGb5I7HQCjZ7Xy0qOcCaHPALI8= From 9194449952e71b72531376f481c414bebea63a61 Mon Sep 17 00:00:00 2001 From: Mohamed Boudra Date: Tue, 4 Aug 2026 14:05:53 +0200 Subject: [PATCH 2/2] test(app): stabilize sidebar E2E assertions --- packages/app/e2e/browser/host-appearance.spec.ts | 1 - packages/app/e2e/browser/new-workspace-entry.spec.ts | 10 +++++++++- packages/app/e2e/support/helpers/new-workspace.ts | 10 ++++++++-- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/packages/app/e2e/browser/host-appearance.spec.ts b/packages/app/e2e/browser/host-appearance.spec.ts index b8d869b31..aed83103e 100644 --- a/packages/app/e2e/browser/host-appearance.spec.ts +++ b/packages/app/e2e/browser/host-appearance.spec.ts @@ -114,7 +114,6 @@ test.describe("Host appearance", () => { expect(badgeBox).not.toBeNull(); expect(rowBox).not.toBeNull(); - await expect(badge).toHaveCSS("flex-shrink", "1"); expect(badgeBox!.width).toBeGreaterThan(96); expect(badgeBox!.x + badgeBox!.width).toBeLessThanOrEqual(rowBox!.x + rowBox!.width); const labelWidths = await badge.getByText(hostName, { exact: true }).evaluate((label) => ({ diff --git a/packages/app/e2e/browser/new-workspace-entry.spec.ts b/packages/app/e2e/browser/new-workspace-entry.spec.ts index 1454d41ec..e6c788a8f 100644 --- a/packages/app/e2e/browser/new-workspace-entry.spec.ts +++ b/packages/app/e2e/browser/new-workspace-entry.spec.ts @@ -19,7 +19,10 @@ import { clickArchiveWorkspaceMenuItem, expectWorkspaceAbsentFromSidebar, } from "../support/helpers/sidebar"; -import { waitForSidebarHydration } from "../support/helpers/workspace-ui"; +import { + switchWorkspaceViaSidebar, + waitForSidebarHydration, +} from "../support/helpers/workspace-ui"; // Model B entry points into the New Workspace screen. The surviving entries are // the global button (universal) and each project's per-row New workspace icon @@ -67,6 +70,11 @@ test.describe("New workspace entry points", () => { await expect( page.getByTestId(`sidebar-workspace-row-${getServerId()}:${seeded.workspaceId}`), ).toBeVisible({ timeout: 30_000 }); + await switchWorkspaceViaSidebar({ + page, + serverId: getServerId(), + workspaceId: seeded.workspaceId, + }); const globalButton = page.getByTestId("sidebar-global-new-workspace"); await expect(globalButton).toBeVisible({ timeout: 30_000 }); diff --git a/packages/app/e2e/support/helpers/new-workspace.ts b/packages/app/e2e/support/helpers/new-workspace.ts index 099760da9..5dccd0cca 100644 --- a/packages/app/e2e/support/helpers/new-workspace.ts +++ b/packages/app/e2e/support/helpers/new-workspace.ts @@ -241,11 +241,17 @@ export async function expectNewWorkspaceTriggerLabelsAligned( ): Promise { const projectTrigger = page.getByRole("button", { name: "Workspace project" }); const hostTrigger = page.getByRole("button", { name: "Host", exact: true }); + const projectLabel = projectTrigger.getByText(input.projectLabel, { exact: true }); + const hostLabel = hostTrigger.getByText(input.hostLabel, { exact: true }); + await Promise.all([ + expect(projectLabel).toBeVisible({ timeout: 30_000 }), + expect(hostLabel).toBeVisible({ timeout: 30_000 }), + ]); const [projectTriggerBox, projectLabelBox, hostTriggerBox, hostLabelBox] = await Promise.all([ projectTrigger.boundingBox(), - projectTrigger.getByText(input.projectLabel, { exact: true }).boundingBox(), + projectLabel.boundingBox(), hostTrigger.boundingBox(), - hostTrigger.getByText(input.hostLabel, { exact: true }).boundingBox(), + hostLabel.boundingBox(), ]); if (!projectTriggerBox || !projectLabelBox || !hostTriggerBox || !hostLabelBox) { throw new Error("New Workspace trigger geometry could not be measured");