Skip to content

Room list: add a grouped virtualized list to shared components #17681

Room list: add a grouped virtualized list to shared components

Room list: add a grouped virtualized list to shared components #17681

Triggered via pull request March 13, 2026 09:08
Status Success
Total duration 13m 39s
Artifacts 8

end-to-end-tests.yaml

on: pull_request
Build Element-Web
2m 18s
Build Element-Web
Matrix: playwright
Downstream Playwright tests [element-modules]  /  Run Playwright end-to-end tests & upload html report
Downstream Playwright tests [element-modules] / Run Playwright end-to-end tests & upload html report
end-to-end-tests
34s
end-to-end-tests
Fit to window
Zoom out
Zoom in

Annotations

5 errors, 8 warnings, and 6 notices
[Chrome] › playwright/e2e/timeline/timeline.spec.ts:232:9 › Timeline › configure room › should click 'collapse' on the first hovered info event line inside GELS on bubble layout @screenshot: apps/web/playwright/e2e/timeline/timeline.spec.ts#L260
1) [Chrome] › playwright/e2e/timeline/timeline.spec.ts:232:9 › Timeline › configure room › should click 'collapse' on the first hovered info event line inside GELS on bubble layout @screenshot Error: expect(locator).toHaveScreenshot(expected) failed Locator: locator('.mx_MainSplit') 214 pixels (ratio 0.01 of all image pixels) are different. Snapshot: expanded-gels-bubble-layout.png Call log: - Expect "toHaveScreenshot(expanded-gels-bubble-layout.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('.mx_MainSplit') - locator resolved to <div class="mx_MainSplit">…</div> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - 214 pixels (ratio 0.01 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('.mx_MainSplit') - locator resolved to <div class="mx_MainSplit">…</div> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - captured a stable screenshot - 214 pixels (ratio 0.01 of all image pixels) are different. 258 | 259 | // Save snapshot of expanded generic event list summary on bubble layout > 260 | await expect(page.locator(".mx_MainSplit")).toMatchScreenshot("expanded-gels-bubble-layout.png", { | ^ 261 | // Exclude timestamp from snapshot 262 | css: ` 263 | .mx_MessageTimestamp { at /home/runner/work/element-web/element-web/apps/web/playwright/e2e/timeline/timeline.spec.ts:260:61
[Chrome] › playwright/e2e/crypto/toasts.spec.ts:35:5 › Key storage out of sync toast › should prompt for recovery key if 'enter recovery key' pressed @screenshot: apps/web/playwright/e2e/crypto/toasts.spec.ts#L42
2) [Chrome] › playwright/e2e/crypto/toasts.spec.ts:35:5 › Key storage out of sync toast › should prompt for recovery key if 'enter recovery key' pressed @screenshot Error: expect(locator).toHaveScreenshot(expected) failed Locator: getByRole('alert').first() Timeout: 5000ms Timeout 5000ms exceeded. Snapshot: key-storage-out-of-sync-toast.png Call log: - Expect "toHaveScreenshot(key-storage-out-of-sync-toast.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for getByRole('alert').first() - locator resolved to <div role="alert" class="mx_NonUrgentToastContainer"></div> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action 2 × waiting for element to be stable - element is not visible - retrying scroll into view action - waiting 20ms 2 × waiting for element to be stable - element is not visible - retrying scroll into view action - waiting 100ms 9 × waiting for element to be stable - element is not visible - retrying scroll into view action - waiting 500ms - Timeout 5000ms exceeded. 40 | // Mask the background of the screenshot to avoid failing the test just because some 41 | // other component have changed its rendering. > 42 | await expect(page.getByRole("alert").first()).toMatchScreenshot("key-storage-out-of-sync-toast.png", { | ^ 43 | css: ` 44 | .mx_ToastContainer { 45 | background-color: magenta !important; at /home/runner/work/element-web/element-web/apps/web/playwright/e2e/crypto/toasts.spec.ts:42:55
[Chrome] › playwright/e2e/accessibility/keyboard-navigation.spec.ts:106:5 › Landmark navigation tests › without an open room: apps/web/playwright/e2e/accessibility/keyboard-navigation.spec.ts#L142
1) [Chrome] › playwright/e2e/accessibility/keyboard-navigation.spec.ts:106:5 › Landmark navigation tests › without an open room Error: expect(locator).toBeFocused() failed Locator: locator('.mx_HomePage') Expected: focused Received: inactive Timeout: 5000ms Call log: - Expect "toBeFocused" with timeout 5000ms - waiting for locator('.mx_HomePage') 7 × locator resolved to <main tabindex="-1" class="mx_AutoHideScrollbar mx_HomePage mx_HomePage_default">…</main> - unexpected value "inactive" 140 | // Pressing Control+F6 again will focus the home section 141 | await page.keyboard.press("ControlOrMeta+F6"); > 142 | await expect(page.locator(".mx_HomePage")).toBeFocused(); | ^ 143 | 144 | // Pressing Control+F6 will bring focus back to the space button 145 | await page.keyboard.press("ControlOrMeta+F6"); at /home/runner/work/element-web/element-web/apps/web/playwright/e2e/accessibility/keyboard-navigation.spec.ts:142:52
[Chrome] › playwright/e2e/oidc/oidc-native.spec.ts:82:5 › OIDC Native › it should log out the user & wipe data when logging out via MAS @no-firefox @no-webkit @screenshot: apps/web/playwright/e2e/oidc/oidc-native.spec.ts#L106
1) [Chrome] › playwright/e2e/oidc/oidc-native.spec.ts:82:5 › OIDC Native › it should log out the user & wipe data when logging out via MAS @no-firefox @no-webkit @screenshot Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toHaveLength(expected) Expected length: 0 Received length: 21 Received array: ["react_sdk_session_lock_owner", "mx_local_settings", "mx_has_access_token", "mx_oidc_client_id", "mx_oidc_token_issuer", "must_verify_device", "mx_draft_cleanup", "mx_profile_displayname", "mx_device_id", "mx_has_refresh_token", …] 104 | 105 | const localStorageKeys = await page.evaluate(() => Object.keys(localStorage)); > 106 | expect(localStorageKeys).toHaveLength(0); | ^ 107 | }, 108 | ); 109 | at /home/runner/work/element-web/element-web/apps/web/playwright/e2e/oidc/oidc-native.spec.ts:106:38
[Chrome] › playwright/e2e/oidc/oidc-native.spec.ts:82:5 › OIDC Native › it should log out the user & wipe data when logging out via MAS @no-firefox @no-webkit @screenshot: apps/web/playwright/e2e/oidc/oidc-native.spec.ts#L106
1) [Chrome] › playwright/e2e/oidc/oidc-native.spec.ts:82:5 › OIDC Native › it should log out the user & wipe data when logging out via MAS @no-firefox @no-webkit @screenshot Error: expect(received).toHaveLength(expected) Expected length: 0 Received length: 21 Received array: ["react_sdk_session_lock_owner", "mx_local_settings", "mx_has_access_token", "mx_oidc_client_id", "mx_oidc_token_issuer", "must_verify_device", "mx_draft_cleanup", "mx_profile_displayname", "mx_device_id", "mx_has_refresh_token", …] 104 | 105 | const localStorageKeys = await page.evaluate(() => Object.keys(localStorage)); > 106 | expect(localStorageKeys).toHaveLength(0); | ^ 107 | }, 108 | ); 109 | at /home/runner/work/element-web/element-web/apps/web/playwright/e2e/oidc/oidc-native.spec.ts:106:38
Build Element-Web
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Run Tests [Chrome] 3/6
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Run Tests [Chrome] 4/6
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Run Tests [Chrome] 2/6
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Run Tests [Chrome] 5/6
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Run Tests [Chrome] 1/6
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Run Tests [Chrome] 6/6
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
end-to-end-tests
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
🎭 Playwright Run Summary
3 skipped 84 passed (5.5m)
🎭 Playwright Run Summary
76 passed (6.1m)
🎭 Playwright Run Summary
82 passed (8.6m)
🎭 Playwright Run Summary
1 flaky [Chrome] › playwright/e2e/timeline/timeline.spec.ts:232:9 › Timeline › configure room › should click 'collapse' on the first hovered info event line inside GELS on bubble layout @screenshot 2 skipped 91 passed (8.9m)
🎭 Playwright Run Summary
2 flaky [Chrome] › playwright/e2e/accessibility/keyboard-navigation.spec.ts:106:5 › Landmark navigation tests › without an open room [Chrome] › playwright/e2e/crypto/toasts.spec.ts:35:5 › Key storage out of sync toast › should prompt for recovery key if 'enter recovery key' pressed @screenshot 87 passed (9.3m)
🎭 Playwright Run Summary
1 flaky [Chrome] › playwright/e2e/oidc/oidc-native.spec.ts:82:5 › OIDC Native › it should log out the user & wipe data when logging out via MAS @no-firefox @no-webkit @screenshot 71 passed (10.1m)

Artifacts

Produced during runtime
Name Size Digest
all-blob-reports-Chrome-1 Expired
13.8 MB
sha256:fe6d122774fbe456b8ee2601964061b255b23abd12b880d5ebbb6674e767b6fc
all-blob-reports-Chrome-2 Expired
493 KB
sha256:d0fd417ac8f6f3f838176c253f6b14a0b9bd6599c483351125f2a0e5f5afe1db
all-blob-reports-Chrome-3 Expired
640 KB
sha256:304c491c748b435aef58d901b3c7b6c2ba0df5534d4fc3d4142493e2dab1c493
all-blob-reports-Chrome-4 Expired
617 KB
sha256:3a3139faf3793776548164ad0d168eead91a3fcc618b9a94197613b3a79a1064
all-blob-reports-Chrome-5 Expired
4.58 MB
sha256:18d10ef223e8dc8c0c8f2ff6bb804de862f8c8ccf24903ac20c9b84642353108
all-blob-reports-Chrome-6 Expired
6.32 MB
sha256:4fa5be529d2cb51025b00ffdf250fc59b25eb0af781958c24712e92ece59e05b
html-report Expired
25.8 MB
sha256:2bbd9e1a5a1b2d689e728535f7470538820a96e3dabc1b59b6ee10643723cc8a
webapp Expired
39.5 MB
sha256:b84e843bd7e9623a96758243f24dbf04736e343cfe88d34091b06770d7fda0f9