Skip to content

element-web-notify #8855

element-web-notify

element-web-notify #8855

Triggered via repository dispatch July 8, 2025 14:54
@RiotRobotRiotRobot
element-web-notify df50a50
Status Success
Total duration 27m 44s
Artifacts 10

end-to-end-tests.yaml

on: repository_dispatch
Build Element-Web
2m 20s
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
1m 5s
end-to-end-tests
Fit to window
Zoom out
Zoom in

Annotations

15 errors and 6 notices
[Chrome] › playwright/e2e/read-receipts/new-messages-in-threads.spec.ts:62:17 › Read receipts › new messages › in threads › Reading a thread message makes the thread read @mergequeue: playwright/pages/client.ts#L130
1) [Chrome] › playwright/e2e/read-receipts/new-messages-in-threads.spec.ts:62:17 › Read receipts › new messages › in threads › Reading a thread message makes the thread read @mergequeue Error: jsHandle.evaluate: Cannot serialize result: object reference chain is too long. at ../pages/client.ts:130 128 | 129 | const client = await this.prepareClient(); > 130 | return client.evaluate( | ^ 131 | (client, { roomId, content, threadId }) => { 132 | return client.sendMessage(roomId, threadId, content as RoomMessageEventContent); 133 | }, at Bot.sendMessage (/home/runner/work/element-web/element-web/playwright/pages/client.ts:130:23) at Helpers.sendMessageAsClient (/home/runner/work/element-web/element-web/playwright/e2e/read-receipts/index.ts:346:17) at Helpers.receiveMessages (/home/runner/work/element-web/element-web/playwright/e2e/read-receipts/index.ts:586:9) at /home/runner/work/element-web/element-web/playwright/e2e/read-receipts/new-messages-in-threads.spec.ts:70:17
[Chrome] › playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:142:13 › Room list › Room list › should scroll to the current room: playwright/e2e/left-panel/room-list-panel/room-list.spec.ts#L150
2) [Chrome] › playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:142:13 › Room list › Room list › should scroll to the current room Error: locator.click: Test timeout of 30000ms exceeded. Call log: - waiting for getByTestId('room-list').getByRole('gridcell', { name: 'Open room room0' }) 148 | 149 | await expect(roomListView.getByRole("gridcell", { name: "Open room room0" })).toBeVisible(); > 150 | await roomListView.getByRole("gridcell", { name: "Open room room0" }).click(); | ^ 151 | 152 | const filters = page.getByRole("listbox", { name: "Room list filters" }); 153 | await filters.getByRole("option", { name: "People" }).click(); at /home/runner/work/element-web/element-web/playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:150:83
[Chrome] › playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:142:13 › Room list › Room list › should scroll to the current room: playwright/e2e/left-panel/room-list-panel/room-list.spec.ts#L0
2) [Chrome] › playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:142:13 › Room list › Room list › should scroll to the current room Test timeout of 30000ms exceeded.
[Chrome] › playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:44:13 › Room list › Room list › should render the room list @screenshot: playwright/e2e/left-panel/room-list-panel/room-list.spec.ts#L54
1) [Chrome] › playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:44:13 › Room list › Room list › should render the room list @screenshot Error: expect(locator).toHaveScreenshot(expected) 9210 pixels (ratio 0.05 of all image pixels) are different. Expected: /home/runner/work/element-web/element-web/playwright/snapshots/left-panel/room-list-panel/room-list.spec.ts/room-list-scrolled-linux.png Received: /home/runner/work/element-web/element-web/playwright/test-results/left-panel-room-list-panel-b32ce-should-render-the-room-list-Chrome/room-list-scrolled-actual.png Diff: /home/runner/work/element-web/element-web/playwright/test-results/left-panel-room-list-panel-b32ce-should-render-the-room-list-Chrome/room-list-scrolled-diff.png Call log: - Expect "toHaveScreenshot(room-list-scrolled.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for getByTestId('room-list') - locator resolved to <div class="mx_RoomList" data-testid="room-list">…</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 - 9210 pixels (ratio 0.05 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for getByTestId('room-list') - locator resolved to <div class="mx_RoomList" data-testid="room-list">…</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 - 9210 pixels (ratio 0.05 of all image pixels) are different. 52 | await page.mouse.wheel(0, 1000); 53 | await expect(roomListView.getByRole("gridcell", { name: "Open room room0" })).toBeVisible(); > 54 | await expect(roomListView).toMatchScreenshot("room-list-scrolled.png"); | ^ 55 | }); 56 | 57 | test("should open the room when it is clicked", async ({ page, app, user }) => { at /home/runner/work/element-web/element-web/playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:54:40
[Chrome] › playwright/e2e/crypto/event-shields.spec.ts:164:13 › Cryptography › event shields › Should show a grey padlock for a key restored from backup: playwright/e2e/crypto/event-shields.spec.ts#L202
3) [Chrome] › playwright/e2e/crypto/event-shields.spec.ts:164:13 › Cryptography › event shields › Should show a grey padlock for a key restored from backup Error: Timed out 5000ms waiting for expect(locator).toContainText(expected) Locator: locator('.mx_EventTile_last') Expected string: "test encrypted 1" Received: <element(s) not found> Call log: - Expect "toContainText" with timeout 5000ms - waiting for locator('.mx_EventTile_last') 200 | /* go back to the test room and find Bob's message again */ 201 | await app.viewRoomById(testRoomId); > 202 | await expect(lastTile).toContainText("test encrypted 1"); | ^ 203 | // The gray shield would be a mx_EventTile_e2eIcon_normal. The red shield would be a mx_EventTile_e2eIcon_warning. 204 | // No shield would have no div mx_EventTile_e2eIcon at all. 205 | await expect(lastTileE2eIcon).toHaveClass(/mx_EventTile_e2eIcon_normal/); at /home/runner/work/element-web/element-web/playwright/e2e/crypto/event-shields.spec.ts:202:36
[Chrome] › playwright/e2e/crypto/device-verification.spec.ts:122:9 › Device verification › Verify device with QR code during login @no-webkit: playwright/e2e/crypto/device-verification.spec.ts#L0
2) [Chrome] › playwright/e2e/crypto/device-verification.spec.ts:122:9 › Device verification › Verify device with QR code during login @no-webkit Error: apiRequestContext.fetch: Target page, context or browser has been closed Call log: - → POST http://localhost:37531/_synapse/admin/v1/register - user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.7204.23 Safari/537.36 - accept: */* - accept-encoding: gzip,deflate,br - content-type: application/json - content-length: 311 at Api.request (/home/runner/work/element-web/element-web/node_modules/@element-hq/element-web-playwright-common/lib/utils/api.js:28:41) at StartedSynapseContainer.registerUserInternal (/home/runner/work/element-web/element-web/node_modules/@element-hq/element-web-playwright-common/lib/testcontainers/synapse.js:287:42) at Object.credentials (/home/runner/work/element-web/element-web/node_modules/@element-hq/element-web-playwright-common/lib/fixtures/user.js:16:29)
[Chrome] › playwright/e2e/crypto/device-verification.spec.ts:122:9 › Device verification › Verify device with QR code during login @no-webkit: playwright/e2e/crypto/device-verification.spec.ts#L97
2) [Chrome] › playwright/e2e/crypto/device-verification.spec.ts:122:9 › Device verification › Verify device with QR code during login @no-webkit Error: "route.fetch: Test ended." while running route callback. Consider awaiting `await page.unrouteAll({ behavior: 'ignoreErrors' })` before the end of the test to ignore remaining routes in flight. 95 | await route.fulfill({ json: {} }); 96 | await new Promise((f) => setTimeout(f, 1000)); > 97 | await route.fetch(); | ^ 98 | }); 99 | 100 | await logIntoElement(page, credentials); at /home/runner/work/element-web/element-web/playwright/e2e/crypto/device-verification.spec.ts:97:25
[Chrome] › playwright/e2e/audio-player/audio-player.spec.ts:222:9 › Audio player › should support replying to audio file with another audio file @no-firefox @no-webkit @screenshot: playwright/e2e/audio-player/audio-player.spec.ts#L244
1) [Chrome] › playwright/e2e/audio-player/audio-player.spec.ts:222:9 › Audio player › should support replying to audio file with another audio file @no-firefox @no-webkit @screenshot Error: Timed out 5000ms waiting for expect(locator).toBeVisible() Locator: locator('.mx_EventTile_last').locator('.mx_ReplyChain_wrapper .mx_MFileBody_info[role=\'button\']').locator('.mx_MFileBody_info_filename') Expected: visible Received: <element(s) not found> Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for locator('.mx_EventTile_last').locator('.mx_ReplyChain_wrapper .mx_MFileBody_info[role=\'button\']').locator('.mx_MFileBody_info_filename') 242 | const button = tile.locator(".mx_ReplyChain_wrapper .mx_MFileBody_info[role='button']"); 243 | // Assert that the file button has file name > 244 | await expect(button.locator(".mx_MFileBody_info_filename")).toBeVisible(); | ^ 245 | 246 | await takeSnapshots(page, app, "Selected EventTile of audio player with a reply"); 247 | }, at /home/runner/work/element-web/element-web/playwright/e2e/audio-player/audio-player.spec.ts:244:73
[Chrome] › playwright/e2e/timeline/timeline.spec.ts:877:13 › Timeline › message displaying › should render a code block @screenshot: playwright/e2e/timeline/timeline.spec.ts#L895
4) [Chrome] › playwright/e2e/timeline/timeline.spec.ts:877:13 › Timeline › message displaying › should render a code block @screenshot Error: expect(locator).toHaveScreenshot(expected) 16 pixels (ratio 0.01 of all image pixels) are different. Expected: /home/runner/work/element-web/element-web/playwright/snapshots/timeline/timeline.spec.ts/code-block-linux.png Received: /home/runner/work/element-web/element-web/playwright/test-results/timeline-timeline-Timeline-0ac37--should-render-a-code-block-Chrome/code-block-actual.png Diff: /home/runner/work/element-web/element-web/playwright/test-results/timeline-timeline-Timeline-0ac37--should-render-a-code-block-Chrome/code-block-diff.png Call log: - Expect "toHaveScreenshot(code-block.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('.mx_EventTile') - locator resolved to <li tabindex="-1" aria-live="off" data-self="true" data-layout="irc" aria-atomic="true" data-has-reply="false" data-event-id="~!yMtOQLRVzDUNdEaoti:localhost:m1751987848956.0" class="mx_EventTile mx_EventTile_sending mx_EventTile_last mx_EventTile_lastInSection">…</li> - 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 - 16 pixels (ratio 0.01 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('.mx_EventTile') - locator resolved to <li tabindex="-1" aria-live="off" data-self="true" data-layout="irc" aria-atomic="true" data-has-reply="false" data-event-id="$wss2QPNLaxeflwLCWEPT-wSC3VFjONVj1qbHZOtOWXM" class="mx_EventTile mx_EventTile_last mx_EventTile_lastInSection" data-scroll-tokens="$wss2QPNLaxeflwLCWEPT-wSC3VFjONVj1qbHZOtOWXM">…</li> - 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 - 16 pixels (ratio 0.01 of all image pixels) are different. 893 | const tile = page.locator(".mx_EventTile"); 894 | await expect(tile).toBeVisible(); > 895 | await expect(tile).toMatchScreenshot("code-block.png", { mask: [page.locator(".mx_MessageTimestamp")] }); | ^ 896 | 897 | // Edit a code block and assert the edited code block has been correctly rendered 898 | await tile.hover(); at /home/runner/work/element-web/element-web/playwright/e2e/timeline/timeline.spec.ts:895:32
[Chrome] › playwright/e2e/timeline/timeline.spec.ts:228:13 › Timeline › configure room › should click 'collapse' on the first hovered info event line inside GELS on bubble layout @screenshot: playwright/e2e/timeline/timeline.spec.ts#L256
3) [Chrome] › playwright/e2e/timeline/timeline.spec.ts:228:13 › Timeline › configure room › should click 'collapse' on the first hovered info event line inside GELS on bubble layout @screenshot Error: expect(locator).toHaveScreenshot(expected) 210 pixels (ratio 0.01 of all image pixels) are different. Expected: /home/runner/work/element-web/element-web/playwright/snapshots/timeline/timeline.spec.ts/expanded-gels-bubble-layout-linux.png Received: /home/runner/work/element-web/element-web/playwright/test-results/timeline-timeline-Timeline-d0f12-nside-GELS-on-bubble-layout-Chrome/expanded-gels-bubble-layout-actual.png Diff: /home/runner/work/element-web/element-web/playwright/test-results/timeline-timeline-Timeline-d0f12-nside-GELS-on-bubble-layout-Chrome/expanded-gels-bubble-layout-diff.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 - 210 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 - 210 pixels (ratio 0.01 of all image pixels) are different. 254 | 255 | // Save snapshot of expanded generic event list summary on bubble layout > 256 | await expect(page.locator(".mx_MainSplit")).toMatchScreenshot("expanded-gels-bubble-layout.png", { | ^ 257 | // Exclude timestamp from snapshot 258 | mask: [page.locator(".mx_MessageTimestamp")], 259 | }); at /home/runner/work/element-web/element-web/playwright/e2e/timeline/timeline.spec.ts:256:61
[Chrome] › playwright/e2e/oidc/oidc-native.spec.ts:81:9 › OIDC Native › it should log out the user & wipe data when logging out via MAS @no-firefox @no-webkit @screenshot: playwright/e2e/oidc/oidc-native.spec.ts#L0
2) [Chrome] › playwright/e2e/oidc/oidc-native.spec.ts:81:9 › OIDC Native › it should log out the user & wipe data when logging out via MAS @no-firefox @no-webkit @screenshot Error: Request to http://localhost:34851/_matrix/client/v3/publicRooms failed with status 500: {"errcode":"M_FORBIDDEN","error":"User not found"} at ClientServerApi.request (/home/runner/work/element-web/element-web/node_modules/@element-hq/element-web-playwright-common/lib/utils/api.js:38:19) at StartedSynapseWithMasContainer.deletePublicRooms (/home/runner/work/element-web/element-web/node_modules/@element-hq/element-web-playwright-common/lib/testcontainers/synapse.js:277:34) at StartedSynapseWithMasContainer.onTestFinished (/home/runner/work/element-web/element-web/node_modules/@element-hq/element-web-playwright-common/lib/testcontainers/synapse.js:272:9) at Object.context (/home/runner/work/element-web/element-web/node_modules/@element-hq/element-web-playwright-common/lib/fixtures/services.js:112:9)
[Chrome] › playwright/e2e/crypto/backups-mas.spec.ts:23:9 › Encryption state after registration › Key backup is enabled by default: playwright/e2e/oidc/index.ts#L41
1) [Chrome] › playwright/e2e/crypto/backups-mas.spec.ts:23:9 › Encryption state after registration › Key backup is enabled by default Error: locator.fill: Target page, context or browser has been closed at oidc/index.ts:41 39 | }).toPass(); 40 | > 41 | await page.getByRole("textbox", { name: "6-digit code" }).fill(code); | ^ 42 | await page.getByRole("button", { name: "Continue" }).click(); 43 | await page.getByRole("textbox", { name: "Display Name" }).fill(username); 44 | await page.getByRole("button", { name: "Continue" }).click(); at registerAccountMas (/home/runner/work/element-web/element-web/playwright/e2e/oidc/index.ts:41:63) at /home/runner/work/element-web/element-web/playwright/e2e/crypto/backups-mas.spec.ts:26:9
[Chrome] › playwright/e2e/crypto/backups-mas.spec.ts:23:9 › Encryption state after registration › Key backup is enabled by default: playwright/e2e/crypto/backups-mas.spec.ts#L0
1) [Chrome] › playwright/e2e/crypto/backups-mas.spec.ts:23:9 › Encryption state after registration › Key backup is enabled by default Test timeout of 30000ms exceeded.
[Chrome] › playwright/e2e/share-dialog/share-by-url.spec.ts:19:9 › share from URL › should share message when users navigates to share URL: playwright/pages/ElementAppPage.ts#L96
1) [Chrome] › playwright/e2e/share-dialog/share-by-url.spec.ts:19:9 › share from URL › should share message when users navigates to share URL Error: locator.click: Test timeout of 30000ms exceeded. Call log: - waiting for getByRole('tree', { name: 'Rooms' }).locator('[title="A test room"],[aria-label="A test room"]').first() at ../pages/ElementAppPage.ts:96 94 | .locator(`[title="${name}"],[aria-label="${name}"]`) 95 | .first() > 96 | .click(); | ^ 97 | } 98 | 99 | public async viewRoomById(roomId: string): Promise<void> { at ElementAppPage.viewRoomByName (/home/runner/work/element-web/element-web/playwright/pages/ElementAppPage.ts:96:14) at /home/runner/work/element-web/element-web/playwright/e2e/share-dialog/share-by-url.spec.ts:28:19
[Chrome] › playwright/e2e/share-dialog/share-by-url.spec.ts:19:9 › share from URL › should share message when users navigates to share URL: playwright/e2e/share-dialog/share-by-url.spec.ts#L0
1) [Chrome] › playwright/e2e/share-dialog/share-by-url.spec.ts:19:9 › share from URL › should share message when users navigates to share URL Test timeout of 30000ms exceeded.
🎭 Playwright Run Summary
14 skipped 82 passed (7.2m)
🎭 Playwright Run Summary
1 flaky [Chrome] › playwright/e2e/read-receipts/new-messages-in-threads.spec.ts:62:17 › Read receipts › new messages › in threads › Reading a thread message makes the thread read @mergequeue 32 skipped 58 passed (7.7m)
🎭 Playwright Run Summary
2 flaky [Chrome] › playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:44:13 › Room list › Room list › should render the room list @screenshot [Chrome] › playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:142:13 › Room list › Room list › should scroll to the current room 1 skipped 96 passed (9.3m)
🎭 Playwright Run Summary
3 flaky [Chrome] › playwright/e2e/audio-player/audio-player.spec.ts:222:9 › Audio player › should support replying to audio file with another audio file @no-firefox @no-webkit @screenshot [Chrome] › playwright/e2e/crypto/device-verification.spec.ts:122:9 › Device verification › Verify device with QR code during login @no-webkit [Chrome] › playwright/e2e/crypto/event-shields.spec.ts:164:13 › Cryptography › event shields › Should show a grey padlock for a key restored from backup 92 passed (9.4m)
🎭 Playwright Run Summary
4 flaky [Chrome] › playwright/e2e/crypto/backups-mas.spec.ts:23:9 › Encryption state after registration › Key backup is enabled by default [Chrome] › playwright/e2e/oidc/oidc-native.spec.ts:81:9 › OIDC Native › it should log out the user & wipe data when logging out via MAS @no-firefox @no-webkit @screenshot [Chrome] › playwright/e2e/timeline/timeline.spec.ts:228:13 › Timeline › configure room › should click 'collapse' on the first hovered info event line inside GELS on bubble layout @screenshot [Chrome] › playwright/e2e/timeline/timeline.spec.ts:877:13 › Timeline › message displaying › should render a code block @screenshot 83 passed (11.0m)
🎭 Playwright Run Summary
1 flaky [Chrome] › playwright/e2e/share-dialog/share-by-url.spec.ts:19:9 › share from URL › should share message when users navigates to share URL 2 skipped 96 passed (8.7m)

Artifacts

Produced during runtime
Name Size Digest
all-blob-reports-Chrome-1 Expired
21.1 MB
sha256:749e487d4982400a0ff6a7dc625cd76e766a6f739281d88b2236cc34d03c393a
all-blob-reports-Chrome-2 Expired
14.1 MB
sha256:2907cc20db0d5eb3a816ba46800513d0db36132b9ef6760101fe7f75a2d4ffcc
all-blob-reports-Chrome-3 Expired
3.94 MB
sha256:a00357cdaf7bb66d599569e19462d6d81634ba8681082762b46b1a689e1ad6b7
all-blob-reports-Chrome-4 Expired
352 KB
sha256:909d2aee297bdd3dc63624d3d70c93d324852505446baedcf66d51f06ba90972
all-blob-reports-Chrome-5 Expired
3.32 MB
sha256:c459d3b259af8422fd01fedaa0ad5aa7665f019265db91e3472e0a48158dc1e8
all-blob-reports-Chrome-6 Expired
14.9 MB
sha256:7fdc29a8af02b8565743243107cb313e6d1431f344edef892722ee8983533b36
all-blob-reports-Chrome-6 Expired
14.9 MB
sha256:7fdc29a8af02b8565743243107cb313e6d1431f344edef892722ee8983533b36
all-blob-reports-Chrome-6 Expired
14.9 MB
sha256:7fdc29a8af02b8565743243107cb313e6d1431f344edef892722ee8983533b36
html-report Expired
55.5 MB
sha256:dabb8f4de212c928e53664a83e9581eca29201e8a5671888cc832af19df44062
webapp Expired
38.4 MB
sha256:a85df1558b49f152ae8cfd0a2eea567114442bcb6719a478fe5e6092b761e717