Skip to content

End to End Tests

End to End Tests #31

Triggered via schedule February 5, 2025 06:07
Status Failure
Total duration 32m 39s
Artifacts 22

end-to-end-tests.yaml

on: schedule
Build Element-Web
2m 27s
Build Element-Web
Matrix: playwright
end-to-end-tests
1m 32s
end-to-end-tests
Fit to window
Zoom out
Zoom in

Annotations

76 errors, 79 warnings, and 20 notices
[Pinecone] › settings/encryption-user-tab/recovery.spec.ts:51:9 › Recovery section in Encryption tab › should setup the recovery key @screenshot @no-webkit: playwright/e2e/crypto/utils.ts#L188
1) [Pinecone] › settings/encryption-user-tab/recovery.spec.ts:51:9 › Recovery section in Encryption tab › should setup the recovery key @screenshot @no-webkit Error: expect(received).toBe(expected) // Object.is equality Expected: "1" Received: "5" at crypto/utils.ts:188 186 | expect(backupInfo).toBeDefined(); 187 | // The key backup version is as expected > 188 | expect(backupInfo.version).toBe(expectedBackupVersion); | ^ 189 | // The active backup version is as expected 190 | expect(activeBackupVersion).toBe(expectedBackupVersion); 191 | // The backup key is stored in 4S at checkDeviceIsConnectedKeyBackup (/home/runner/work/element-web/element-web/playwright/e2e/crypto/utils.ts:188:32) at /home/runner/work/element-web/element-web/playwright/e2e/settings/encryption-user-tab/recovery.spec.ts:86:9
[Dendrite] › settings/encryption-user-tab/recovery.spec.ts:51:9 › Recovery section in Encryption tab › should setup the recovery key @screenshot @no-webkit: playwright/e2e/crypto/utils.ts#L188
1) [Dendrite] › settings/encryption-user-tab/recovery.spec.ts:51:9 › Recovery section in Encryption tab › should setup the recovery key @screenshot @no-webkit Error: expect(received).toBe(expected) // Object.is equality Expected: "1" Received: "5" at crypto/utils.ts:188 186 | expect(backupInfo).toBeDefined(); 187 | // The key backup version is as expected > 188 | expect(backupInfo.version).toBe(expectedBackupVersion); | ^ 189 | // The active backup version is as expected 190 | expect(activeBackupVersion).toBe(expectedBackupVersion); 191 | // The backup key is stored in 4S at checkDeviceIsConnectedKeyBackup (/home/runner/work/element-web/element-web/playwright/e2e/crypto/utils.ts:188:32) at /home/runner/work/element-web/element-web/playwright/e2e/settings/encryption-user-tab/recovery.spec.ts:86:9
[Pinecone] › sliding-sync/sliding-sync.spec.ts:365:5 › Sliding Sync › should send unsubscribe_rooms for every room switch: playwright/e2e/sliding-sync/sliding-sync.spec.ts#L1
1) [Pinecone] › sliding-sync/sliding-sync.spec.ts:365:5 › Sliding Sync › should send unsubscribe_rooms for every room switch Test timeout of 30000ms exceeded.
[Pinecone] › sliding-sync/sliding-sync.spec.ts:365:5 › Sliding Sync › should send unsubscribe_rooms for every room switch: playwright/e2e/sliding-sync/sliding-sync.spec.ts#L406
1) [Pinecone] › sliding-sync/sliding-sync.spec.ts:365:5 › Sliding Sync › should send unsubscribe_rooms for every room switch Error: page.waitForRequest: Test timeout of 30000ms exceeded. 404 | await Promise.all([ 405 | page.waitForRequest(matchRoomSubRequest(roomOId)), > 406 | page.waitForRequest(matchRoomUnsubRequest(roomPId)), | ^ 407 | page.getByRole("treeitem", { name: "Orange", exact: true }).click(), 408 | ]); 409 | at /home/runner/work/element-web/element-web/playwright/e2e/sliding-sync/sliding-sync.spec.ts:406:18
[Chrome] › read-receipts/high-level.spec.ts:115:13 › Read receipts › Paging up › Paging up through old messages of an unread room leaves the room unread @mergequeue: playwright/e2e/read-receipts/index.ts#L473
1) [Chrome] › read-receipts/high-level.spec.ts:115:13 › Read receipts › Paging up › Paging up through old messages of an unread room leaves the room unread @mergequeue Error: Timed out 5000ms waiting for expect(locator).toHaveText(expected) Locator: getByRole('treeitem', { name: /^Room Beta/ }).locator('.mx_NotificationBadge_count') Expected string: "40" Received string: "39" Call log: - expect.toHaveText with timeout 5000ms - waiting for getByRole('treeitem', { name: /^Room Beta/ }).locator('.mx_NotificationBadge_count') 9 × locator resolved to <span class="mx_NotificationBadge_count">39</span> - unexpected value "39" at read-receipts/index.ts:473 471 | await expect(tile.locator(".mx_NotificationBadge_dot")).toBeVisible(); 472 | } else { > 473 | await expect(tile.locator(".mx_NotificationBadge_count")).toHaveText(count.toString()); | ^ 474 | } 475 | } 476 | at Helpers.assertUnread (/home/runner/work/element-web/element-web/playwright/e2e/read-receipts/index.ts:473:71) at /home/runner/work/element-web/element-web/playwright/e2e/read-receipts/high-level.spec.ts:124:24
[Chrome] › read-receipts/new-messages-thread-roots.spec.ts:38:17 › Read receipts › new messages › thread roots › Reading a thread root within the thread view marks it as read in the main timeline @mergequeue: playwright/e2e/read-receipts/index.ts#L473
2) [Chrome] › read-receipts/new-messages-thread-roots.spec.ts:38:17 › Read receipts › new messages › thread roots › Reading a thread root within the thread view marks it as read in the main timeline @mergequeue Error: Timed out 5000ms waiting for expect(locator).toHaveText(expected) Locator: getByRole('treeitem', { name: /^Room Beta/ }).locator('.mx_NotificationBadge_count') Expected string: "23" Received string: "61" Call log: - expect.toHaveText with timeout 5000ms - waiting for getByRole('treeitem', { name: /^Room Beta/ }).locator('.mx_NotificationBadge_count') 9 × locator resolved to <span class="mx_NotificationBadge_count">61</span> - unexpected value "61" at read-receipts/index.ts:473 471 | await expect(tile.locator(".mx_NotificationBadge_dot")).toBeVisible(); 472 | } else { > 473 | await expect(tile.locator(".mx_NotificationBadge_count")).toHaveText(count.toString()); | ^ 474 | } 475 | } 476 | at Helpers.assertUnread (/home/runner/work/element-web/element-web/playwright/e2e/read-receipts/index.ts:473:71) at /home/runner/work/element-web/element-web/playwright/e2e/read-receipts/new-messages-thread-roots.spec.ts:61:28
[Chrome] › read-receipts/redactions-in-threads.spec.ts:127:17 › Read receipts › redactions › in threads › Reading an unread thread after a redaction of an older message makes it read @mergequeue: playwright/e2e/read-receipts/redactions-in-threads.spec.ts#L1
1) [Chrome] › read-receipts/redactions-in-threads.spec.ts:127:17 › Read receipts › redactions › in threads › Reading an unread thread after a redaction of an older message makes it read @mergequeue Test timeout of 30000ms exceeded.
[Chrome] › read-receipts/redactions-in-threads.spec.ts:127:17 › Read receipts › redactions › in threads › Reading an unread thread after a redaction of an older message makes it read @mergequeue: playwright/e2e/read-receipts/index.ts#L88
1) [Chrome] › read-receipts/redactions-in-threads.spec.ts:127:17 › Read receipts › redactions › in threads › Reading an unread thread after a redaction of an older message makes it read @mergequeue Error: jsHandle.evaluateHandle: Test timeout of 30000ms exceeded. at read-receipts/index.ts:88 86 | } 87 | > 88 | const promise = room.evaluateHandle( | ^ 89 | async (room, { message, includeThreads }) => { 90 | let ev = room.timeline.find((e) => e.getContent().body === message); 91 | if (!ev && includeThreads) { at MessageBuilder.getMessage (/home/runner/work/element-web/element-web/playwright/e2e/read-receipts/index.ts:88:30) at MessageContentSpec.getContent (/home/runner/work/element-web/element-web/playwright/e2e/read-receipts/index.ts:187:53) at Helpers.sendMessageAsClient (/home/runner/work/element-web/element-web/playwright/e2e/read-receipts/index.ts:348:61) 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/redactions-in-threads.spec.ts:135:17
[Chrome] › sliding-sync/sliding-sync.spec.ts:365:5 › Sliding Sync › should send unsubscribe_rooms for every room switch: playwright/e2e/sliding-sync/sliding-sync.spec.ts#L1
1) [Chrome] › sliding-sync/sliding-sync.spec.ts:365:5 › Sliding Sync › should send unsubscribe_rooms for every room switch Test timeout of 30000ms exceeded.
[Chrome] › sliding-sync/sliding-sync.spec.ts:365:5 › Sliding Sync › should send unsubscribe_rooms for every room switch: playwright/e2e/sliding-sync/sliding-sync.spec.ts#L406
1) [Chrome] › sliding-sync/sliding-sync.spec.ts:365:5 › Sliding Sync › should send unsubscribe_rooms for every room switch Error: page.waitForRequest: Test timeout of 30000ms exceeded. 404 | await Promise.all([ 405 | page.waitForRequest(matchRoomSubRequest(roomOId)), > 406 | page.waitForRequest(matchRoomUnsubRequest(roomPId)), | ^ 407 | page.getByRole("treeitem", { name: "Orange", exact: true }).click(), 408 | ]); 409 | at /home/runner/work/element-web/element-web/playwright/e2e/sliding-sync/sliding-sync.spec.ts:406:18
[Chrome] › timeline/timeline.spec.ts:140:13 › Timeline › configure room › should create and configure a room on IRC layout @screenshot: playwright/e2e/timeline/timeline.spec.ts#L156
2) [Chrome] › timeline/timeline.spec.ts:140:13 › Timeline › configure room › should create and configure a room on IRC layout @screenshot Error: expect(locator).toHaveScreenshot(expected) 40 pixels (ratio 0.01 of all image pixels) are different. Expected: /home/runner/work/element-web/element-web/playwright/snapshots/timeline/timeline.spec.ts/configured-room-irc-layout-linux.png Received: /home/runner/work/element-web/element-web/playwright/test-results/timeline-timeline-Timeline-43bff-figure-a-room-on-IRC-layout-Chrome/configured-room-irc-layout-actual.png Diff: /home/runner/work/element-web/element-web/playwright/test-results/timeline-timeline-Timeline-43bff-figure-a-room-on-IRC-layout-Chrome/configured-room-irc-layout-diff.png Call log: - expect.toHaveScreenshot(configured-room-irc-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 - 40 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 - 40 pixels (ratio 0.01 of all image pixels) are different. 154 | await expect(page.locator(".mx_TimelineSeparator")).toHaveText("today"); 155 | > 156 | await expect(page.locator(".mx_MainSplit")).toMatchScreenshot("configured-room-irc-layout.png"); | ^ 157 | }, 158 | ); 159 | at /home/runner/work/element-web/element-web/playwright/e2e/timeline/timeline.spec.ts:156:61
[Chrome] › timeline/timeline.spec.ts:226: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#L254
3) [Chrome] › timeline/timeline.spec.ts:226: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. 252 | 253 | // Save snapshot of expanded generic event list summary on bubble layout > 254 | await expect(page.locator(".mx_MainSplit")).toMatchScreenshot("expanded-gels-bubble-layout.png", { | ^ 255 | // Exclude timestamp from snapshot 256 | mask: [page.locator(".mx_MessageTimestamp")], 257 | }); at /home/runner/work/element-web/element-web/playwright/e2e/timeline/timeline.spec.ts:254:61
[Chrome] › timeline/timeline.spec.ts:277:13 › Timeline › configure room › should add inline start margin to an event line on IRC layout @screenshot: playwright/e2e/timeline/timeline.spec.ts#L1
4) [Chrome] › timeline/timeline.spec.ts:277:13 › Timeline › configure room › should add inline start margin to an event line on IRC layout @screenshot Test timeout of 30000ms exceeded.
[Chrome] › timeline/timeline.spec.ts:277:13 › Timeline › configure room › should add inline start margin to an event line on IRC layout @screenshot: playwright/e2e/timeline/timeline.spec.ts#L295
4) [Chrome] › timeline/timeline.spec.ts:277:13 › Timeline › configure room › should add inline start margin to an event line on IRC layout @screenshot Error: locator.click: Test timeout of 30000ms exceeded. Call log: - waiting for locator('.mx_GenericEventListSummary').getByRole('button', { name: 'Expand' }) - locator resolved to <div tabindex="0" role="button" aria-expanded="false" class="mx_AccessibleButton mx_GenericEventListSummary_toggle mx_AccessibleButton_hasKind mx_AccessibleButton_kind_link_inline">Expand</div> - attempting click action 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="0" role="button" aria-label="Scroll to most recent messages" class="mx_AccessibleButton mx_JumpToBottomButton_scrollDown"></div> from <div class="mx_JumpToBottomButton">…</div> subtree intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="0" role="button" aria-label="Scroll to most recent messages" class="mx_AccessibleButton mx_JumpToBottomButton_scrollDown"></div> from <div class="mx_JumpToBottomButton">…</div> subtree intercepts pointer events - retrying click action - waiting 100ms 53 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="0" role="button" aria-label="Scroll to most recent messages" class="mx_AccessibleButton mx_JumpToBottomButton_scrollDown"></div> from <div class="mx_JumpToBottomButton">…</div> subtree intercepts pointer events - retrying click action - waiting 500ms 293 | 294 | // Click "expand" link button > 295 | await page.locator(".mx_GenericEventListSummary").getByRole("button", { name: "Expand" }).click(); | ^ 296 | 297 | // Check the event line has margin instead of inset property 298 | // cf. _EventTile.pcss at /home/runner/work/element-web/element-web/playwright/e2e/timeline/timeline.spec.ts:295:107
[Firefox] › read-receipts/new-messages-thread-roots.spec.ts:38:17 › Read receipts › new messages › thread roots › Reading a thread root within the thread view marks it as read in the main timeline @mergequeue: playwright/e2e/read-receipts/index.ts#L473
1) [Firefox] › read-receipts/new-messages-thread-roots.spec.ts:38:17 › Read receipts › new messages › thread roots › Reading a thread root within the thread view marks it as read in the main timeline @mergequeue Error: Timed out 5000ms waiting for expect(locator).toHaveText(expected) Locator: getByRole('treeitem', { name: /^Room Beta/ }).locator('.mx_NotificationBadge_count') Expected string: "23" Received string: "46" Call log: - expect.toHaveText with timeout 5000ms - waiting for getByRole('treeitem', { name: /^Room Beta/ }).locator('.mx_NotificationBadge_count') 8 × locator resolved to <span class="mx_NotificationBadge_count">46</span> - unexpected value "46" at read-receipts/index.ts:473 471 | await expect(tile.locator(".mx_NotificationBadge_dot")).toBeVisible(); 472 | } else { > 473 | await expect(tile.locator(".mx_NotificationBadge_count")).toHaveText(count.toString()); | ^ 474 | } 475 | } 476 | at Helpers.assertUnread (/home/runner/work/element-web/element-web/playwright/e2e/read-receipts/index.ts:473:71) at /home/runner/work/element-web/element-web/playwright/e2e/read-receipts/new-messages-thread-roots.spec.ts:61:28
[WebKit] › read-receipts/read-receipts.spec.ts:276:9 › Read receipts › Should send the correct receipts @mergequeue: playwright/e2e/read-receipts/read-receipts.spec.ts#L1
1) [WebKit] › read-receipts/read-receipts.spec.ts:276:9 › Read receipts › Should send the correct receipts @mergequeue Test timeout of 30000ms exceeded.
[WebKit] › read-receipts/read-receipts.spec.ts:276:9 › Read receipts › Should send the correct receipts @mergequeue: playwright/e2e/read-receipts/read-receipts.spec.ts#L307
1) [WebKit] › read-receipts/read-receipts.spec.ts:276:9 › Read receipts › Should send the correct receipts @mergequeue Error: page.waitForRequest: Test timeout of 30000ms exceeded. =========================== logs =========================== waiting for request /http:\/\/localhost:\d+\/_matrix\/client\/v3\/room…/ ============================================================ 305 | 306 | // the following code tests the fully read marker somewhere in the middle of the room > 307 | const readMarkersRequestPromise = page.waitForRequest( | ^ 308 | new RegExp(`http://localhost:\\d+/_matrix/client/v3/rooms/${uriEncodedOtherRoomId}/read_markers`), 309 | ); 310 | at /home/runner/work/element-web/element-web/playwright/e2e/read-receipts/read-receipts.spec.ts:307:48
[WebKit] › read-receipts/read-receipts.spec.ts:276:9 › Read receipts › Should send the correct receipts @mergequeue: playwright/e2e/read-receipts/read-receipts.spec.ts#L311
1) [WebKit] › read-receipts/read-receipts.spec.ts:276:9 › Read receipts › Should send the correct receipts @mergequeue Error: locator.click: Test timeout of 30000ms exceeded. Call log: - waiting for getByRole('button', { name: 'Jump to first unread message.' }) 309 | ); 310 | > 311 | await page.getByRole("button", { name: "Jump to first unread message." }).click(); | ^ 312 | 313 | const readMarkersRequest = await readMarkersRequestPromise; 314 | // since this is not pixel perfect, at /home/runner/work/element-web/element-web/playwright/e2e/read-receipts/read-receipts.spec.ts:311:83
[WebKit] › read-receipts/read-receipts.spec.ts:276:9 › Read receipts › Should send the correct receipts @mergequeue: playwright/e2e/read-receipts/read-receipts.spec.ts#L1
1) [WebKit] › read-receipts/read-receipts.spec.ts:276:9 › Read receipts › Should send the correct receipts @mergequeue Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 30000ms exceeded.
[WebKit] › read-receipts/read-receipts.spec.ts:276:9 › Read receipts › Should send the correct receipts @mergequeue: playwright/e2e/read-receipts/read-receipts.spec.ts#L307
1) [WebKit] › read-receipts/read-receipts.spec.ts:276:9 › Read receipts › Should send the correct receipts @mergequeue Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: page.waitForRequest: Test timeout of 30000ms exceeded. =========================== logs =========================== waiting for request /http:\/\/localhost:\d+\/_matrix\/client\/v3\/room…/ ============================================================ 305 | 306 | // the following code tests the fully read marker somewhere in the middle of the room > 307 | const readMarkersRequestPromise = page.waitForRequest( | ^ 308 | new RegExp(`http://localhost:\\d+/_matrix/client/v3/rooms/${uriEncodedOtherRoomId}/read_markers`), 309 | ); 310 | at /home/runner/work/element-web/element-web/playwright/e2e/read-receipts/read-receipts.spec.ts:307:48
[WebKit] › read-receipts/read-receipts.spec.ts:276:9 › Read receipts › Should send the correct receipts @mergequeue: playwright/e2e/read-receipts/read-receipts.spec.ts#L311
1) [WebKit] › read-receipts/read-receipts.spec.ts:276:9 › Read receipts › Should send the correct receipts @mergequeue Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: locator.click: Test timeout of 30000ms exceeded. Call log: - waiting for getByRole('button', { name: 'Jump to first unread message.' }) 309 | ); 310 | > 311 | await page.getByRole("button", { name: "Jump to first unread message." }).click(); | ^ 312 | 313 | const readMarkersRequest = await readMarkersRequestPromise; 314 | // since this is not pixel perfect, at /home/runner/work/element-web/element-web/playwright/e2e/read-receipts/read-receipts.spec.ts:311:83
[WebKit] › read-receipts/read-receipts.spec.ts:276:9 › Read receipts › Should send the correct receipts @mergequeue: playwright/e2e/read-receipts/read-receipts.spec.ts#L1
1) [WebKit] › read-receipts/read-receipts.spec.ts:276:9 › Read receipts › Should send the correct receipts @mergequeue Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 30000ms exceeded.
[WebKit] › read-receipts/read-receipts.spec.ts:276:9 › Read receipts › Should send the correct receipts @mergequeue: playwright/e2e/read-receipts/read-receipts.spec.ts#L307
1) [WebKit] › read-receipts/read-receipts.spec.ts:276:9 › Read receipts › Should send the correct receipts @mergequeue Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: page.waitForRequest: Test timeout of 30000ms exceeded. =========================== logs =========================== waiting for request /http:\/\/localhost:\d+\/_matrix\/client\/v3\/room…/ ============================================================ 305 | 306 | // the following code tests the fully read marker somewhere in the middle of the room > 307 | const readMarkersRequestPromise = page.waitForRequest( | ^ 308 | new RegExp(`http://localhost:\\d+/_matrix/client/v3/rooms/${uriEncodedOtherRoomId}/read_markers`), 309 | ); 310 | at /home/runner/work/element-web/element-web/playwright/e2e/read-receipts/read-receipts.spec.ts:307:48
[WebKit] › read-receipts/read-receipts.spec.ts:276:9 › Read receipts › Should send the correct receipts @mergequeue: playwright/e2e/read-receipts/read-receipts.spec.ts#L311
1) [WebKit] › read-receipts/read-receipts.spec.ts:276:9 › Read receipts › Should send the correct receipts @mergequeue Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: locator.click: Test timeout of 30000ms exceeded. Call log: - waiting for getByRole('button', { name: 'Jump to first unread message.' }) 309 | ); 310 | > 311 | await page.getByRole("button", { name: "Jump to first unread message." }).click(); | ^ 312 | 313 | const readMarkersRequest = await readMarkersRequestPromise; 314 | // since this is not pixel perfect, at /home/runner/work/element-web/element-web/playwright/e2e/read-receipts/read-receipts.spec.ts:311:83
[WebKit] › room/room.spec.ts:56:9 › Room Directory › should memorize the timeline position when switch Room A -> Room B -> Room A: playwright/e2e/room/room.spec.ts#L96
2) [WebKit] › room/room.spec.ts:56:9 › Room Directory › should memorize the timeline position when switch Room A -> Room B -> Room A Error: Timed out 5000ms waiting for expect(locator).toBeInViewport() Locator: locator('.mx_MTextBody .mx_EventTile_body').getByText('test0') Expected: in viewport Received: outside viewport Call log: - expect.toBeInViewport with timeout 5000ms - waiting for locator('.mx_MTextBody .mx_EventTile_body').getByText('test0') 6 × locator resolved to <div dir="auto" class="mx_EventTile_body translate">test0</div> - unexpected value "viewport ratio 0" 94 | // The timeline should display the first message 95 | // The previous position before switching to Room B should be remembered > 96 | await expect(page.locator(".mx_MTextBody .mx_EventTile_body").getByText("test0")).toBeInViewport(); | ^ 97 | }); 98 | }); 99 | at /home/runner/work/element-web/element-web/playwright/e2e/room/room.spec.ts:96:91
[WebKit] › crypto/crypto.spec.ts:106:17 › Cryptography › setting up secure key backup should work isDeviceVerified=true › by recovery code: playwright/e2e/crypto/utils.ts#L324
1) [WebKit] › crypto/crypto.spec.ts:106:17 › Cryptography › setting up secure key backup should work isDeviceVerified=true › by recovery code Error: page.evaluate: NotAllowedError: The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission. at crypto/utils.ts:324 322 | await currentDialogLocator.getByRole("button", { name: "Copy", exact: true }).click(); 323 | // copy the recovery key to use it later > 324 | const recoveryKey = await page.evaluate(() => navigator.clipboard.readText()); | ^ 325 | await currentDialogLocator.getByRole("button", { name: "Continue", exact: true }).click(); 326 | 327 | // If the device is unverified, there should be a "Setting up keys" step. at completeCreateSecretStorageDialog (/home/runner/work/element-web/element-web/playwright/e2e/crypto/utils.ts:324:36) at /home/runner/work/element-web/element-web/playwright/e2e/crypto/crypto.spec.ts:121:17
[WebKit] › crypto/crypto.spec.ts:106:17 › Cryptography › setting up secure key backup should work isDeviceVerified=true › by recovery code: playwright/e2e/crypto/utils.ts#L324
1) [WebKit] › crypto/crypto.spec.ts:106:17 › Cryptography › setting up secure key backup should work isDeviceVerified=true › by recovery code Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: page.evaluate: NotAllowedError: The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission. at crypto/utils.ts:324 322 | await currentDialogLocator.getByRole("button", { name: "Copy", exact: true }).click(); 323 | // copy the recovery key to use it later > 324 | const recoveryKey = await page.evaluate(() => navigator.clipboard.readText()); | ^ 325 | await currentDialogLocator.getByRole("button", { name: "Continue", exact: true }).click(); 326 | 327 | // If the device is unverified, there should be a "Setting up keys" step. at completeCreateSecretStorageDialog (/home/runner/work/element-web/element-web/playwright/e2e/crypto/utils.ts:324:36) at /home/runner/work/element-web/element-web/playwright/e2e/crypto/crypto.spec.ts:121:17
[WebKit] › crypto/crypto.spec.ts:106:17 › Cryptography › setting up secure key backup should work isDeviceVerified=true › by recovery code: playwright/e2e/crypto/utils.ts#L324
1) [WebKit] › crypto/crypto.spec.ts:106:17 › Cryptography › setting up secure key backup should work isDeviceVerified=true › by recovery code Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: page.evaluate: NotAllowedError: The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission. at crypto/utils.ts:324 322 | await currentDialogLocator.getByRole("button", { name: "Copy", exact: true }).click(); 323 | // copy the recovery key to use it later > 324 | const recoveryKey = await page.evaluate(() => navigator.clipboard.readText()); | ^ 325 | await currentDialogLocator.getByRole("button", { name: "Continue", exact: true }).click(); 326 | 327 | // If the device is unverified, there should be a "Setting up keys" step. at completeCreateSecretStorageDialog (/home/runner/work/element-web/element-web/playwright/e2e/crypto/utils.ts:324:36) at /home/runner/work/element-web/element-web/playwright/e2e/crypto/crypto.spec.ts:121:17
[WebKit] › crypto/crypto.spec.ts:106:17 › Cryptography › setting up secure key backup should work isDeviceVerified=false › by recovery code: playwright/e2e/crypto/utils.ts#L324
2) [WebKit] › crypto/crypto.spec.ts:106:17 › Cryptography › setting up secure key backup should work isDeviceVerified=false › by recovery code Error: page.evaluate: NotAllowedError: The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission. at crypto/utils.ts:324 322 | await currentDialogLocator.getByRole("button", { name: "Copy", exact: true }).click(); 323 | // copy the recovery key to use it later > 324 | const recoveryKey = await page.evaluate(() => navigator.clipboard.readText()); | ^ 325 | await currentDialogLocator.getByRole("button", { name: "Continue", exact: true }).click(); 326 | 327 | // If the device is unverified, there should be a "Setting up keys" step. at completeCreateSecretStorageDialog (/home/runner/work/element-web/element-web/playwright/e2e/crypto/utils.ts:324:36) at /home/runner/work/element-web/element-web/playwright/e2e/crypto/crypto.spec.ts:121:17
[WebKit] › crypto/crypto.spec.ts:106:17 › Cryptography › setting up secure key backup should work isDeviceVerified=false › by recovery code: playwright/e2e/crypto/utils.ts#L324
2) [WebKit] › crypto/crypto.spec.ts:106:17 › Cryptography › setting up secure key backup should work isDeviceVerified=false › by recovery code Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: page.evaluate: NotAllowedError: The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission. at crypto/utils.ts:324 322 | await currentDialogLocator.getByRole("button", { name: "Copy", exact: true }).click(); 323 | // copy the recovery key to use it later > 324 | const recoveryKey = await page.evaluate(() => navigator.clipboard.readText()); | ^ 325 | await currentDialogLocator.getByRole("button", { name: "Continue", exact: true }).click(); 326 | 327 | // If the device is unverified, there should be a "Setting up keys" step. at completeCreateSecretStorageDialog (/home/runner/work/element-web/element-web/playwright/e2e/crypto/utils.ts:324:36) at /home/runner/work/element-web/element-web/playwright/e2e/crypto/crypto.spec.ts:121:17
[WebKit] › crypto/crypto.spec.ts:106:17 › Cryptography › setting up secure key backup should work isDeviceVerified=false › by recovery code: playwright/e2e/crypto/utils.ts#L324
2) [WebKit] › crypto/crypto.spec.ts:106:17 › Cryptography › setting up secure key backup should work isDeviceVerified=false › by recovery code Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: page.evaluate: NotAllowedError: The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission. at crypto/utils.ts:324 322 | await currentDialogLocator.getByRole("button", { name: "Copy", exact: true }).click(); 323 | // copy the recovery key to use it later > 324 | const recoveryKey = await page.evaluate(() => navigator.clipboard.readText()); | ^ 325 | await currentDialogLocator.getByRole("button", { name: "Continue", exact: true }).click(); 326 | 327 | // If the device is unverified, there should be a "Setting up keys" step. at completeCreateSecretStorageDialog (/home/runner/work/element-web/element-web/playwright/e2e/crypto/utils.ts:324:36) at /home/runner/work/element-web/element-web/playwright/e2e/crypto/crypto.spec.ts:121:17
[WebKit] › crypto/crypto.spec.ts:164:9 › Cryptography › Can reset cross-signing keys: playwright/e2e/crypto/utils.ts#L324
3) [WebKit] › crypto/crypto.spec.ts:164:9 › Cryptography › Can reset cross-signing keys ────────── Error: page.evaluate: NotAllowedError: The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission. at crypto/utils.ts:324 322 | await currentDialogLocator.getByRole("button", { name: "Copy", exact: true }).click(); 323 | // copy the recovery key to use it later > 324 | const recoveryKey = await page.evaluate(() => navigator.clipboard.readText()); | ^ 325 | await currentDialogLocator.getByRole("button", { name: "Continue", exact: true }).click(); 326 | 327 | // If the device is unverified, there should be a "Setting up keys" step. at completeCreateSecretStorageDialog (/home/runner/work/element-web/element-web/playwright/e2e/crypto/utils.ts:324:36) at enableKeyBackup (/home/runner/work/element-web/element-web/playwright/e2e/crypto/utils.ts:297:12) at /home/runner/work/element-web/element-web/playwright/e2e/crypto/crypto.spec.ts:165:34
[WebKit] › crypto/crypto.spec.ts:164:9 › Cryptography › Can reset cross-signing keys: playwright/e2e/crypto/utils.ts#L324
3) [WebKit] › crypto/crypto.spec.ts:164:9 › Cryptography › Can reset cross-signing keys ────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: page.evaluate: NotAllowedError: The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission. at crypto/utils.ts:324 322 | await currentDialogLocator.getByRole("button", { name: "Copy", exact: true }).click(); 323 | // copy the recovery key to use it later > 324 | const recoveryKey = await page.evaluate(() => navigator.clipboard.readText()); | ^ 325 | await currentDialogLocator.getByRole("button", { name: "Continue", exact: true }).click(); 326 | 327 | // If the device is unverified, there should be a "Setting up keys" step. at completeCreateSecretStorageDialog (/home/runner/work/element-web/element-web/playwright/e2e/crypto/utils.ts:324:36) at enableKeyBackup (/home/runner/work/element-web/element-web/playwright/e2e/crypto/utils.ts:297:12) at /home/runner/work/element-web/element-web/playwright/e2e/crypto/crypto.spec.ts:165:34
[WebKit] › crypto/crypto.spec.ts:164:9 › Cryptography › Can reset cross-signing keys: playwright/e2e/crypto/utils.ts#L324
3) [WebKit] › crypto/crypto.spec.ts:164:9 › Cryptography › Can reset cross-signing keys ────────── Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: page.evaluate: NotAllowedError: The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission. at crypto/utils.ts:324 322 | await currentDialogLocator.getByRole("button", { name: "Copy", exact: true }).click(); 323 | // copy the recovery key to use it later > 324 | const recoveryKey = await page.evaluate(() => navigator.clipboard.readText()); | ^ 325 | await currentDialogLocator.getByRole("button", { name: "Continue", exact: true }).click(); 326 | 327 | // If the device is unverified, there should be a "Setting up keys" step. at completeCreateSecretStorageDialog (/home/runner/work/element-web/element-web/playwright/e2e/crypto/utils.ts:324:36) at enableKeyBackup (/home/runner/work/element-web/element-web/playwright/e2e/crypto/utils.ts:297:12) at /home/runner/work/element-web/element-web/playwright/e2e/crypto/crypto.spec.ts:165:34
[WebKit] › crypto/decryption-failure-messages.spec.ts:33:13 › Cryptography › decryption failure messages › should handle device-relative historical messages: playwright/e2e/crypto/utils.ts#L324
4) [WebKit] › crypto/decryption-failure-messages.spec.ts:33:13 › Cryptography › decryption failure messages › should handle device-relative historical messages Error: page.evaluate: NotAllowedError: The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission. at crypto/utils.ts:324 322 | await currentDialogLocator.getByRole("button", { name: "Copy", exact: true }).click(); 323 | // copy the recovery key to use it later > 324 | const recoveryKey = await page.evaluate(() => navigator.clipboard.readText()); | ^ 325 | await currentDialogLocator.getByRole("button", { name: "Continue", exact: true }).click(); 326 | 327 | // If the device is unverified, there should be a "Setting up keys" step. at completeCreateSecretStorageDialog (/home/runner/work/element-web/element-web/playwright/e2e/crypto/utils.ts:324:36) at enableKeyBackup (/home/runner/work/element-web/element-web/playwright/e2e/crypto/utils.ts:297:12) at /home/runner/work/element-web/element-web/playwright/e2e/crypto/decryption-failure-messages.spec.ts:57:38
[WebKit] › crypto/dehydration.spec.ts:49:9 › Dehydration › 'Set up secure backup' creates dehydrated device: playwright/e2e/crypto/utils.ts#L324
1) [WebKit] › crypto/dehydration.spec.ts:49:9 › Dehydration › 'Set up secure backup' creates dehydrated device Error: page.evaluate: NotAllowedError: The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission. at crypto/utils.ts:324 322 | await currentDialogLocator.getByRole("button", { name: "Copy", exact: true }).click(); 323 | // copy the recovery key to use it later > 324 | const recoveryKey = await page.evaluate(() => navigator.clipboard.readText()); | ^ 325 | await currentDialogLocator.getByRole("button", { name: "Continue", exact: true }).click(); 326 | 327 | // If the device is unverified, there should be a "Setting up keys" step. at completeCreateSecretStorageDialog (/home/runner/work/element-web/element-web/playwright/e2e/crypto/utils.ts:324:36) at /home/runner/work/element-web/element-web/playwright/e2e/crypto/dehydration.spec.ts:58:9
[WebKit] › crypto/dehydration.spec.ts:49:9 › Dehydration › 'Set up secure backup' creates dehydrated device: playwright/e2e/crypto/utils.ts#L324
1) [WebKit] › crypto/dehydration.spec.ts:49:9 › Dehydration › 'Set up secure backup' creates dehydrated device Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: page.evaluate: NotAllowedError: The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission. at crypto/utils.ts:324 322 | await currentDialogLocator.getByRole("button", { name: "Copy", exact: true }).click(); 323 | // copy the recovery key to use it later > 324 | const recoveryKey = await page.evaluate(() => navigator.clipboard.readText()); | ^ 325 | await currentDialogLocator.getByRole("button", { name: "Continue", exact: true }).click(); 326 | 327 | // If the device is unverified, there should be a "Setting up keys" step. at completeCreateSecretStorageDialog (/home/runner/work/element-web/element-web/playwright/e2e/crypto/utils.ts:324:36) at /home/runner/work/element-web/element-web/playwright/e2e/crypto/dehydration.spec.ts:58:9
[WebKit] › crypto/dehydration.spec.ts:49:9 › Dehydration › 'Set up secure backup' creates dehydrated device: playwright/e2e/crypto/utils.ts#L324
1) [WebKit] › crypto/dehydration.spec.ts:49:9 › Dehydration › 'Set up secure backup' creates dehydrated device Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: page.evaluate: NotAllowedError: The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission. at crypto/utils.ts:324 322 | await currentDialogLocator.getByRole("button", { name: "Copy", exact: true }).click(); 323 | // copy the recovery key to use it later > 324 | const recoveryKey = await page.evaluate(() => navigator.clipboard.readText()); | ^ 325 | await currentDialogLocator.getByRole("button", { name: "Continue", exact: true }).click(); 326 | 327 | // If the device is unverified, there should be a "Setting up keys" step. at completeCreateSecretStorageDialog (/home/runner/work/element-web/element-web/playwright/e2e/crypto/utils.ts:324:36) at /home/runner/work/element-web/element-web/playwright/e2e/crypto/dehydration.spec.ts:58:9
[WebKit] › crypto/dehydration.spec.ts:92:9 › Dehydration › Reset recovery key during login re-creates dehydrated device: playwright/e2e/crypto/utils.ts#L324
2) [WebKit] › crypto/dehydration.spec.ts:92:9 › Dehydration › Reset recovery key during login re-creates dehydrated device Error: page.evaluate: NotAllowedError: The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission. at crypto/utils.ts:324 322 | await currentDialogLocator.getByRole("button", { name: "Copy", exact: true }).click(); 323 | // copy the recovery key to use it later > 324 | const recoveryKey = await page.evaluate(() => navigator.clipboard.readText()); | ^ 325 | await currentDialogLocator.getByRole("button", { name: "Continue", exact: true }).click(); 326 | 327 | // If the device is unverified, there should be a "Setting up keys" step. at completeCreateSecretStorageDialog (/home/runner/work/element-web/element-web/playwright/e2e/crypto/utils.ts:324:36) at /home/runner/work/element-web/element-web/playwright/e2e/crypto/dehydration.spec.ts:115:9
[WebKit] › crypto/dehydration.spec.ts:92:9 › Dehydration › Reset recovery key during login re-creates dehydrated device: playwright/e2e/crypto/utils.ts#L324
2) [WebKit] › crypto/dehydration.spec.ts:92:9 › Dehydration › Reset recovery key during login re-creates dehydrated device Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: page.evaluate: NotAllowedError: The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission. at crypto/utils.ts:324 322 | await currentDialogLocator.getByRole("button", { name: "Copy", exact: true }).click(); 323 | // copy the recovery key to use it later > 324 | const recoveryKey = await page.evaluate(() => navigator.clipboard.readText()); | ^ 325 | await currentDialogLocator.getByRole("button", { name: "Continue", exact: true }).click(); 326 | 327 | // If the device is unverified, there should be a "Setting up keys" step. at completeCreateSecretStorageDialog (/home/runner/work/element-web/element-web/playwright/e2e/crypto/utils.ts:324:36) at /home/runner/work/element-web/element-web/playwright/e2e/crypto/dehydration.spec.ts:115:9
[WebKit] › crypto/dehydration.spec.ts:92:9 › Dehydration › Reset recovery key during login re-creates dehydrated device: playwright/e2e/crypto/utils.ts#L324
2) [WebKit] › crypto/dehydration.spec.ts:92:9 › Dehydration › Reset recovery key during login re-creates dehydrated device Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: page.evaluate: NotAllowedError: The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission. at crypto/utils.ts:324 322 | await currentDialogLocator.getByRole("button", { name: "Copy", exact: true }).click(); 323 | // copy the recovery key to use it later > 324 | const recoveryKey = await page.evaluate(() => navigator.clipboard.readText()); | ^ 325 | await currentDialogLocator.getByRole("button", { name: "Continue", exact: true }).click(); 326 | 327 | // If the device is unverified, there should be a "Setting up keys" step. at completeCreateSecretStorageDialog (/home/runner/work/element-web/element-web/playwright/e2e/crypto/utils.ts:324:36) at /home/runner/work/element-web/element-web/playwright/e2e/crypto/dehydration.spec.ts:115:9
[WebKit] › sliding-sync/sliding-sync.spec.ts:365:5 › Sliding Sync › should send unsubscribe_rooms for every room switch: playwright/e2e/sliding-sync/sliding-sync.spec.ts#L1
3) [WebKit] › sliding-sync/sliding-sync.spec.ts:365:5 › Sliding Sync › should send unsubscribe_rooms for every room switch Test timeout of 30000ms exceeded.
[WebKit] › sliding-sync/sliding-sync.spec.ts:365:5 › Sliding Sync › should send unsubscribe_rooms for every room switch: playwright/e2e/sliding-sync/sliding-sync.spec.ts#L399
3) [WebKit] › sliding-sync/sliding-sync.spec.ts:365:5 › Sliding Sync › should send unsubscribe_rooms for every room switch Error: page.waitForRequest: Test timeout of 30000ms exceeded. 397 | await Promise.all([ 398 | page.waitForRequest(matchRoomSubRequest(roomPId)), > 399 | page.waitForRequest(matchRoomUnsubRequest(roomAId)), | ^ 400 | page.getByRole("treeitem", { name: "Pineapple", exact: true }).click(), 401 | ]); 402 | at /home/runner/work/element-web/element-web/playwright/e2e/sliding-sync/sliding-sync.spec.ts:399:18
[WebKit] › sliding-sync/sliding-sync.spec.ts:365:5 › Sliding Sync › should send unsubscribe_rooms for every room switch: playwright/e2e/sliding-sync/sliding-sync.spec.ts#L1
3) [WebKit] › sliding-sync/sliding-sync.spec.ts:365:5 › Sliding Sync › should send unsubscribe_rooms for every room switch Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 30000ms exceeded.
[WebKit] › sliding-sync/sliding-sync.spec.ts:365:5 › Sliding Sync › should send unsubscribe_rooms for every room switch: playwright/e2e/sliding-sync/sliding-sync.spec.ts#L399
3) [WebKit] › sliding-sync/sliding-sync.spec.ts:365:5 › Sliding Sync › should send unsubscribe_rooms for every room switch Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: page.waitForRequest: Test timeout of 30000ms exceeded. 397 | await Promise.all([ 398 | page.waitForRequest(matchRoomSubRequest(roomPId)), > 399 | page.waitForRequest(matchRoomUnsubRequest(roomAId)), | ^ 400 | page.getByRole("treeitem", { name: "Pineapple", exact: true }).click(), 401 | ]); 402 | at /home/runner/work/element-web/element-web/playwright/e2e/sliding-sync/sliding-sync.spec.ts:399:18
[Firefox] › read-receipts/room-list-order.spec.ts:15:13 › Read receipts › Room list order › Rooms with unread messages appear at the top of room list if 'unread first' is selected @mergequeue: playwright/e2e/read-receipts/room-list-order.spec.ts#L1
1) [Firefox] › read-receipts/room-list-order.spec.ts:15:13 › Read receipts › Room list order › Rooms with unread messages appear at the top of room list if 'unread first' is selected @mergequeue Test timeout of 30000ms exceeded.
[Firefox] › read-receipts/room-list-order.spec.ts:15:13 › Read receipts › Room list order › Rooms with unread messages appear at the top of room list if 'unread first' is selected @mergequeue: playwright/e2e/read-receipts/index.ts#L594
1) [Firefox] › read-receipts/room-list-order.spec.ts:15:13 › Read receipts › Room list order › Rooms with unread messages appear at the top of room list if 'unread first' is selected @mergequeue Error: locator.hover: Test timeout of 30000ms exceeded. Call log: - waiting for getByRole('treeitem', { name: /^Rooms/ }) - locator resolved to <div aria-level="1" role="treeitem" aria-label="Rooms" aria-expanded="true" aria-selected="false" class="mx_RoomSublist_headerContainer mx_RoomSublist_headerContainer_withAux">…</div> - attempting hover action 2 × waiting for element to be visible and stable - element is visible and stable - scrolling into view if needed - done scrolling - <button tabindex="0" role="button" data-size="sm" data-kind="secondary" class="_button_i91xf_17 _has-icon_i91xf_66">…</button> from <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> subtree intercepts pointer events - retrying hover action - waiting 20ms 2 × waiting for element to be visible and stable - element is visible and stable - scrolling into view if needed - done scrolling - <button tabindex="0" role="button" data-size="sm" data-kind="secondary" class="_button_i91xf_17 _has-icon_i91xf_66">…</button> from <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> subtree intercepts pointer events - retrying hover action - waiting 100ms 45 × waiting for element to be visible and stable - element is visible and stable - scrolling into view if needed - done scrolling - <button tabindex="0" role="button" data-size="sm" data-kind="secondary" class="_button_i91xf_17 _has-icon_i91xf_66">…</button> from <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> subtree intercepts pointer events - retrying hover action - waiting 500ms at read-receipts/index.ts:594 592 | async toggleRoomListMenu() { 593 | const tile = this.getRoomListTile("Rooms"); > 594 | await tile.hover(); | ^ 595 | const button = tile.getByLabel("List options"); 596 | await button.click(); 597 | } at Helpers.toggleRoomListMenu (/home/runner/work/element-web/element-web/playwright/e2e/read-receipts/index.ts:594:20) at Helpers.toggleRoomUnreadOrder (/home/runner/work/element-web/element-web/playwright/e2e/read-receipts/index.ts:603:20) at /home/runner/work/element-web/element-web/playwright/e2e/read-receipts/room-list-order.spec.ts:25:24
[Firefox] › read-receipts/room-list-order.spec.ts:15:13 › Read receipts › Room list order › Rooms with unread messages appear at the top of room list if 'unread first' is selected @mergequeue: playwright/e2e/read-receipts/room-list-order.spec.ts#L1
1) [Firefox] › read-receipts/room-list-order.spec.ts:15:13 › Read receipts › Room list order › Rooms with unread messages appear at the top of room list if 'unread first' is selected @mergequeue Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 30000ms exceeded.
[Firefox] › read-receipts/room-list-order.spec.ts:15:13 › Read receipts › Room list order › Rooms with unread messages appear at the top of room list if 'unread first' is selected @mergequeue: playwright/e2e/read-receipts/index.ts#L594
1) [Firefox] › read-receipts/room-list-order.spec.ts:15:13 › Read receipts › Room list order › Rooms with unread messages appear at the top of room list if 'unread first' is selected @mergequeue Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: locator.hover: Test timeout of 30000ms exceeded. Call log: - waiting for getByRole('treeitem', { name: /^Rooms/ }) - locator resolved to <div aria-level="1" role="treeitem" aria-label="Rooms" aria-expanded="true" aria-selected="false" class="mx_RoomSublist_headerContainer mx_RoomSublist_headerContainer_withAux">…</div> - attempting hover action 2 × waiting for element to be visible and stable - element is visible and stable - scrolling into view if needed - done scrolling - <button tabindex="0" role="button" data-size="sm" data-kind="secondary" class="_button_i91xf_17 _has-icon_i91xf_66">…</button> from <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> subtree intercepts pointer events - retrying hover action - waiting 20ms 2 × waiting for element to be visible and stable - element is visible and stable - scrolling into view if needed - done scrolling - <button tabindex="0" role="button" data-size="sm" data-kind="secondary" class="_button_i91xf_17 _has-icon_i91xf_66">…</button> from <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> subtree intercepts pointer events - retrying hover action - waiting 100ms 35 × waiting for element to be visible and stable - element is visible and stable - scrolling into view if needed - done scrolling - <button tabindex="0" role="button" data-size="sm" data-kind="secondary" class="_button_i91xf_17 _has-icon_i91xf_66">…</button> from <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> subtree intercepts pointer events - retrying hover action - waiting 500ms at read-receipts/index.ts:594 592 | async toggleRoomListMenu() { 593 | const tile = this.getRoomListTile("Rooms"); > 594 | await tile.hover(); | ^ 595 | const button = tile.getByLabel("List options"); 596 | await button.click(); 597 | } at Helpers.toggleRoomListMenu (/home/runner/work/element-web/element-web/playwright/e2e/read-receipts/index.ts:594:20) at Helpers.toggleRoomUnreadOrder (/home/runner/work/element-web/element-web/playwright/e2e/read-receipts/index.ts:603:20) at /home/runner/work/element-web/element-web/playwright/e2e/read-receipts/room-list-order.spec.ts:25:24
[Firefox] › read-receipts/room-list-order.spec.ts:15:13 › Read receipts › Room list order › Rooms with unread messages appear at the top of room list if 'unread first' is selected @mergequeue: playwright/e2e/read-receipts/room-list-order.spec.ts#L1
1) [Firefox] › read-receipts/room-list-order.spec.ts:15:13 › Read receipts › Room list order › Rooms with unread messages appear at the top of room list if 'unread first' is selected @mergequeue Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 30000ms exceeded.
[Firefox] › read-receipts/room-list-order.spec.ts:15:13 › Read receipts › Room list order › Rooms with unread messages appear at the top of room list if 'unread first' is selected @mergequeue: playwright/e2e/read-receipts/index.ts#L594
1) [Firefox] › read-receipts/room-list-order.spec.ts:15:13 › Read receipts › Room list order › Rooms with unread messages appear at the top of room list if 'unread first' is selected @mergequeue Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: locator.hover: Test timeout of 30000ms exceeded. Call log: - waiting for getByRole('treeitem', { name: /^Rooms/ }) - locator resolved to <div aria-level="1" role="treeitem" aria-label="Rooms" aria-expanded="true" aria-selected="false" class="mx_RoomSublist_headerContainer mx_RoomSublist_headerContainer_withAux">…</div> - attempting hover action 2 × waiting for element to be visible and stable - element is visible and stable - scrolling into view if needed - done scrolling - <button tabindex="0" role="button" data-size="sm" data-kind="secondary" class="_button_i91xf_17 _has-icon_i91xf_66">…</button> from <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> subtree intercepts pointer events - retrying hover action - waiting 20ms 2 × waiting for element to be visible and stable - element is visible and stable - scrolling into view if needed - done scrolling - <button tabindex="0" role="button" data-size="sm" data-kind="secondary" class="_button_i91xf_17 _has-icon_i91xf_66">…</button> from <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> subtree intercepts pointer events - retrying hover action - waiting 100ms 37 × waiting for element to be visible and stable - element is visible and stable - scrolling into view if needed - done scrolling - <button tabindex="0" role="button" data-size="sm" data-kind="secondary" class="_button_i91xf_17 _has-icon_i91xf_66">…</button> from <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> subtree intercepts pointer events - retrying hover action - waiting 500ms at read-receipts/index.ts:594 592 | async toggleRoomListMenu() { 593 | const tile = this.getRoomListTile("Rooms"); > 594 | await tile.hover(); | ^ 595 | const button = tile.getByLabel("List options"); 596 | await button.click(); 597 | } at Helpers.toggleRoomListMenu (/home/runner/work/element-web/element-web/playwright/e2e/read-receipts/index.ts:594:20) at Helpers.toggleRoomUnreadOrder (/home/runner/work/element-web/element-web/playwright/e2e/read-receipts/index.ts:603:20) at /home/runner/work/element-web/element-web/playwright/e2e/read-receipts/room-list-order.spec.ts:25:24
[Firefox] › read-receipts/room-list-order.spec.ts:33:13 › Read receipts › Room list order › Rooms with unread threads appear at the top of room list if 'unread first' is selected @mergequeue: playwright/e2e/read-receipts/room-list-order.spec.ts#L1
2) [Firefox] › read-receipts/room-list-order.spec.ts:33:13 › Read receipts › Room list order › Rooms with unread threads appear at the top of room list if 'unread first' is selected @mergequeue Test timeout of 30000ms exceeded.
[Firefox] › read-receipts/room-list-order.spec.ts:33:13 › Read receipts › Room list order › Rooms with unread threads appear at the top of room list if 'unread first' is selected @mergequeue: playwright/e2e/read-receipts/index.ts#L594
2) [Firefox] › read-receipts/room-list-order.spec.ts:33:13 › Read receipts › Room list order › Rooms with unread threads appear at the top of room list if 'unread first' is selected @mergequeue Error: locator.hover: Test timeout of 30000ms exceeded. Call log: - waiting for getByRole('treeitem', { name: /^Rooms/ }) - locator resolved to <div aria-level="1" role="treeitem" aria-label="Rooms" aria-expanded="true" aria-selected="false" class="mx_RoomSublist_headerContainer mx_RoomSublist_headerContainer_withAux">…</div> - attempting hover action 2 × waiting for element to be visible and stable - element is visible and stable - scrolling into view if needed - done scrolling - <button tabindex="0" role="button" data-size="sm" data-kind="secondary" class="_button_i91xf_17 _has-icon_i91xf_66">…</button> from <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> subtree intercepts pointer events - retrying hover action - waiting 20ms 2 × waiting for element to be visible and stable - element is visible and stable - scrolling into view if needed - done scrolling - <button tabindex="0" role="button" data-size="sm" data-kind="secondary" class="_button_i91xf_17 _has-icon_i91xf_66">…</button> from <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> subtree intercepts pointer events - retrying hover action - waiting 100ms 37 × waiting for element to be visible and stable - element is visible and stable - scrolling into view if needed - done scrolling - <button tabindex="0" role="button" data-size="sm" data-kind="secondary" class="_button_i91xf_17 _has-icon_i91xf_66">…</button> from <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> subtree intercepts pointer events - retrying hover action - waiting 500ms at read-receipts/index.ts:594 592 | async toggleRoomListMenu() { 593 | const tile = this.getRoomListTile("Rooms"); > 594 | await tile.hover(); | ^ 595 | const button = tile.getByLabel("List options"); 596 | await button.click(); 597 | } at Helpers.toggleRoomListMenu (/home/runner/work/element-web/element-web/playwright/e2e/read-receipts/index.ts:594:20) at Helpers.toggleRoomUnreadOrder (/home/runner/work/element-web/element-web/playwright/e2e/read-receipts/index.ts:603:20) at /home/runner/work/element-web/element-web/playwright/e2e/read-receipts/room-list-order.spec.ts:45:24
[Firefox] › read-receipts/room-list-order.spec.ts:33:13 › Read receipts › Room list order › Rooms with unread threads appear at the top of room list if 'unread first' is selected @mergequeue: playwright/e2e/read-receipts/room-list-order.spec.ts#L1
2) [Firefox] › read-receipts/room-list-order.spec.ts:33:13 › Read receipts › Room list order › Rooms with unread threads appear at the top of room list if 'unread first' is selected @mergequeue Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 30000ms exceeded.
[Firefox] › read-receipts/room-list-order.spec.ts:33:13 › Read receipts › Room list order › Rooms with unread threads appear at the top of room list if 'unread first' is selected @mergequeue: playwright/e2e/read-receipts/index.ts#L594
2) [Firefox] › read-receipts/room-list-order.spec.ts:33:13 › Read receipts › Room list order › Rooms with unread threads appear at the top of room list if 'unread first' is selected @mergequeue Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: locator.hover: Test timeout of 30000ms exceeded. Call log: - waiting for getByRole('treeitem', { name: /^Rooms/ }) - locator resolved to <div aria-level="1" role="treeitem" aria-label="Rooms" aria-expanded="true" aria-selected="false" class="mx_RoomSublist_headerContainer mx_RoomSublist_headerContainer_withAux">…</div> - attempting hover action 2 × waiting for element to be visible and stable - element is visible and stable - scrolling into view if needed - done scrolling - <button tabindex="0" role="button" data-size="sm" data-kind="secondary" class="_button_i91xf_17 _has-icon_i91xf_66">…</button> from <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> subtree intercepts pointer events - retrying hover action - waiting 20ms 2 × waiting for element to be visible and stable - element is visible and stable - scrolling into view if needed - done scrolling - <button tabindex="0" role="button" data-size="sm" data-kind="secondary" class="_button_i91xf_17 _has-icon_i91xf_66">…</button> from <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> subtree intercepts pointer events - retrying hover action - waiting 100ms 35 × waiting for element to be visible and stable - element is visible and stable - scrolling into view if needed - done scrolling - <button tabindex="0" role="button" data-size="sm" data-kind="secondary" class="_button_i91xf_17 _has-icon_i91xf_66">…</button> from <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> subtree intercepts pointer events - retrying hover action - waiting 500ms at read-receipts/index.ts:594 592 | async toggleRoomListMenu() { 593 | const tile = this.getRoomListTile("Rooms"); > 594 | await tile.hover(); | ^ 595 | const button = tile.getByLabel("List options"); 596 | await button.click(); 597 | } at Helpers.toggleRoomListMenu (/home/runner/work/element-web/element-web/playwright/e2e/read-receipts/index.ts:594:20) at Helpers.toggleRoomUnreadOrder (/home/runner/work/element-web/element-web/playwright/e2e/read-receipts/index.ts:603:20) at /home/runner/work/element-web/element-web/playwright/e2e/read-receipts/room-list-order.spec.ts:45:24
[Firefox] › crypto/backups-mas.spec.ts:31:9 › Encryption state after registration › user is prompted to set up recovery: playwright/e2e/crypto/backups-mas.spec.ts#L41
1) [Firefox] › crypto/backups-mas.spec.ts:31:9 › Encryption state after registration › user is prompted to set up recovery Error: Timed out 5000ms waiting for expect(locator).toBeVisible() Locator: getByRole('heading', { name: 'Set up recovery' }) Expected: visible Received: <element(s) not found> Call log: - expect.toBeVisible with timeout 5000ms - waiting for getByRole('heading', { name: 'Set up recovery' }) 39 | await page.getByRole("button", { name: "Create room" }).click(); 40 | > 41 | await expect(page.getByRole("heading", { name: "Set up recovery" })).toBeVisible(); | ^ 42 | }); 43 | }); 44 | at /home/runner/work/element-web/element-web/playwright/e2e/crypto/backups-mas.spec.ts:41:78
[Firefox] › crypto/backups-mas.spec.ts:31:9 › Encryption state after registration › user is prompted to set up recovery: playwright/e2e/crypto/backups-mas.spec.ts#L41
1) [Firefox] › crypto/backups-mas.spec.ts:31:9 › Encryption state after registration › user is prompted to set up recovery Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: Timed out 5000ms waiting for expect(locator).toBeVisible() Locator: getByRole('heading', { name: 'Set up recovery' }) Expected: visible Received: <element(s) not found> Call log: - expect.toBeVisible with timeout 5000ms - waiting for getByRole('heading', { name: 'Set up recovery' }) 39 | await page.getByRole("button", { name: "Create room" }).click(); 40 | > 41 | await expect(page.getByRole("heading", { name: "Set up recovery" })).toBeVisible(); | ^ 42 | }); 43 | }); 44 | at /home/runner/work/element-web/element-web/playwright/e2e/crypto/backups-mas.spec.ts:41:78
[Firefox] › crypto/backups-mas.spec.ts:31:9 › Encryption state after registration › user is prompted to set up recovery: playwright/e2e/crypto/backups-mas.spec.ts#L41
1) [Firefox] › crypto/backups-mas.spec.ts:31:9 › Encryption state after registration › user is prompted to set up recovery Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: Timed out 5000ms waiting for expect(locator).toBeVisible() Locator: getByRole('heading', { name: 'Set up recovery' }) Expected: visible Received: <element(s) not found> Call log: - expect.toBeVisible with timeout 5000ms - waiting for getByRole('heading', { name: 'Set up recovery' }) 39 | await page.getByRole("button", { name: "Create room" }).click(); 40 | > 41 | await expect(page.getByRole("heading", { name: "Set up recovery" })).toBeVisible(); | ^ 42 | }); 43 | }); 44 | at /home/runner/work/element-web/element-web/playwright/e2e/crypto/backups-mas.spec.ts:41:78
[Firefox] › crypto/dehydration.spec.ts:92:9 › Dehydration › Reset recovery key during login re-creates dehydrated device: playwright/e2e/crypto/dehydration.spec.ts#L104
2) [Firefox] › crypto/dehydration.spec.ts:92:9 › Dehydration › Reset recovery key during login re-creates dehydrated device Error: expect(received).toBe(expected) // Object.is equality Expected: 1 Received: 0 102 | 103 | const initialDehydratedDeviceIds = await getDehydratedDeviceIds(botClient); > 104 | expect(initialDehydratedDeviceIds.length).toBe(1); | ^ 105 | 106 | await botClient.evaluate(async (client) => client.stopClient()); 107 | at /home/runner/work/element-web/element-web/playwright/e2e/crypto/dehydration.spec.ts:104:51
[Firefox] › crypto/dehydration.spec.ts:92:9 › Dehydration › Reset recovery key during login re-creates dehydrated device: playwright/e2e/crypto/dehydration.spec.ts#L104
2) [Firefox] › crypto/dehydration.spec.ts:92:9 › Dehydration › Reset recovery key during login re-creates dehydrated device Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toBe(expected) // Object.is equality Expected: 1 Received: 0 102 | 103 | const initialDehydratedDeviceIds = await getDehydratedDeviceIds(botClient); > 104 | expect(initialDehydratedDeviceIds.length).toBe(1); | ^ 105 | 106 | await botClient.evaluate(async (client) => client.stopClient()); 107 | at /home/runner/work/element-web/element-web/playwright/e2e/crypto/dehydration.spec.ts:104:51
[Firefox] › crypto/dehydration.spec.ts:92:9 › Dehydration › Reset recovery key during login re-creates dehydrated device: playwright/e2e/crypto/dehydration.spec.ts#L104
2) [Firefox] › crypto/dehydration.spec.ts:92:9 › Dehydration › Reset recovery key during login re-creates dehydrated device Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toBe(expected) // Object.is equality Expected: 1 Received: 0 102 | 103 | const initialDehydratedDeviceIds = await getDehydratedDeviceIds(botClient); > 104 | expect(initialDehydratedDeviceIds.length).toBe(1); | ^ 105 | 106 | await botClient.evaluate(async (client) => client.stopClient()); 107 | at /home/runner/work/element-web/element-web/playwright/e2e/crypto/dehydration.spec.ts:104:51
[Firefox] › settings/security-user-settings-tab.spec.ts:39:17 › Security user settings tab › with posthog enabled › AnalyticsLearnMoreDialog › should be rendered properly @screenshot: playwright/e2e/settings/security-user-settings-tab.spec.ts#L28
3) [Firefox] › settings/security-user-settings-tab.spec.ts:39:17 › Security user settings tab › with posthog enabled › AnalyticsLearnMoreDialog › should be rendered properly @screenshot Test timeout of 30000ms exceeded while running "beforeEach" hook. 26 | }); 27 | > 28 | test.beforeEach(async ({ page, user }) => { | ^ 29 | // Dismiss "Notification" toast 30 | await page 31 | .locator(".mx_Toast_toast", { hasText: "Notifications" }) at /home/runner/work/element-web/element-web/playwright/e2e/settings/security-user-settings-tab.spec.ts:28:14
[Firefox] › settings/security-user-settings-tab.spec.ts:39:17 › Security user settings tab › with posthog enabled › AnalyticsLearnMoreDialog › should be rendered properly @screenshot: playwright/e2e/settings/security-user-settings-tab.spec.ts#L33
3) [Firefox] › settings/security-user-settings-tab.spec.ts:39:17 › Security user settings tab › with posthog enabled › AnalyticsLearnMoreDialog › should be rendered properly @screenshot Error: locator.click: Test timeout of 30000ms exceeded. Call log: - waiting for locator('.mx_Toast_toast').filter({ hasText: 'Notifications' }).getByRole('button', { name: 'Dismiss' }) 31 | .locator(".mx_Toast_toast", { hasText: "Notifications" }) 32 | .getByRole("button", { name: "Dismiss" }) > 33 | .click(); | ^ 34 | 35 | await page.locator(".mx_Toast_buttons").getByRole("button", { name: "Yes" }).click(); // Allow analytics 36 | }); at /home/runner/work/element-web/element-web/playwright/e2e/settings/security-user-settings-tab.spec.ts:33:18
[Firefox] › settings/security-user-settings-tab.spec.ts:39:17 › Security user settings tab › with posthog enabled › AnalyticsLearnMoreDialog › should be rendered properly @screenshot: playwright/e2e/settings/security-user-settings-tab.spec.ts#L28
3) [Firefox] › settings/security-user-settings-tab.spec.ts:39:17 › Security user settings tab › with posthog enabled › AnalyticsLearnMoreDialog › should be rendered properly @screenshot Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 30000ms exceeded while running "beforeEach" hook. 26 | }); 27 | > 28 | test.beforeEach(async ({ page, user }) => { | ^ 29 | // Dismiss "Notification" toast 30 | await page 31 | .locator(".mx_Toast_toast", { hasText: "Notifications" }) at /home/runner/work/element-web/element-web/playwright/e2e/settings/security-user-settings-tab.spec.ts:28:14
[Firefox] › settings/security-user-settings-tab.spec.ts:39:17 › Security user settings tab › with posthog enabled › AnalyticsLearnMoreDialog › should be rendered properly @screenshot: playwright/e2e/settings/security-user-settings-tab.spec.ts#L33
3) [Firefox] › settings/security-user-settings-tab.spec.ts:39:17 › Security user settings tab › with posthog enabled › AnalyticsLearnMoreDialog › should be rendered properly @screenshot Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: locator.click: Test timeout of 30000ms exceeded. Call log: - waiting for locator('.mx_Toast_toast').filter({ hasText: 'Notifications' }).getByRole('button', { name: 'Dismiss' }) 31 | .locator(".mx_Toast_toast", { hasText: "Notifications" }) 32 | .getByRole("button", { name: "Dismiss" }) > 33 | .click(); | ^ 34 | 35 | await page.locator(".mx_Toast_buttons").getByRole("button", { name: "Yes" }).click(); // Allow analytics 36 | }); at /home/runner/work/element-web/element-web/playwright/e2e/settings/security-user-settings-tab.spec.ts:33:18
[Firefox] › crypto/crypto.spec.ts:205:9 › Cryptography › creating a DM should work: playwright/e2e/crypto/crypto.spec.ts#L1
1) [Firefox] › crypto/crypto.spec.ts:205:9 › Cryptography › creating a DM should work, being e2e-encrypted / user verification @screenshot Test timeout of 30000ms exceeded.
[Firefox] › crypto/crypto.spec.ts:205:9 › Cryptography › creating a DM should work: playwright/e2e/crypto/crypto.spec.ts#L31
1) [Firefox] › crypto/crypto.spec.ts:205:9 › Cryptography › creating a DM should work, being e2e-encrypted / user verification @screenshot Error: locator.click: Test timeout of 30000ms exceeded. Call log: - waiting for locator('.mx_RoomList').getByRole('button', { name: 'Start chat' }) - locator resolved to <div tabindex="-1" role="button" aria-label="Start chat" class="mx_AccessibleButton mx_RoomSublist_auxButton"></div> - attempting click action 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div>…</div> from <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> subtree intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div>…</div> from <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> subtree intercepts pointer events - retrying click action - waiting 100ms 48 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div>…</div> from <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> subtree intercepts pointer events - retrying click action - waiting 500ms 29 | 30 | const startDMWithBob = async (page: Page, bob: Bot) => { > 31 | await page.locator(".mx_RoomList").getByRole("button", { name: "Start chat" }).click(); | ^ 32 | await page.getByTestId("invite-dialog-input").fill(bob.credentials.userId); 33 | await page.locator(".mx_InviteDialog_tile_nameStack_name").getByText("Bob").click(); 34 | await expect( at startDMWithBob (/home/runner/work/element-web/element-web/playwright/e2e/crypto/crypto.spec.ts:31:84) at /home/runner/work/element-web/element-web/playwright/e2e/crypto/crypto.spec.ts:210:19
[Firefox] › crypto/crypto.spec.ts:205:9 › Cryptography › creating a DM should work: playwright/e2e/crypto/crypto.spec.ts#L1
1) [Firefox] › crypto/crypto.spec.ts:205:9 › Cryptography › creating a DM should work, being e2e-encrypted / user verification @screenshot Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 30000ms exceeded.
[Firefox] › crypto/crypto.spec.ts:205:9 › Cryptography › creating a DM should work: playwright/e2e/crypto/crypto.spec.ts#L31
1) [Firefox] › crypto/crypto.spec.ts:205:9 › Cryptography › creating a DM should work, being e2e-encrypted / user verification @screenshot Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: locator.click: Test timeout of 30000ms exceeded. Call log: - waiting for locator('.mx_RoomList').getByRole('button', { name: 'Start chat' }) - locator resolved to <div tabindex="-1" role="button" aria-label="Start chat" class="mx_AccessibleButton mx_RoomSublist_auxButton"></div> - attempting click action 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div>…</div> from <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> subtree intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div>…</div> from <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> subtree intercepts pointer events - retrying click action - waiting 100ms 37 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div>…</div> from <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> subtree intercepts pointer events - retrying click action - waiting 500ms - waiting for element to be visible, enabled and stable 29 | 30 | const startDMWithBob = async (page: Page, bob: Bot) => { > 31 | await page.locator(".mx_RoomList").getByRole("button", { name: "Start chat" }).click(); | ^ 32 | await page.getByTestId("invite-dialog-input").fill(bob.credentials.userId); 33 | await page.locator(".mx_InviteDialog_tile_nameStack_name").getByText("Bob").click(); 34 | await expect( at startDMWithBob (/home/runner/work/element-web/element-web/playwright/e2e/crypto/crypto.spec.ts:31:84) at /home/runner/work/element-web/element-web/playwright/e2e/crypto/crypto.spec.ts:210:19
[Firefox] › crypto/crypto.spec.ts:205:9 › Cryptography › creating a DM should work: playwright/e2e/crypto/crypto.spec.ts#L1
1) [Firefox] › crypto/crypto.spec.ts:205:9 › Cryptography › creating a DM should work, being e2e-encrypted / user verification @screenshot Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 30000ms exceeded.
[Firefox] › crypto/crypto.spec.ts:205:9 › Cryptography › creating a DM should work: playwright/e2e/crypto/crypto.spec.ts#L31
1) [Firefox] › crypto/crypto.spec.ts:205:9 › Cryptography › creating a DM should work, being e2e-encrypted / user verification @screenshot Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: locator.click: Test timeout of 30000ms exceeded. Call log: - waiting for locator('.mx_RoomList').getByRole('button', { name: 'Start chat' }) - locator resolved to <div tabindex="-1" role="button" aria-label="Start chat" class="mx_AccessibleButton mx_RoomSublist_auxButton"></div> - attempting click action 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div>…</div> from <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> subtree intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div>…</div> from <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> subtree intercepts pointer events - retrying click action - waiting 100ms 40 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div>…</div> from <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> subtree intercepts pointer events - retrying click action - waiting 500ms 29 | 30 | const startDMWithBob = async (page: Page, bob: Bot) => { > 31 | await page.locator(".mx_RoomList").getByRole("button", { name: "Start chat" }).click(); | ^ 32 | await page.getByTestId("invite-dialog-input").fill(bob.credentials.userId); 33 | await page.locator(".mx_InviteDialog_tile_nameStack_name").getByText("Bob").click(); 34 | await expect( at startDMWithBob (/home/runner/work/element-web/element-web/playwright/e2e/crypto/crypto.spec.ts:31:84) at /home/runner/work/element-web/element-web/playwright/e2e/crypto/crypto.spec.ts:210:19
[Firefox] › crypto/decryption-failure-messages.spec.ts:100:17 › Cryptography › decryption failure messages › non-joined historical messages › should display undecryptable non-joined historical messages with a different message: playwright/e2e/crypto/decryption-failure-messages.spec.ts#L1
2) [Firefox] › crypto/decryption-failure-messages.spec.ts:100:17 › Cryptography › decryption failure messages › non-joined historical messages › should display undecryptable non-joined historical messages with a different message Test timeout of 30000ms exceeded.
[Firefox] › crypto/decryption-failure-messages.spec.ts:100:17 › Cryptography › decryption failure messages › non-joined historical messages › should display undecryptable non-joined historical messages with a different message: playwright/e2e/crypto/decryption-failure-messages.spec.ts#L149
2) [Firefox] › crypto/decryption-failure-messages.spec.ts:100:17 › Cryptography › decryption failure messages › non-joined historical messages › should display undecryptable non-joined historical messages with a different message Error: locator.click: Test timeout of 30000ms exceeded. Call log: - waiting for getByRole('treeitem', { name: 'Test room' }) - locator resolved to <div tabindex="-1" role="treeitem" aria-selected="false" aria-label="Test room" class="mx_AccessibleButton mx_RoomTile">…</div> - attempting click action 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <button tabindex="0" role="button" data-size="sm" data-kind="secondary" class="_button_i91xf_17 _has-icon_i91xf_66">…</button> from <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> subtree intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <button tabindex="0" role="button" data-size="sm" data-kind="secondary" class="_button_i91xf_17 _has-icon_i91xf_66">…</button> from <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> subtree intercepts pointer events - retrying click action - waiting 100ms 48 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <button tabindex="0" role="button" data-size="sm" data-kind="secondary" class="_button_i91xf_17 _has-icon_i91xf_66">…</button> from <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> subtree intercepts pointer events - retrying click action - waiting 500ms 147 | page.getByRole("group", { name: "Invites" }).locator(".mx_RoomSublist_tiles").getByRole("treeitem"), 148 | ).toHaveCount(1); > 149 | await page.getByRole("treeitem", { name: "Test room" }).click(); | ^ 150 | await page.locator(".mx_RoomView").getByRole("button", { name: "Accept" }).click(); 151 | 152 | // Bob sends an encrypted event and an undecryptable event at /home/runner/work/element-web/element-web/playwright/e2e/crypto/decryption-failure-messages.spec.ts:149:73
[Firefox] › crypto/decryption-failure-messages.spec.ts:100:17 › Cryptography › decryption failure messages › non-joined historical messages › should display undecryptable non-joined historical messages with a different message: playwright/e2e/crypto/decryption-failure-messages.spec.ts#L1
2) [Firefox] › crypto/decryption-failure-messages.spec.ts:100:17 › Cryptography › decryption failure messages › non-joined historical messages › should display undecryptable non-joined historical messages with a different message Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 30000ms exceeded.
[Firefox] › crypto/decryption-failure-messages.spec.ts:100:17 › Cryptography › decryption failure messages › non-joined historical messages › should display undecryptable non-joined historical messages with a different message: playwright/e2e/crypto/decryption-failure-messages.spec.ts#L149
2) [Firefox] › crypto/decryption-failure-messages.spec.ts:100:17 › Cryptography › decryption failure messages › non-joined historical messages › should display undecryptable non-joined historical messages with a different message Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: locator.click: Test timeout of 30000ms exceeded. Call log: - waiting for getByRole('treeitem', { name: 'Test room' }) - locator resolved to <div tabindex="-1" role="treeitem" aria-selected="false" aria-label="Test room" class="mx_AccessibleButton mx_RoomTile">…</div> - attempting click action 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <button tabindex="0" role="button" data-size="sm" data-kind="secondary" class="_button_i91xf_17 _has-icon_i91xf_66">…</button> from <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> subtree intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <button tabindex="0" role="button" data-size="sm" data-kind="secondary" class="_button_i91xf_17 _has-icon_i91xf_66">…</button> from <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> subtree intercepts pointer events - retrying click action - waiting 100ms 37 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <button tabindex="0" role="button" data-size="sm" data-kind="secondary" class="_button_i91xf_17 _has-icon_i91xf_66">…</button> from <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> subtree intercepts pointer events - retrying click action - waiting 500ms 147 | page.getByRole("group", { name: "Invites" }).locator(".mx_RoomSublist_tiles").getByRole("treeitem"), 148 | ).toHaveCount(1); > 149 | await page.getByRole("treeitem", { name: "Test room" }).click(); | ^ 150 | await page.locator(".mx_RoomView").getByRole("button", { name: "Accept" }).click(); 151 | 152 | // Bob sends an encrypted event and an undecryptable event at /home/runner/work/element-web/element-web/playwright/e2e/crypto/decryption-failure-messages.spec.ts:149:73
end-to-end-tests
Process completed with exit code 1.
Slow Test: [Pinecone] › pinned-messages/pinned-messages.spec.ts#L1
[Pinecone] › pinned-messages/pinned-messages.spec.ts took 43.1s
Slow Test: [Dendrite] › pinned-messages/pinned-messages.spec.ts#L1
[Dendrite] › pinned-messages/pinned-messages.spec.ts took 44.3s
Slow Test: [Dendrite] › permalinks/permalinks.spec.ts#L1
[Dendrite] › permalinks/permalinks.spec.ts took 21.1s
Slow Test: [Pinecone] › right-panel/right-panel.spec.ts#L1
[Pinecone] › right-panel/right-panel.spec.ts took 19.2s
Slow Test: [Dendrite] › right-panel/right-panel.spec.ts#L1
[Dendrite] › right-panel/right-panel.spec.ts took 19.4s
Slow Test: [Dendrite] › read-receipts/room-list-order.spec.ts#L1
[Dendrite] › read-receipts/room-list-order.spec.ts took 15.4s
Slow Test: [Dendrite] › timeline/timeline.spec.ts#L1
[Dendrite] › timeline/timeline.spec.ts took 1.0m
Slow Test: [Dendrite] › sliding-sync/sliding-sync.spec.ts#L1
[Dendrite] › sliding-sync/sliding-sync.spec.ts took 44.8s
Slow Test: [Pinecone] › timeline/timeline.spec.ts#L1
[Pinecone] › timeline/timeline.spec.ts took 1.0m
Slow Test: [Dendrite] › messages/messages.spec.ts#L1
[Dendrite] › messages/messages.spec.ts took 47.1s
Slow Test: [Dendrite] › crypto/event-shields.spec.ts#L1
[Dendrite] › crypto/event-shields.spec.ts took 45.5s
Slow Test: [Dendrite] › audio-player/audio-player.spec.ts#L1
[Dendrite] › audio-player/audio-player.spec.ts took 32.7s
Slow Test: [Dendrite] › composer/RTE.spec.ts#L1
[Dendrite] › composer/RTE.spec.ts took 30.6s
Slow Test: [Dendrite] › crypto/device-verification.spec.ts#L1
[Dendrite] › crypto/device-verification.spec.ts took 21.1s
Slow Test: [Pinecone] › messages/messages.spec.ts#L1
[Pinecone] › messages/messages.spec.ts took 47.7s
Slow Test: [Pinecone] › crypto/event-shields.spec.ts#L1
[Pinecone] › crypto/event-shields.spec.ts took 47.7s
Slow Test: [Pinecone] › audio-player/audio-player.spec.ts#L1
[Pinecone] › audio-player/audio-player.spec.ts took 34.2s
Slow Test: [Pinecone] › composer/RTE.spec.ts#L1
[Pinecone] › composer/RTE.spec.ts took 30.8s
Slow Test: [Pinecone] › crypto/device-verification.spec.ts#L1
[Pinecone] › crypto/device-verification.spec.ts took 20.9s
Slow Test: [Chrome] › messages/messages.spec.ts#L1
[Chrome] › messages/messages.spec.ts took 57.9s
Slow Test: [Chrome] › crypto/event-shields.spec.ts#L1
[Chrome] › crypto/event-shields.spec.ts took 53.5s
Slow Test: [Chrome] › crypto/decryption-failure-messages.spec.ts#L1
[Chrome] › crypto/decryption-failure-messages.spec.ts took 42.6s
Slow Test: [Chrome] › audio-player/audio-player.spec.ts#L1
[Chrome] › audio-player/audio-player.spec.ts took 37.0s
Slow Test: [Chrome] › composer/RTE.spec.ts#L1
[Chrome] › composer/RTE.spec.ts took 35.6s
Slow Test: [Chrome] › read-receipts/new-messages-in-threads.spec.ts#L1
[Chrome] › read-receipts/new-messages-in-threads.spec.ts took 58.6s
Slow Test: [Chrome] › pinned-messages/pinned-messages.spec.ts#L1
[Chrome] › pinned-messages/pinned-messages.spec.ts took 57.1s
Slow Test: [Chrome] › read-receipts/new-messages-main-timeline.spec.ts#L1
[Chrome] › read-receipts/new-messages-main-timeline.spec.ts took 39.8s
Slow Test: [Chrome] › read-receipts/editing-messages-in-threads.spec.ts#L1
[Chrome] › read-receipts/editing-messages-in-threads.spec.ts took 38.6s
Slow Test: [Chrome] › read-receipts/editing-messages-main-timeline.spec.ts#L1
[Chrome] › read-receipts/editing-messages-main-timeline.spec.ts took 38.1s
Slow Test: [Chrome] › read-receipts/redactions-main-timeline.spec.ts#L1
[Chrome] › read-receipts/redactions-main-timeline.spec.ts took 1.2m
Slow Test: [Chrome] › read-receipts/reactions-in-threads.spec.ts#L1
[Chrome] › read-receipts/reactions-in-threads.spec.ts took 52.6s
Slow Test: [Chrome] › read-receipts/read-receipts.spec.ts#L1
[Chrome] › read-receipts/read-receipts.spec.ts took 49.5s
Slow Test: [Chrome] › read-receipts/redactions-thread-roots.spec.ts#L1
[Chrome] › read-receipts/redactions-thread-roots.spec.ts took 33.2s
Slow Test: [Chrome] › right-panel/right-panel.spec.ts#L1
[Chrome] › right-panel/right-panel.spec.ts took 26.1s
Slow Test: [WebKit] › read-receipts/high-level.spec.ts#L1
[WebKit] › read-receipts/high-level.spec.ts took 3.0m
Slow Test: [WebKit] › pinned-messages/pinned-messages.spec.ts#L1
[WebKit] › pinned-messages/pinned-messages.spec.ts took 1.3m
Slow Test: [WebKit] › read-receipts/new-messages-in-threads.spec.ts#L1
[WebKit] › read-receipts/new-messages-in-threads.spec.ts took 1.3m
Slow Test: [WebKit] › read-receipts/editing-messages-in-threads.spec.ts#L1
[WebKit] › read-receipts/editing-messages-in-threads.spec.ts took 53.9s
Slow Test: [WebKit] › read-receipts/new-messages-main-timeline.spec.ts#L1
[WebKit] › read-receipts/new-messages-main-timeline.spec.ts took 53.6s
Slow Test: [Chrome] › spotlight/spotlight.spec.ts#L1
[Chrome] › spotlight/spotlight.spec.ts took 2.2m
Slow Test: [Chrome] › login/login-consent.spec.ts#L1
[Chrome] › login/login-consent.spec.ts took 1.1m
Slow Test: [Chrome] › spaces/threads-activity-centre/threadsActivityCentre.spec.ts#L1
[Chrome] › spaces/threads-activity-centre/threadsActivityCentre.spec.ts took 50.1s
Slow Test: [Chrome] › spaces/spaces.spec.ts#L1
[Chrome] › spaces/spaces.spec.ts took 30.7s
Slow Test: [Chrome] › crypto/backups-mas.spec.ts#L1
[Chrome] › crypto/backups-mas.spec.ts took 28.5s
Slow Test: [Firefox] › read-receipts/high-level.spec.ts#L1
[Firefox] › read-receipts/high-level.spec.ts took 3.4m
Slow Test: [Firefox] › read-receipts/new-messages-in-threads.spec.ts#L1
[Firefox] › read-receipts/new-messages-in-threads.spec.ts took 1.6m
Slow Test: [Firefox] › pinned-messages/pinned-messages.spec.ts#L1
[Firefox] › pinned-messages/pinned-messages.spec.ts took 1.6m
Slow Test: [Firefox] › read-receipts/new-messages-main-timeline.spec.ts#L1
[Firefox] › read-receipts/new-messages-main-timeline.spec.ts took 1.1m
Slow Test: [Firefox] › read-receipts/editing-messages-main-timeline.spec.ts#L1
[Firefox] › read-receipts/editing-messages-main-timeline.spec.ts took 1.1m
Slow Test: [WebKit] › read-receipts/redactions-in-threads.spec.ts#L1
[WebKit] › read-receipts/redactions-in-threads.spec.ts took 2.1m
Slow Test: [WebKit] › read-receipts/redactions-main-timeline.spec.ts#L1
[WebKit] › read-receipts/redactions-main-timeline.spec.ts took 1.4m
Slow Test: [WebKit] › read-receipts/reactions-in-threads.spec.ts#L1
[WebKit] › read-receipts/reactions-in-threads.spec.ts took 1.0m
Slow Test: [WebKit] › read-receipts/redactions-thread-roots.spec.ts#L1
[WebKit] › read-receipts/redactions-thread-roots.spec.ts took 40.3s
Slow Test: [WebKit] › right-panel/right-panel.spec.ts#L1
[WebKit] › right-panel/right-panel.spec.ts took 35.5s
Slow Test: [WebKit] › messages/messages.spec.ts#L1
[WebKit] › messages/messages.spec.ts took 1.6m
Slow Test: [WebKit] › integration-manager/kick.spec.ts#L1
[WebKit] › integration-manager/kick.spec.ts took 32.2s
Slow Test: [WebKit] › knock/knock-into-room.spec.ts#L1
[WebKit] › knock/knock-into-room.spec.ts took 27.2s
Slow Test: [WebKit] › accessibility/keyboard-navigation.spec.ts#L1
[WebKit] › accessibility/keyboard-navigation.spec.ts took 25.7s
Slow Test: [WebKit] › crypto/toasts.spec.ts#L1
[WebKit] › crypto/toasts.spec.ts took 24.0s
Slow Test: [WebKit] › spotlight/spotlight.spec.ts#L1
[WebKit] › spotlight/spotlight.spec.ts took 2.5m
Slow Test: [WebKit] › login/login-consent.spec.ts#L1
[WebKit] › login/login-consent.spec.ts took 1.3m
Slow Test: [WebKit] › spaces/threads-activity-centre/threadsActivityCentre.spec.ts#L1
[WebKit] › spaces/threads-activity-centre/threadsActivityCentre.spec.ts took 1.0m
Slow Test: [WebKit] › timeline/timeline.spec.ts#L1
[WebKit] › timeline/timeline.spec.ts took 60.0s
Slow Test: [WebKit] › crypto/backups-mas.spec.ts#L1
[WebKit] › crypto/backups-mas.spec.ts took 37.1s
Slow Test: [Firefox] › read-receipts/redactions-in-threads.spec.ts#L1
[Firefox] › read-receipts/redactions-in-threads.spec.ts took 2.4m
Slow Test: [Firefox] › read-receipts/redactions-main-timeline.spec.ts#L1
[Firefox] › read-receipts/redactions-main-timeline.spec.ts took 1.7m
Slow Test: [Firefox] › read-receipts/read-receipts.spec.ts#L1
[Firefox] › read-receipts/read-receipts.spec.ts took 1.2m
Slow Test: [Firefox] › read-receipts/reactions-in-threads.spec.ts#L1
[Firefox] › read-receipts/reactions-in-threads.spec.ts took 1.1m
Slow Test: [Firefox] › read-receipts/redactions-thread-roots.spec.ts#L1
[Firefox] › read-receipts/redactions-thread-roots.spec.ts took 47.8s
Slow Test: [Firefox] › spotlight/spotlight.spec.ts#L1
[Firefox] › spotlight/spotlight.spec.ts took 2.9m
Slow Test: [Firefox] › login/login-consent.spec.ts#L1
[Firefox] › login/login-consent.spec.ts took 1.4m
Slow Test: [Firefox] › timeline/timeline.spec.ts#L1
[Firefox] › timeline/timeline.spec.ts took 1.1m
Slow Test: [Firefox] › spaces/spaces.spec.ts#L1
[Firefox] › spaces/spaces.spec.ts took 54.4s
Slow Test: [Firefox] › threads/threads.spec.ts#L1
[Firefox] › threads/threads.spec.ts took 23.4s
Slow Test: [Firefox] › messages/messages.spec.ts#L1
[Firefox] › messages/messages.spec.ts took 1.7m
Slow Test: [Firefox] › composer/RTE.spec.ts#L1
[Firefox] › composer/RTE.spec.ts took 1.0m
Slow Test: [Firefox] › crypto/device-verification.spec.ts#L1
[Firefox] › crypto/device-verification.spec.ts took 47.9s
Slow Test: [Firefox] › integration-manager/kick.spec.ts#L1
[Firefox] › integration-manager/kick.spec.ts took 38.7s
Slow Test: [Firefox] › knock/knock-into-room.spec.ts#L1
[Firefox] › knock/knock-into-room.spec.ts took 34.3s
🎭 Playwright Run Summary
103 skipped 14 passed (1.1m)
🎭 Playwright Run Summary
103 skipped 14 passed (1.3m)
🎭 Playwright Run Summary
1 flaky [Pinecone] › settings/encryption-user-tab/recovery.spec.ts:51:9 › Recovery section in Encryption tab › should setup the recovery key @screenshot @no-webkit 63 skipped 54 passed (3.0m)
🎭 Playwright Run Summary
1 flaky [Dendrite] › settings/encryption-user-tab/recovery.spec.ts:51:9 › Recovery section in Encryption tab › should setup the recovery key @screenshot @no-webkit 61 skipped 56 passed (3.1m)
🎭 Playwright Run Summary
64 skipped 55 passed (3.4m)
🎭 Playwright Run Summary
1 flaky [Pinecone] › sliding-sync/sliding-sync.spec.ts:365:5 › Sliding Sync › should send unsubscribe_rooms for every room switch 64 skipped 54 passed (4.1m)
🎭 Playwright Run Summary
33 skipped 91 passed (5.3m)
🎭 Playwright Run Summary
33 skipped 91 passed (5.5m)
🎭 Playwright Run Summary
1 skipped 123 passed (9.3m)
🎭 Playwright Run Summary
2 flaky [Chrome] › read-receipts/high-level.spec.ts:115:13 › Read receipts › Paging up › Paging up through old messages of an unread room leaves the room unread @mergequeue [Chrome] › read-receipts/new-messages-thread-roots.spec.ts:38:17 › Read receipts › new messages › thread roots › Reading a thread root within the thread view marks it as read in the main timeline @mergequeue 44 skipped 71 passed (9.3m)
🎭 Playwright Run Summary
1 flaky [Chrome] › read-receipts/redactions-in-threads.spec.ts:127:17 › Read receipts › redactions › in threads › Reading an unread thread after a redaction of an older message makes it read @mergequeue 2 skipped 115 passed (10.2m)
🎭 Playwright Run Summary
44 skipped 73 passed (10.8m)
🎭 Playwright Run Summary
4 flaky [Chrome] › sliding-sync/sliding-sync.spec.ts:365:5 › Sliding Sync › should send unsubscribe_rooms for every room switch [Chrome] › timeline/timeline.spec.ts:140:13 › Timeline › configure room › should create and configure a room on IRC layout @screenshot [Chrome] › timeline/timeline.spec.ts:226:13 › Timeline › configure room › should click 'collapse' on the first hovered info event line inside GELS on bubble layout @screenshot [Chrome] › timeline/timeline.spec.ts:277:13 › Timeline › configure room › should add inline start margin to an event line on IRC layout @screenshot 2 skipped 113 passed (12.9m)
🎭 Playwright Run Summary
1 flaky [Firefox] › read-receipts/new-messages-thread-roots.spec.ts:38:17 › Read receipts › new messages › thread roots › Reading a thread root within the thread view marks it as read in the main timeline @mergequeue 44 skipped 72 passed (13.3m)
🎭 Playwright Run Summary
2 failed [WebKit] › read-receipts/read-receipts.spec.ts:276:9 › Read receipts › Should send the correct receipts @mergequeue [WebKit] › room/room.spec.ts:56:9 › Room Directory › should memorize the timeline position when switch Room A -> Room B -> Room A 1 flaky [WebKit] › room_options/marked_unread.spec.ts:25:9 › Mark as Unread › should mark a room as unread 11 skipped 104 passed (14.4m)
🎭 Playwright Run Summary
6 failed [WebKit] › crypto/crypto.spec.ts:106:17 › Cryptography › setting up secure key backup should work isDeviceVerified=true › by recovery code [WebKit] › crypto/crypto.spec.ts:106:17 › Cryptography › setting up secure key backup should work isDeviceVerified=false › by recovery code [WebKit] › crypto/crypto.spec.ts:164:9 › Cryptography › Can reset cross-signing keys ─────────── [WebKit] › crypto/decryption-failure-messages.spec.ts:33:13 › Cryptography › decryption failure messages › should handle device-relative historical messages [WebKit] › crypto/event-shields.spec.ts:179:13 › Cryptography › event shields › Should show a grey padlock for a key restored from backup [WebKit] › crypto/logout.spec.ts:35:9 › Logout tests › If backup is set up show standard confirm 2 flaky [WebKit] › composer/RTE.spec.ts:244:17 › Composer › Rich text editor › Drafts › drafts with rich and plain text [WebKit] › lazy-loading/lazy-loading.spec.ts:126:9 › Lazy Loading › should handle lazy loading properly even when offline 17 skipped 99 passed (14.8m)
🎭 Playwright Run Summary
3 failed [WebKit] › crypto/dehydration.spec.ts:49:9 › Dehydration › 'Set up secure backup' creates dehydrated device [WebKit] › crypto/dehydration.spec.ts:92:9 › Dehydration › Reset recovery key during login re-creates dehydrated device [WebKit] › sliding-sync/sliding-sync.spec.ts:365:5 › Sliding Sync › should send unsubscribe_rooms for every room switch 18 skipped 98 passed (15.0m)
🎭 Playwright Run Summary
5 failed [Firefox] › read-receipts/room-list-order.spec.ts:15:13 › Read receipts › Room list order › Rooms with unread messages appear at the top of room list if 'unread first' is selected @mergequeue [Firefox] › read-receipts/room-list-order.spec.ts:33:13 › Read receipts › Room list order › Rooms with unread threads appear at the top of room list if 'unread first' is selected @mergequeue [Firefox] › room/room-header.spec.ts:108:17 › Room Header › with a video room › and with feature_notifications enabled › should render buttons for chat, room info, threads and facepile @screenshot [Firefox] › room/room.spec.ts:18:9 › Room Directory › should switch between existing dm rooms without a loader [Firefox] › room-directory/room-directory.spec.ts:58:9 › Room Directory › should allow finding published rooms in directory @screenshot 7 skipped 106 passed (21.5m)
🎭 Playwright Run Summary
11 failed [Firefox] › crypto/backups-mas.spec.ts:31:9 › Encryption state after registration › user is prompted to set up recovery [Firefox] › crypto/dehydration.spec.ts:92:9 › Dehydration › Reset recovery key during login re-creates dehydrated device [Firefox] › settings/security-user-settings-tab.spec.ts:39:17 › Security user settings tab › with posthog enabled › AnalyticsLearnMoreDialog › should be rendered properly @screenshot [Firefox] › settings/security-user-settings-tab.spec.ts:48:13 › Security user settings tab › with posthog enabled › should contain section to set ID server [Firefox] › settings/security-user-settings-tab.spec.ts:57:13 › Security user settings tab › with posthog enabled › should enable show integrations as enabled [Firefox] › sliding-sync/sliding-sync.spec.ts:88:5 › Sliding Sync › should render the Rooms list in reverse chronological order by default and allowing sorting A-Z [Firefox] › sliding-sync/sliding-sync.spec.ts:365:5 › Sliding Sync › should send unsubscribe_rooms for every room switch [Firefox] › toasts/analytics-toast.spec.ts:16:9 › Analytics Toast › should not show an analytics toast if config has nothing about posthog [Firefox] › toasts/analytics-toast.spec.ts:35:13 › Analytics Toast › with posthog enabled › should show an analytics toast which can be accepted [Firefox] › toasts/analytics-toast.spec.ts:40:13 › Analytics Toast › with posthog enabled › should show an analytics toast which can be rejected [Firefox] › voip/pstn.spec.ts:23:9 › PSTN › should render dialpad as expected @screenshot ────── 4 flaky [Firefox] › forgot-password/forgot-password.spec.ts:44:5 › Forgot Password › renders properly @screenshot [Firefox] › sliding-sync/sliding-sync.spec.ts:191:5 › Sliding Sync › should not show unread indicators [Firefox] › sliding-sync/sliding-sync.spec.ts:224:5 › Sliding Sync › should show and be able to accept/reject/rescind invites [Firefox] › sliding-sync/sliding-sync.spec.ts:305:5 › Sliding Sync › should clear the reply to field when swapping rooms 28 skipped 76 passed (26.5m)
🎭 Playwright Run Summary
9 failed [Firefox] › crypto/crypto.spec.ts:205:9 › Cryptography › creating a DM should work, being e2e-encrypted / user verification @screenshot [Firefox] › crypto/decryption-failure-messages.spec.ts:100:17 › Cryptography › decryption failure messages › non-joined historical messages › should display undecryptable non-joined historical messages with a different message [Firefox] › crypto/decryption-failure-messages.spec.ts:205:17 › Cryptography › decryption failure messages › non-joined historical messages › should be able to jump to a message sent before our last join event [Firefox] › crypto/event-shields.spec.ts:60:13 › Cryptography › event shields › should show the correct shield on e2e events [Firefox] › crypto/toasts.spec.ts:31:9 › Key storage out of sync toast › should prompt for recovery key if 'enter recovery key' pressed @screenshot [Firefox] › crypto/toasts.spec.ts:45:9 › Key storage out of sync toast › should open settings to reset flow if 'forgot recovery key' pressed [Firefox] › crypto/user-verification.spec.ts:35:9 › User verification › can receive a verification request when there is no existing DM [Firefox] › crypto/user-verification.spec.ts:86:9 › User verification › can abort emoji verification when emoji mismatch [Firefox] › invite/invite-dialog.spec.ts:76:9 › Invite dialog › should support inviting a user to Direct Messages @screenshot 11 skipped 104 passed (27.2m)

Artifacts

Produced during runtime
Name Size
all-blob-reports-Chrome-1 Expired
791 KB
all-blob-reports-Chrome-2 Expired
14.2 MB
all-blob-reports-Chrome-3 Expired
4.86 MB
all-blob-reports-Chrome-4 Expired
15.2 MB
all-blob-reports-Dendrite-1 Expired
287 KB
all-blob-reports-Dendrite-2 Expired
67.6 KB
all-blob-reports-Dendrite-3 Expired
6.45 MB
all-blob-reports-Dendrite-4 Expired
561 KB
all-blob-reports-Firefox-1 Expired
79.9 MB
all-blob-reports-Firefox-2 Expired
17.2 MB
all-blob-reports-Firefox-3 Expired
61.1 MB
all-blob-reports-Firefox-4 Expired
82 MB
all-blob-reports-Pinecone-1 Expired
289 KB
all-blob-reports-Pinecone-2 Expired
67.9 KB
all-blob-reports-Pinecone-3 Expired
6.4 MB
all-blob-reports-Pinecone-4 Expired
3.66 MB
all-blob-reports-WebKit-1 Expired
50.3 MB
all-blob-reports-WebKit-2 Expired
392 KB
all-blob-reports-WebKit-3 Expired
25.2 MB
all-blob-reports-WebKit-4 Expired
20.2 MB
html-report Expired
350 MB
webapp Expired
27.3 MB