From 41ac23016dfba6e76082cecd6e10e8914f97d537 Mon Sep 17 00:00:00 2001 From: Mohamed Boudra Date: Tue, 20 Oct 2026 09:37:54 +0200 Subject: [PATCH] test(app): measure sidebar rows one at a time After a reload the developer error toast appears while expectVerticalOrder measures every row at once. Each concurrent boundingBox runs the toast locator handler, and only one of them resumes, so the poll timed out on every attempt since #7424. Measuring sequentially keeps one action in flight. --- packages/app/e2e/support/helpers/sidebar-nav-settings.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/app/e2e/support/helpers/sidebar-nav-settings.ts b/packages/app/e2e/support/helpers/sidebar-nav-settings.ts index e3eff916e7..2ec03a6779 100644 --- a/packages/app/e2e/support/helpers/sidebar-nav-settings.ts +++ b/packages/app/e2e/support/helpers/sidebar-nav-settings.ts @@ -149,9 +149,10 @@ async function expectVerticalOrder( await expect .poll( async () => { - const measured = await Promise.all( - keys.map(async (key) => ({ key, top: await rowTop(locate(key)) })), - ); + // One row at a time: concurrent actions that all run the developer toast handler do not + // all resume, and the poll then waits out its timeout. + const measured: { key: Key; top: number | null }[] = []; + for (const key of keys) measured.push({ key, top: await rowTop(locate(key)) }); if (!measured.every((entry): entry is { key: Key; top: number } => entry.top !== null)) return null; return measured.sort((a, b) => a.top - b.top).map((entry) => entry.key);