Refactor and redesign user menu #1470
build-and-test.yaml
on: pull_request
Build Element Web
2m 18s
Matrix: playwright_ew
Downstream Playwright tests [element-modules]
/
Run Playwright end-to-end tests & upload html report
Matrix: Desktop Linux
Matrix: Desktop Windows
Waiting for pending jobs
end-to-end-tests
30s
Annotations
7 errors, 1 warning, and 5 notices
|
[Chrome] › playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:185: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#L200
1) [Chrome] › playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:185: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 })
198 | await page.keyboard.press("Alt+Shift+ArrowDown");
199 |
> 200 | await expect(page.getByRole("heading", { name: "1 notification", level: 1 })).toBeVisible();
| ^
201 | });
202 | });
203 |
at /home/runner/work/element-web/element-web/apps/web/playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:200:95
|
|
Run Tests [Chrome] 4/4
Process completed with exit code 1.
|
|
[Chrome] › playwright/e2e/app-loading/guest-registration.spec.ts:37:1 › Shows the user menu for guests @screenshot:
apps/web/playwright/e2e/app-loading/guest-registration.spec.ts#L41
1) [Chrome] › playwright/e2e/app-loading/guest-registration.spec.ts:37:1 › Shows the user menu for guests @screenshot
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toHaveScreenshot(expected) failed
Locator: getByRole('menu', { name: 'User menu' })
Expected an image 221px by 230px, received 219px by 314px. 10515 pixels (ratio 0.16 of all image pixels) are different.
Snapshot: guest-menu.png
Call log:
- Expect "toHaveScreenshot(guest-menu.png)" with timeout 5000ms
- verifying given screenshot expectation
- waiting for getByRole('menu', { name: 'User menu' })
- locator resolved to <div dir="ltr" role="menu" tabindex="-1" id="radix-_r_h_" data-state="open" data-side="bottom" data-align="start" aria-label="User menu" data-radix-menu-content="" aria-orientation="vertical" data-orientation="vertical" aria-labelledby="radix-_r_g_" class="_container_3x4xf_8 _menu_1kl3y_8">…</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
- Expected an image 221px by 230px, received 219px by 314px. 10515 pixels (ratio 0.16 of all image pixels) are different.
- waiting 100ms before taking screenshot
- waiting for getByRole('menu', { name: 'User menu' })
- locator resolved to <div dir="ltr" role="menu" tabindex="-1" id="radix-_r_h_" data-state="open" data-side="bottom" data-align="start" aria-label="User menu" data-radix-menu-content="" aria-orientation="vertical" data-orientation="vertical" aria-labelledby="radix-_r_g_" class="_container_3x4xf_8 _menu_1kl3y_8">…</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
- Expected an image 221px by 230px, received 219px by 314px. 10515 pixels (ratio 0.16 of all image pixels) are different.
39 | await page.waitForSelector(".mx_MatrixChat", { timeout: 30000 });
40 | const menu = await app.openUserMenu();
> 41 | await expect(menu).toMatchScreenshot("guest-menu.png", screenshotOptions(page));
| ^
42 | });
43 |
44 | test("Room link correctly loads a room view", async ({ page }) => {
at /home/runner/work/element-web/element-web/apps/web/playwright/e2e/app-loading/guest-registration.spec.ts:41:24
|
|
[Chrome] › playwright/e2e/app-loading/guest-registration.spec.ts:37:1 › Shows the user menu for guests @screenshot:
apps/web/playwright/e2e/app-loading/guest-registration.spec.ts#L41
1) [Chrome] › playwright/e2e/app-loading/guest-registration.spec.ts:37:1 › Shows the user menu for guests @screenshot
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toHaveScreenshot(expected) failed
Locator: getByRole('menu', { name: 'User menu' })
Expected an image 221px by 230px, received 219px by 314px. 10515 pixels (ratio 0.16 of all image pixels) are different.
Snapshot: guest-menu.png
Call log:
- Expect "toHaveScreenshot(guest-menu.png)" with timeout 5000ms
- verifying given screenshot expectation
- waiting for getByRole('menu', { name: 'User menu' })
- locator resolved to <div dir="ltr" role="menu" tabindex="-1" id="radix-_r_h_" data-state="open" data-side="bottom" data-align="start" aria-label="User menu" data-radix-menu-content="" aria-orientation="vertical" data-orientation="vertical" aria-labelledby="radix-_r_g_" class="_container_3x4xf_8 _menu_1kl3y_8">…</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
- Expected an image 221px by 230px, received 219px by 314px. 10515 pixels (ratio 0.16 of all image pixels) are different.
- waiting 100ms before taking screenshot
- waiting for getByRole('menu', { name: 'User menu' })
- locator resolved to <div dir="ltr" role="menu" tabindex="-1" id="radix-_r_h_" data-state="open" data-side="bottom" data-align="start" aria-label="User menu" data-radix-menu-content="" aria-orientation="vertical" data-orientation="vertical" aria-labelledby="radix-_r_g_" class="_container_3x4xf_8 _menu_1kl3y_8">…</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
- Expected an image 221px by 230px, received 219px by 314px. 10515 pixels (ratio 0.16 of all image pixels) are different.
39 | await page.waitForSelector(".mx_MatrixChat", { timeout: 30000 });
40 | const menu = await app.openUserMenu();
> 41 | await expect(menu).toMatchScreenshot("guest-menu.png", screenshotOptions(page));
| ^
42 | });
43 |
44 | test("Room link correctly loads a room view", async ({ page }) => {
at /home/runner/work/element-web/element-web/apps/web/playwright/e2e/app-loading/guest-registration.spec.ts:41:24
|
|
[Chrome] › playwright/e2e/app-loading/guest-registration.spec.ts:37:1 › Shows the user menu for guests @screenshot:
apps/web/playwright/e2e/app-loading/guest-registration.spec.ts#L41
1) [Chrome] › playwright/e2e/app-loading/guest-registration.spec.ts:37:1 › Shows the user menu for guests @screenshot
Error: expect(locator).toHaveScreenshot(expected) failed
Locator: getByRole('menu', { name: 'User menu' })
Expected an image 221px by 230px, received 219px by 314px. 10795 pixels (ratio 0.16 of all image pixels) are different.
Snapshot: guest-menu.png
Call log:
- Expect "toHaveScreenshot(guest-menu.png)" with timeout 5000ms
- verifying given screenshot expectation
- waiting for getByRole('menu', { name: 'User menu' })
- locator resolved to <div dir="ltr" role="menu" tabindex="-1" id="radix-_r_h_" data-state="open" data-side="bottom" data-align="start" aria-label="User menu" data-radix-menu-content="" aria-orientation="vertical" data-orientation="vertical" aria-labelledby="radix-_r_g_" class="_container_3x4xf_8 _menu_1kl3y_8">…</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
- Expected an image 221px by 230px, received 219px by 314px. 10795 pixels (ratio 0.16 of all image pixels) are different.
- waiting 100ms before taking screenshot
- waiting for getByRole('menu', { name: 'User menu' })
- locator resolved to <div dir="ltr" role="menu" tabindex="-1" id="radix-_r_h_" data-state="open" data-side="bottom" data-align="start" aria-label="User menu" data-radix-menu-content="" aria-orientation="vertical" data-orientation="vertical" aria-labelledby="radix-_r_g_" class="_container_3x4xf_8 _menu_1kl3y_8">…</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
- Expected an image 221px by 230px, received 219px by 314px. 10795 pixels (ratio 0.16 of all image pixels) are different.
39 | await page.waitForSelector(".mx_MatrixChat", { timeout: 30000 });
40 | const menu = await app.openUserMenu();
> 41 | await expect(menu).toMatchScreenshot("guest-menu.png", screenshotOptions(page));
| ^
42 | });
43 |
44 | test("Room link correctly loads a room view", async ({ page }) => {
at /home/runner/work/element-web/element-web/apps/web/playwright/e2e/app-loading/guest-registration.spec.ts:41:24
|
|
end-to-end-tests
Process completed with exit code 1.
|
|
end-to-end-tests
1 tests failed, skipping stale screenshot reporter.
|
|
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. 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
1 skipped
130 passed (10.2m)
|
|
🎭 Playwright Run Summary
1 flaky
[Chrome] › playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:185:13 › Room list › Room list › Shortcuts › should select the next unread room
3 skipped
129 passed (11.7m)
|
|
🎭 Playwright Run Summary
135 passed (12.3m)
|
|
🎭 Playwright Run Summary
1 skipped
6 passed (21.2s)
|
|
🎭 Playwright Run Summary
1 failed
[Chrome] › playwright/e2e/app-loading/guest-registration.spec.ts:37:1 › Shows the user menu for guests @screenshot
1 skipped
130 passed (16.8m)
|
Artifacts
Produced during runtime
| Name | Size | Digest | |
|---|---|---|---|
|
blob-report-Chrome-1
|
829 KB |
sha256:db922c96cf15c3e70a5e2a734dd584aeb74d90ef49c12c9681f461f968bcc46e
|
|
|
blob-report-Chrome-2
|
8.49 MB |
sha256:12f984c8173bbde51604246add9d8b893c7502aa161e55f4e163928b42c93a32
|
|
|
blob-report-Chrome-3
|
1.55 MB |
sha256:431f5d223135881d186da898f8932cf9928f50ac4ef5226770a4eebe8e16e255
|
|
|
blob-report-Chrome-4
|
4.11 MB |
sha256:e6a01e83613b586689a668aa099ee6c921a21daf0525f4a4e2303ad02759418f
|
|
|
blob-report-linux-amd64-sqlcipher-static
|
58.2 KB |
sha256:8af9217f48bbfdb8107f8df006e10f2170d5c3bdca2923496ddf10f63633b15d
|
|
|
desktop-prepare
|
41.2 MB |
sha256:2932a63be9a27947c40d22e46aa2b7b649f6e21b4f3f325f315d495c6d718546
|
|
|
html-report
|
12.8 MB |
sha256:b41914d1547464f3d495ed48a8a08685ed1ca4337215dde574e8662e23bb0c9c
|
|
|
linux-amd64-sqlcipher-static
|
284 MB |
sha256:5d2584e28820c144ec0f53bed7fc08bd2b9918d701b6d934a0a5ba905e8e1c42
|
|
|
webapp
|
41.4 MB |
sha256:1a4a6831f0ec9825dcaec29118e023dbe698df96a8a75b369e487261c5131a52
|
|