Shared Components Restructure, Cherry Picked | Restructure Room-List Tree #38
Triggered via pull request
March 31, 2026 13:43
Status
Success
Total duration
1h 29m 44s
Artifacts
19
build-and-test.yaml
on: pull_request
Build Element Web
2m 10s
Matrix: playwright_ew
Downstream Playwright tests [element-modules]
/
Run Playwright end-to-end tests & upload html report
Matrix: Desktop Linux
Matrix: Desktop Windows
end-to-end-tests
40s
Annotations
8 errors, 5 warnings, and 10 notices
|
[Chrome] › playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:320:9 › Room list › Avatar decoration › should be a video room @screenshot:
apps/web/playwright/e2e/left-panel/room-list-panel/room-list.spec.ts#L336
2) [Chrome] › playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:320:9 › Room list › Avatar decoration › should be a video room @screenshot
Error: expect(locator).toHaveScreenshot(expected) failed
Locator: getByTestId('room-list').getByRole('option', { name: 'video room' })
283 pixels (ratio 0.02 of all image pixels) are different.
Snapshot: room-list-item-video.png
Call log:
- Expect "toHaveScreenshot(room-list-item-video.png)" with timeout 5000ms
- verifying given screenshot expectation
- waiting for getByTestId('room-list').getByRole('option', { name: 'video room' })
- locator resolved to <button type="button" tabindex="-1" role="option" aria-setsize="1" aria-posinset="1" data-state="closed" aria-haspopup="menu" aria-selected="false" aria-label="Open room video room" class="_flex_4dswl_9 _roomListItem_rtaba_8 mx_RoomListItemView _firstItem_rtaba_123 _lastItem_rtaba_127">…</button>
- 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
- 283 pixels (ratio 0.02 of all image pixels) are different.
- waiting 100ms before taking screenshot
- waiting for getByTestId('room-list').getByRole('option', { name: 'video room' })
- locator resolved to <button type="button" tabindex="-1" role="option" aria-setsize="1" aria-posinset="1" data-state="closed" aria-haspopup="menu" aria-selected="false" aria-label="Open room video room" class="_flex_4dswl_9 _roomListItem_rtaba_8 mx_RoomListItemView _firstItem_rtaba_123 _lastItem_rtaba_127">…</button>
- 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
- 283 pixels (ratio 0.02 of all image pixels) are different.
334 |
335 | await expect(videoRoom).toBeVisible();
> 336 | await expect(videoRoom).toMatchScreenshot("room-list-item-video.png");
| ^
337 | });
338 | });
339 |
at /home/runner/work/element-web/element-web/apps/web/playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:336:37
|
|
[Chrome] › playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:192:13 › Room list › Room list › Shortcuts › should select the next unread room:
apps/web/playwright/e2e/left-panel/room-list-panel/room-list.spec.ts#L207
1) [Chrome] › playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:192:13 › Room list › Room list › Shortcuts › should select the next unread room
Error: expect(locator).toBeVisible() failed
Locator: getByRole('heading', { name: '1 notification', level: 1 })
Expected: visible
Timeout: 5000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 5000ms
- waiting for getByRole('heading', { name: '1 notification', level: 1 })
205 | await page.keyboard.press("Alt+Shift+ArrowDown");
206 |
> 207 | await expect(page.getByRole("heading", { name: "1 notification", level: 1 })).toBeVisible();
| ^
208 | });
209 | });
210 |
at /home/runner/work/element-web/element-web/apps/web/playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:207:95
|
|
[Chrome] › playwright/e2e/oidc/oidc-native.spec.ts:144:9 › OIDC Native › with force_verification on › verify dialog cannot be dismissed @no-firefox @no-webkit @screenshot:
apps/web/playwright/e2e/oidc/oidc-native.spec.ts#L169
2) [Chrome] › playwright/e2e/oidc/oidc-native.spec.ts:144:9 › OIDC Native › with force_verification on › verify dialog cannot be dismissed @no-firefox @no-webkit @screenshot
Error: expect(locator).toBeVisible() failed
Locator: getByText('Confirm your digital identity')
Expected: visible
Timeout: 5000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 5000ms
- waiting for getByText('Confirm your digital identity')
167 |
168 | // We should be being warned that we need to verify (but we can't)
> 169 | await expect(page.getByText("Confirm your digital identity")).toBeVisible();
| ^
170 |
171 | // And there should be no way to close this prompt
172 | await expect(page.getByRole("button", { name: "Skip verification for now" })).not.toBeVisible();
at /home/runner/work/element-web/element-web/apps/web/playwright/e2e/oidc/oidc-native.spec.ts:169:75
|
|
[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
|
|
[Chrome] › playwright/e2e/settings/room-settings/room-security-tab.spec.ts:81:5 › Roles & Permissions room settings tab › should disallow changing from public to private if the user cannot alter history @screenshot:
apps/web/playwright/e2e/settings/room-settings/room-security-tab.spec.ts#L103
1) [Chrome] › playwright/e2e/settings/room-settings/room-security-tab.spec.ts:81:5 › Roles & Permissions room settings tab › should disallow changing from public to private if the user cannot alter history @screenshot
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: locator.blur: Test timeout of 30000ms exceeded.
Call log:
- waiting for locator('.mx_Dialog').filter({ has: locator('.mx_RoomSettingsDialog') }).getByRole('spinbutton', { name: '@user_6496a26110e4309860ce-e6b187015ed0865317ce:localhost' })
101 | const ourPl = settings.getByRole("spinbutton", { name: user.userId });
102 | await ourPl.fill("80");
> 103 | await ourPl.blur(); // Shows a warning on
| ^
104 |
105 | // Accept the de-op
106 | await page.getByRole("button", { name: "Continue" }).click();
at /home/runner/work/element-web/element-web/apps/web/playwright/e2e/settings/room-settings/room-security-tab.spec.ts:103:25
|
|
[Chrome] › playwright/e2e/settings/room-settings/room-security-tab.spec.ts:81:5 › Roles & Permissions room settings tab › should disallow changing from public to private if the user cannot alter history @screenshot:
apps/web/playwright/e2e/settings/room-settings/room-security-tab.spec.ts#L0
1) [Chrome] › playwright/e2e/settings/room-settings/room-security-tab.spec.ts:81:5 › Roles & Permissions room settings tab › should disallow changing from public to private if the user cannot alter history @screenshot
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 30000ms exceeded.
|
|
[Chrome] › playwright/e2e/settings/room-settings/room-security-tab.spec.ts:81:5 › Roles & Permissions room settings tab › should disallow changing from public to private if the user cannot alter history @screenshot:
apps/web/playwright/e2e/settings/room-settings/room-security-tab.spec.ts#L103
1) [Chrome] › playwright/e2e/settings/room-settings/room-security-tab.spec.ts:81:5 › Roles & Permissions room settings tab › should disallow changing from public to private if the user cannot alter history @screenshot
Error: locator.blur: Test timeout of 30000ms exceeded.
Call log:
- waiting for locator('.mx_Dialog').filter({ has: locator('.mx_RoomSettingsDialog') }).getByRole('spinbutton', { name: '@user_6496a26110e4309860ce-e6b187015ed0865317ce:localhost' })
- locator resolved to <input max="100" value="100" type="number" id="mx_Field_5" label="@user_6496a26110e4309860ce-e6b187015ed0865317ce:localhost" placeholder="@user_6496a26110e4309860ce-e6b187015ed0865317ce:localhost"/>
- element was detached from the DOM, retrying
101 | const ourPl = settings.getByRole("spinbutton", { name: user.userId });
102 | await ourPl.fill("80");
> 103 | await ourPl.blur(); // Shows a warning on
| ^
104 |
105 | // Accept the de-op
106 | await page.getByRole("button", { name: "Continue" }).click();
at /home/runner/work/element-web/element-web/apps/web/playwright/e2e/settings/room-settings/room-security-tab.spec.ts:103:25
|
|
[Chrome] › playwright/e2e/settings/room-settings/room-security-tab.spec.ts:81:5 › Roles & Permissions room settings tab › should disallow changing from public to private if the user cannot alter history @screenshot:
apps/web/playwright/e2e/settings/room-settings/room-security-tab.spec.ts#L0
1) [Chrome] › playwright/e2e/settings/room-settings/room-security-tab.spec.ts:81:5 › Roles & Permissions room settings tab › should disallow changing from public to private if the user cannot alter history @screenshot
Test timeout of 30000ms exceeded.
|
|
Desktop Linux (static, amd64, false) / Build Linux amd64 SQLCipher static
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: nbucic/variable-mapper@0673f6891a0619ba7c002ecfed0f9f4f39017b6f, tj-actions/changed-files@823fcebdb31bb35fdf2229d9f769b400309430d0. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 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/
|
|
Desktop Linux (static, arm64, false) / Build Linux arm64 SQLCipher static
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: nbucic/variable-mapper@0673f6891a0619ba7c002ecfed0f9f4f39017b6f, tj-actions/changed-files@823fcebdb31bb35fdf2229d9f769b400309430d0. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 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/
|
|
Desktop Windows (x64) / Build Windows x64
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756, nbucic/variable-mapper@0673f6891a0619ba7c002ecfed0f9f4f39017b6f. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 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/
|
|
Desktop Windows (ia32) / Build Windows ia32
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756, nbucic/variable-mapper@0673f6891a0619ba7c002ecfed0f9f4f39017b6f. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 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/
|
|
Desktop Windows (arm64) / Build Windows arm64
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756, nbucic/variable-mapper@0673f6891a0619ba7c002ecfed0f9f4f39017b6f. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 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
2 flaky
[Chrome] › playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:192:13 › Room list › Room list › Shortcuts › should select the next unread room
[Chrome] › playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:320:9 › Room list › Avatar decoration › should be a video room @screenshot
3 skipped
119 passed (10.7m)
|
|
🎭 Playwright Run Summary
1 skipped
6 passed (21.6s)
|
|
🎭 Playwright Run Summary
137 passed (12.0m)
|
|
🎭 Playwright Run Summary
1 skipped
6 passed (26.2s)
|
|
🎭 Playwright Run Summary
2 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
[Chrome] › playwright/e2e/oidc/oidc-native.spec.ts:144:9 › OIDC Native › with force_verification on › verify dialog cannot be dismissed @no-firefox @no-webkit @screenshot
115 passed (14.7m)
|
|
🎭 Playwright Run Summary
1 skipped
6 passed (22.1s)
|
|
🎭 Playwright Run Summary
1 flaky
[Chrome] › playwright/e2e/settings/room-settings/room-security-tab.spec.ts:81:5 › Roles & Permissions room settings tab › should disallow changing from public to private if the user cannot alter history @screenshot
2 skipped
129 passed (13.8m)
|
|
🎭 Playwright Run Summary
1 skipped
6 passed (31.5s)
|
|
🎭 Playwright Run Summary
1 skipped
6 passed (25.7s)
|
|
🎭 Playwright Run Summary
1 skipped
6 passed (33.3s)
|
Artifacts
Produced during runtime
| Name | Size | Digest | |
|---|---|---|---|
|
blob-report-Chrome-1
Expired
|
812 KB |
sha256:290541c43aaffd9d928da4a60d4a2246a6e0b387fc55a54727e12b906118410d
|
|
|
blob-report-Chrome-2
Expired
|
12.7 MB |
sha256:ac41a23bd5179d5ff86442b6cdfe9b939ed03f7aeaac2ece6afd9d2482dbfd95
|
|
|
blob-report-Chrome-3
Expired
|
6.45 MB |
sha256:dfb7dd1aac33dd700000a2a5c4149f52cbafdb83982d4e88ab5d7609b09a150d
|
|
|
blob-report-Chrome-4
Expired
|
12.2 MB |
sha256:c61129dac993adfd903aac41d7ef1c1c1c58848be7187425568fc23a9c82ca4d
|
|
|
blob-report-linux-amd64-sqlcipher-static
Expired
|
36.6 KB |
sha256:2890224d85020b1e8c4a2fc55f09999278492d74d0801a436660bef4ee5e8d11
|
|
|
blob-report-linux-arm64-sqlcipher-static
Expired
|
36.4 KB |
sha256:17cd61d2bb6ad162453ca79023ecdfba9c66fc5e0633b8f7ece240bdcad7f0e1
|
|
|
blob-report-macos
Expired
|
33.7 KB |
sha256:ec2789c84b757e3aad63199d67eb00058bf0978f479682afaf41685a10705968
|
|
|
blob-report-win-arm64
Expired
|
9.55 KB |
sha256:2d069b57ca7cb3a8a48f816a05ae0053ef9048ed5f332a657b8dd116f2fba900
|
|
|
blob-report-win-ia32
Expired
|
33.8 KB |
sha256:01a65128b07464fac7e4006d6ea42760cde7bcfd59b4723b466c0696d1b1a1c4
|
|
|
blob-report-win-x64
Expired
|
35.7 KB |
sha256:405923a8f9319aec3310fa7dee6cbcff8d0777151f8cf5793c535bd11e95638b
|
|
|
desktop-prepare
Expired
|
41 MB |
sha256:c55e2548b99be9ad285043044c07a51c61d745516a2171213d4874d85164f56f
|
|
|
html-report
Expired
|
30.6 MB |
sha256:fd4798a376d35809d4dca41143880cecd397c57cec0ecb458325b6aa452f161f
|
|
|
linux-amd64-sqlcipher-static
Expired
|
287 MB |
sha256:72da2a5c2994321f2ca3cd114586671b73f435cba55c0c24a132f739f2b936cd
|
|
|
linux-arm64-sqlcipher-static
Expired
|
282 MB |
sha256:9e5eb1c610ee4ef40c787de340d4e24a449c5bb574ade680d735c942cc79385d
|
|
|
macos
Expired
|
509 MB |
sha256:8c016691d502efde088549b9824dc880412ef525f1360e4eae33eee739771d5c
|
|
|
webapp
Expired
|
41.3 MB |
sha256:d4ce026c87c464809afc3eee24b12a61f7e4b97642e14b50c69fe9059066c26c
|
|
|
win-arm64
Expired
|
698 MB |
sha256:e9b3a08be70fa1834d351d9bb82e6baf68f04b296489886c8392e87cf1412a3b
|
|
|
win-ia32
Expired
|
636 MB |
sha256:5c32e2d12dd53264aafc3c520dda5a57d63f57fa3d4e8f6231b58dc9c90b0938
|
|
|
win-x64
Expired
|
710 MB |
sha256:1dcc5cb065c362f91abf633bf9a6b1a703033526c4344266466760bffb6fd6dc
|
|