Skip to content

End to End Tests

End to End Tests #4933

Triggered via schedule February 8, 2025 06:01
Status Failure
Total duration 31m 23s
Artifacts 22

end-to-end-tests.yaml

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

Annotations

67 errors, 81 warnings, and 20 notices
[Pinecone] › settings/encryption-user-tab/recovery.spec.ts:54:9 › Recovery section in Encryption tab › should setup the recovery key @screenshot @no-webkit: playwright/e2e/crypto/utils.ts#L191
1) [Pinecone] › settings/encryption-user-tab/recovery.spec.ts:54: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: "6" at crypto/utils.ts:191 189 | expect(backupInfo).toBeDefined(); 190 | // The key backup version is as expected > 191 | expect(backupInfo.version).toBe(expectedBackupVersion); | ^ 192 | // The active backup version is as expected 193 | expect(activeBackupVersion).toBe(expectedBackupVersion); 194 | // The backup key is stored in 4S at checkDeviceIsConnectedKeyBackup (/home/runner/work/element-web/element-web/playwright/e2e/crypto/utils.ts:191:32) at /home/runner/work/element-web/element-web/playwright/e2e/settings/encryption-user-tab/recovery.spec.ts:89:9
[Dendrite] › settings/encryption-user-tab/recovery.spec.ts:54:9 › Recovery section in Encryption tab › should setup the recovery key @screenshot @no-webkit: playwright/e2e/crypto/utils.ts#L191
1) [Dendrite] › settings/encryption-user-tab/recovery.spec.ts:54: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: "6" at crypto/utils.ts:191 189 | expect(backupInfo).toBeDefined(); 190 | // The key backup version is as expected > 191 | expect(backupInfo.version).toBe(expectedBackupVersion); | ^ 192 | // The active backup version is as expected 193 | expect(activeBackupVersion).toBe(expectedBackupVersion); 194 | // The backup key is stored in 4S at checkDeviceIsConnectedKeyBackup (/home/runner/work/element-web/element-web/playwright/e2e/crypto/utils.ts:191:32) at /home/runner/work/element-web/element-web/playwright/e2e/settings/encryption-user-tab/recovery.spec.ts:89:9
[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
1) [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-main-timeline.spec.ts:142:17 › Read receipts › redactions › in the main timeline › Redacting one of the unread messages reduces the unread count @mergequeue: playwright/e2e/read-receipts/index.ts#L473
1) [Chrome] › read-receipts/redactions-main-timeline.spec.ts:142:17 › Read receipts › redactions › in the main timeline › Redacting one of the unread messages reduces the unread count @mergequeue Error: Timed out 5000ms waiting for expect(locator).toHaveText(expected) Locator: getByRole('treeitem', { name: /^Room Beta/ }).locator('.mx_NotificationBadge_count') Expected string: "2" Received string: "3" 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">3</span> - unexpected value "3" 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/redactions-main-timeline.spec.ts:157:28
[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
[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#L301
1) [WebKit] › read-receipts/read-receipts.spec.ts:276:9 › Read receipts › Should send the correct receipts @mergequeue Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toContain(expected) // indexOf Expected substring: "%24cOkURbYcbsGBbQLpLxkvPKBDAU_gF5QWhd1avjsSJSM" Received string: "http://localhost:32849/_matrix/client/v3/rooms/!jnxfWMgEAsauKGegdW%3Alocalhost/receipt/m.read/%24VCf5yT7to-2RU-2mpnc7FOh4owDDretyar4igvhIBM0" 299 | const receiptRequest = await receiptRequestPromise; 300 | // assert the read receipt for the last message in the room > 301 | expect(receiptRequest.url()).toContain(uriEncodedLastMessageId); | ^ 302 | expect(receiptRequest.postDataJSON()).toEqual({ 303 | thread_id: "main", 304 | }); at /home/runner/work/element-web/element-web/playwright/e2e/read-receipts/read-receipts.spec.ts:301:38
[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] › 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 Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── 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] › 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 Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── 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/dehydration.spec.ts:49:9 › Dehydration › 'Set up secure backup' creates dehydrated device: playwright/e2e/crypto/utils.ts#L327
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:327 325 | await currentDialogLocator.getByRole("button", { name: "Copy", exact: true }).click(); 326 | // copy the recovery key to use it later > 327 | const recoveryKey = await page.evaluate(() => navigator.clipboard.readText()); | ^ 328 | await currentDialogLocator.getByRole("button", { name: "Continue", exact: true }).click(); 329 | 330 | // 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:327: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#L327
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:327 325 | await currentDialogLocator.getByRole("button", { name: "Copy", exact: true }).click(); 326 | // copy the recovery key to use it later > 327 | const recoveryKey = await page.evaluate(() => navigator.clipboard.readText()); | ^ 328 | await currentDialogLocator.getByRole("button", { name: "Continue", exact: true }).click(); 329 | 330 | // 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:327: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#L327
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:327 325 | await currentDialogLocator.getByRole("button", { name: "Copy", exact: true }).click(); 326 | // copy the recovery key to use it later > 327 | const recoveryKey = await page.evaluate(() => navigator.clipboard.readText()); | ^ 328 | await currentDialogLocator.getByRole("button", { name: "Continue", exact: true }).click(); 329 | 330 | // 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:327: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#L327
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:327 325 | await currentDialogLocator.getByRole("button", { name: "Copy", exact: true }).click(); 326 | // copy the recovery key to use it later > 327 | const recoveryKey = await page.evaluate(() => navigator.clipboard.readText()); | ^ 328 | await currentDialogLocator.getByRole("button", { name: "Continue", exact: true }).click(); 329 | 330 | // 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:327: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#L327
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:327 325 | await currentDialogLocator.getByRole("button", { name: "Copy", exact: true }).click(); 326 | // copy the recovery key to use it later > 327 | const recoveryKey = await page.evaluate(() => navigator.clipboard.readText()); | ^ 328 | await currentDialogLocator.getByRole("button", { name: "Continue", exact: true }).click(); 329 | 330 | // 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:327: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#L327
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:327 325 | await currentDialogLocator.getByRole("button", { name: "Copy", exact: true }).click(); 326 | // copy the recovery key to use it later > 327 | const recoveryKey = await page.evaluate(() => navigator.clipboard.readText()); | ^ 328 | await currentDialogLocator.getByRole("button", { name: "Continue", exact: true }).click(); 329 | 330 | // 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:327: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
[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#L327
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:327 325 | await currentDialogLocator.getByRole("button", { name: "Copy", exact: true }).click(); 326 | // copy the recovery key to use it later > 327 | const recoveryKey = await page.evaluate(() => navigator.clipboard.readText()); | ^ 328 | await currentDialogLocator.getByRole("button", { name: "Continue", exact: true }).click(); 329 | 330 | // 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:327: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#L327
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:327 325 | await currentDialogLocator.getByRole("button", { name: "Copy", exact: true }).click(); 326 | // copy the recovery key to use it later > 327 | const recoveryKey = await page.evaluate(() => navigator.clipboard.readText()); | ^ 328 | await currentDialogLocator.getByRole("button", { name: "Continue", exact: true }).click(); 329 | 330 | // 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:327: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#L327
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:327 325 | await currentDialogLocator.getByRole("button", { name: "Copy", exact: true }).click(); 326 | // copy the recovery key to use it later > 327 | const recoveryKey = await page.evaluate(() => navigator.clipboard.readText()); | ^ 328 | await currentDialogLocator.getByRole("button", { name: "Continue", exact: true }).click(); 329 | 330 | // 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:327: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#L327
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:327 325 | await currentDialogLocator.getByRole("button", { name: "Copy", exact: true }).click(); 326 | // copy the recovery key to use it later > 327 | const recoveryKey = await page.evaluate(() => navigator.clipboard.readText()); | ^ 328 | await currentDialogLocator.getByRole("button", { name: "Continue", exact: true }).click(); 329 | 330 | // 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:327: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#L327
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:327 325 | await currentDialogLocator.getByRole("button", { name: "Copy", exact: true }).click(); 326 | // copy the recovery key to use it later > 327 | const recoveryKey = await page.evaluate(() => navigator.clipboard.readText()); | ^ 328 | await currentDialogLocator.getByRole("button", { name: "Continue", exact: true }).click(); 329 | 330 | // 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:327: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#L327
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:327 325 | await currentDialogLocator.getByRole("button", { name: "Copy", exact: true }).click(); 326 | // copy the recovery key to use it later > 327 | const recoveryKey = await page.evaluate(() => navigator.clipboard.readText()); | ^ 328 | await currentDialogLocator.getByRole("button", { name: "Continue", exact: true }).click(); 329 | 330 | // 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:327: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#L327
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:327 325 | await currentDialogLocator.getByRole("button", { name: "Copy", exact: true }).click(); 326 | // copy the recovery key to use it later > 327 | const recoveryKey = await page.evaluate(() => navigator.clipboard.readText()); | ^ 328 | await currentDialogLocator.getByRole("button", { name: "Continue", exact: true }).click(); 329 | 330 | // 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:327:36) at enableKeyBackup (/home/runner/work/element-web/element-web/playwright/e2e/crypto/utils.ts:300: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#L327
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:327 325 | await currentDialogLocator.getByRole("button", { name: "Copy", exact: true }).click(); 326 | // copy the recovery key to use it later > 327 | const recoveryKey = await page.evaluate(() => navigator.clipboard.readText()); | ^ 328 | await currentDialogLocator.getByRole("button", { name: "Continue", exact: true }).click(); 329 | 330 | // 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:327:36) at enableKeyBackup (/home/runner/work/element-web/element-web/playwright/e2e/crypto/utils.ts:300: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#L327
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:327 325 | await currentDialogLocator.getByRole("button", { name: "Copy", exact: true }).click(); 326 | // copy the recovery key to use it later > 327 | const recoveryKey = await page.evaluate(() => navigator.clipboard.readText()); | ^ 328 | await currentDialogLocator.getByRole("button", { name: "Continue", exact: true }).click(); 329 | 330 | // 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:327:36) at enableKeyBackup (/home/runner/work/element-web/element-web/playwright/e2e/crypto/utils.ts:300: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#L327
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:327 325 | await currentDialogLocator.getByRole("button", { name: "Copy", exact: true }).click(); 326 | // copy the recovery key to use it later > 327 | const recoveryKey = await page.evaluate(() => navigator.clipboard.readText()); | ^ 328 | await currentDialogLocator.getByRole("button", { name: "Continue", exact: true }).click(); 329 | 330 | // 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:327:36) at enableKeyBackup (/home/runner/work/element-web/element-web/playwright/e2e/crypto/utils.ts:300:12) at /home/runner/work/element-web/element-web/playwright/e2e/crypto/decryption-failure-messages.spec.ts:57:38
[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 44 × 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 34 × 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 - waiting for element to be visible and stable - element is visible and stable - scrolling into view if needed 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 36 × 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 38 × 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 #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 47 × 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 - waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling 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: [Dendrite] › pinned-messages/pinned-messages.spec.ts#L1
[Dendrite] › pinned-messages/pinned-messages.spec.ts took 41.3s
Slow Test: [Pinecone] › pinned-messages/pinned-messages.spec.ts#L1
[Pinecone] › pinned-messages/pinned-messages.spec.ts took 42.2s
Slow Test: [Pinecone] › right-panel/right-panel.spec.ts#L1
[Pinecone] › right-panel/right-panel.spec.ts took 19.3s
Slow Test: [Pinecone] › settings/encryption-user-tab/encryption-tab.spec.ts#L1
[Pinecone] › settings/encryption-user-tab/encryption-tab.spec.ts took 16.4s
Slow Test: [Dendrite] › right-panel/right-panel.spec.ts#L1
[Dendrite] › right-panel/right-panel.spec.ts took 19.2s
Slow Test: [Dendrite] › read-receipts/room-list-order.spec.ts#L1
[Dendrite] › read-receipts/room-list-order.spec.ts took 16.6s
Slow Test: [Dendrite] › settings/encryption-user-tab/encryption-tab.spec.ts#L1
[Dendrite] › settings/encryption-user-tab/encryption-tab.spec.ts took 16.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 42.8s
Slow Test: [Pinecone] › timeline/timeline.spec.ts#L1
[Pinecone] › timeline/timeline.spec.ts took 1.0m
Slow Test: [Pinecone] › sliding-sync/sliding-sync.spec.ts#L1
[Pinecone] › sliding-sync/sliding-sync.spec.ts took 42.9s
Slow Test: [Pinecone] › messages/messages.spec.ts#L1
[Pinecone] › messages/messages.spec.ts took 48.6s
Slow Test: [Pinecone] › crypto/event-shields.spec.ts#L1
[Pinecone] › crypto/event-shields.spec.ts took 46.4s
Slow Test: [Pinecone] › audio-player/audio-player.spec.ts#L1
[Pinecone] › audio-player/audio-player.spec.ts took 32.2s
Slow Test: [Pinecone] › composer/RTE.spec.ts#L1
[Pinecone] › composer/RTE.spec.ts took 30.7s
Slow Test: [Pinecone] › crypto/device-verification.spec.ts#L1
[Pinecone] › crypto/device-verification.spec.ts took 21.1s
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 43.7s
Slow Test: [Dendrite] › audio-player/audio-player.spec.ts#L1
[Dendrite] › audio-player/audio-player.spec.ts took 31.2s
Slow Test: [Dendrite] › composer/RTE.spec.ts#L1
[Dendrite] › composer/RTE.spec.ts took 29.7s
Slow Test: [Dendrite] › crypto/device-verification.spec.ts#L1
[Dendrite] › crypto/device-verification.spec.ts took 20.9s
Slow Test: [Chrome] › read-receipts/high-level.spec.ts#L1
[Chrome] › read-receipts/high-level.spec.ts took 2.7m
Slow Test: [Chrome] › read-receipts/new-messages-in-threads.spec.ts#L1
[Chrome] › read-receipts/new-messages-in-threads.spec.ts took 59.4s
Slow Test: [Chrome] › pinned-messages/pinned-messages.spec.ts#L1
[Chrome] › pinned-messages/pinned-messages.spec.ts took 58.1s
Slow Test: [Chrome] › read-receipts/new-messages-main-timeline.spec.ts#L1
[Chrome] › read-receipts/new-messages-main-timeline.spec.ts took 40.4s
Slow Test: [Chrome] › read-receipts/editing-messages-in-threads.spec.ts#L1
[Chrome] › read-receipts/editing-messages-in-threads.spec.ts took 39.1s
Slow Test: [Chrome] › read-receipts/redactions-in-threads.spec.ts#L1
[Chrome] › read-receipts/redactions-in-threads.spec.ts took 1.5m
Slow Test: [Chrome] › read-receipts/reactions-in-threads.spec.ts#L1
[Chrome] › read-receipts/reactions-in-threads.spec.ts took 47.7s
Slow Test: [Chrome] › read-receipts/read-receipts.spec.ts#L1
[Chrome] › read-receipts/read-receipts.spec.ts took 46.1s
Slow Test: [Chrome] › read-receipts/redactions-thread-roots.spec.ts#L1
[Chrome] › read-receipts/redactions-thread-roots.spec.ts took 30.8s
Slow Test: [Chrome] › right-panel/right-panel.spec.ts#L1
[Chrome] › right-panel/right-panel.spec.ts took 23.7s
Slow Test: [Chrome] › messages/messages.spec.ts#L1
[Chrome] › messages/messages.spec.ts took 57.1s
Slow Test: [Chrome] › crypto/event-shields.spec.ts#L1
[Chrome] › crypto/event-shields.spec.ts took 54.9s
Slow Test: [Chrome] › audio-player/audio-player.spec.ts#L1
[Chrome] › audio-player/audio-player.spec.ts took 38.7s
Slow Test: [Chrome] › composer/RTE.spec.ts#L1
[Chrome] › composer/RTE.spec.ts took 35.4s
Slow Test: [Chrome] › crypto/crypto.spec.ts#L1
[Chrome] › crypto/crypto.spec.ts took 33.6s
Slow Test: [Chrome] › spotlight/spotlight.spec.ts#L1
[Chrome] › spotlight/spotlight.spec.ts took 2.2m
Slow Test: [Chrome] › timeline/timeline.spec.ts#L1
[Chrome] › timeline/timeline.spec.ts took 1.3m
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.7s
Slow Test: [Chrome] › spaces/spaces.spec.ts#L1
[Chrome] › spaces/spaces.spec.ts took 31.2s
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/high-level.spec.ts#L1
[WebKit] › read-receipts/high-level.spec.ts took 3.1m
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] › pinned-messages/pinned-messages.spec.ts#L1
[WebKit] › pinned-messages/pinned-messages.spec.ts took 1.3m
Slow Test: [WebKit] › read-receipts/new-messages-main-timeline.spec.ts#L1
[WebKit] › read-receipts/new-messages-main-timeline.spec.ts took 55.3s
Slow Test: [WebKit] › read-receipts/editing-messages-main-timeline.spec.ts#L1
[WebKit] › read-receipts/editing-messages-main-timeline.spec.ts took 54.4s
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 59.5s
Slow Test: [WebKit] › read-receipts/redactions-thread-roots.spec.ts#L1
[WebKit] › read-receipts/redactions-thread-roots.spec.ts took 40.2s
Slow Test: [WebKit] › right-panel/right-panel.spec.ts#L1
[WebKit] › right-panel/right-panel.spec.ts took 35.3s
Slow Test: [WebKit] › spotlight/spotlight.spec.ts#L1
[WebKit] › spotlight/spotlight.spec.ts took 2.6m
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 1.0m
Slow Test: [WebKit] › crypto/backups-mas.spec.ts#L1
[WebKit] › crypto/backups-mas.spec.ts took 37.1s
Slow Test: [WebKit] › messages/messages.spec.ts#L1
[WebKit] › messages/messages.spec.ts took 1.6m
Slow Test: [WebKit] › composer/RTE.spec.ts#L1
[WebKit] › composer/RTE.spec.ts took 1.6m
Slow Test: [WebKit] › accessibility/keyboard-navigation.spec.ts#L1
[WebKit] › accessibility/keyboard-navigation.spec.ts took 28.1s
Slow Test: [WebKit] › integration-manager/kick.spec.ts#L1
[WebKit] › integration-manager/kick.spec.ts took 27.3s
Slow Test: [WebKit] › knock/knock-into-room.spec.ts#L1
[WebKit] › knock/knock-into-room.spec.ts took 26.9s
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.8m
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.2m
Slow Test: [Firefox] › read-receipts/redactions-thread-roots.spec.ts#L1
[Firefox] › read-receipts/redactions-thread-roots.spec.ts took 48.6s
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 53.7s
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.4s
Slow Test: [Firefox] › integration-manager/kick.spec.ts#L1
[Firefox] › integration-manager/kick.spec.ts took 38.1s
Slow Test: [Firefox] › knock/knock-into-room.spec.ts#L1
[Firefox] › knock/knock-into-room.spec.ts took 33.6s
🎭 Playwright Run Summary
103 skipped 15 passed (1.0m)
🎭 Playwright Run Summary
103 skipped 15 passed (1.1m)
🎭 Playwright Run Summary
1 flaky [Pinecone] › settings/encryption-user-tab/recovery.spec.ts:54: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:54:9 › Recovery section in Encryption tab › should setup the recovery key @screenshot @no-webkit 61 skipped 56 passed (3.2m)
🎭 Playwright Run Summary
64 skipped 56 passed (3.5m)
🎭 Playwright Run Summary
64 skipped 56 passed (3.6m)
🎭 Playwright Run Summary
33 skipped 91 passed (5.5m)
🎭 Playwright Run Summary
33 skipped 91 passed (5.3m)
🎭 Playwright Run Summary
1 flaky [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 73 passed (9.0m)
🎭 Playwright Run Summary
1 flaky [Chrome] › read-receipts/redactions-main-timeline.spec.ts:142:17 › Read receipts › redactions › in the main timeline › Redacting one of the unread messages reduces the unread count @mergequeue 2 skipped 115 passed (9.0m)
🎭 Playwright Run Summary
1 skipped 123 passed (9.0m)
🎭 Playwright Run Summary
1 flaky [Chrome] › sliding-sync/sliding-sync.spec.ts:365:5 › Sliding Sync › should send unsubscribe_rooms for every room switch 2 skipped 117 passed (12.0m)
🎭 Playwright Run Summary
44 skipped 74 passed (12.5m)
🎭 Playwright Run Summary
44 skipped 74 passed (11.1m)
🎭 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 11 skipped 105 passed (13.5m)
🎭 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 99 passed (15.3m)
🎭 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] › crypto/toasts.spec.ts:44:9 › Key storage out of sync toast › should open settings to reset flow if 'forgot recovery key' pressed [WebKit] › lazy-loading/lazy-loading.spec.ts:126:9 › Lazy Loading › should handle lazy loading properly even when offline 17 skipped 99 passed (15.3m)
🎭 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.9m)
🎭 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 ────── 1 flaky [Firefox] › sliding-sync/sliding-sync.spec.ts:224:5 › Sliding Sync › should show and be able to accept/reject/rescind invites 28 skipped 80 passed (26.3m)
🎭 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:44: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 (26.9m)

Artifacts

Produced during runtime
Name Size
all-blob-reports-Chrome-1 Expired
787 KB
all-blob-reports-Chrome-2 Expired
8.29 MB
all-blob-reports-Chrome-3 Expired
4.15 MB
all-blob-reports-Chrome-4 Expired
4.86 MB
all-blob-reports-Dendrite-1 Expired
288 KB
all-blob-reports-Dendrite-2 Expired
69 KB
all-blob-reports-Dendrite-3 Expired
6.54 MB
all-blob-reports-Dendrite-4 Expired
562 KB
all-blob-reports-Firefox-1 Expired
78 MB
all-blob-reports-Firefox-2 Expired
395 KB
all-blob-reports-Firefox-3 Expired
61.2 MB
all-blob-reports-Firefox-4 Expired
71.2 MB
all-blob-reports-Pinecone-1 Expired
289 KB
all-blob-reports-Pinecone-2 Expired
69.5 KB
all-blob-reports-Pinecone-3 Expired
6.43 MB
all-blob-reports-Pinecone-4 Expired
570 KB
all-blob-reports-WebKit-1 Expired
55.1 MB
all-blob-reports-WebKit-2 Expired
394 KB
all-blob-reports-WebKit-3 Expired
20.8 MB
all-blob-reports-WebKit-4 Expired
20.2 MB
html-report
304 MB
webapp Expired
26.9 MB