Skip to content

Improve performance of RoomContext in RoomHeader #2857

Improve performance of RoomContext in RoomHeader

Improve performance of RoomContext in RoomHeader #2857

Re-run triggered December 2, 2024 09:28
Status Success
Total duration 11m 42s
Artifacts 10

end-to-end-tests.yaml

on: pull_request
Build Element-Web
1m 42s
Build Element-Web
Matrix: playwright
end-to-end-tests
33s
end-to-end-tests
Fit to window
Zoom out
Zoom in

Annotations

9 errors, 30 warnings, and 6 notices
read-receipts/editing-messages-in-threads.spec.ts:132:17 › Read receipts › editing messages › in threads › A room where all threaded edits are read is still read after restart: eval at evaluate (:234:30)#L1
1) read-receipts/editing-messages-in-threads.spec.ts:132:17 › Read receipts › editing messages › in threads › A room where all threaded edits are read is still read after restart Error: jsHandle.evaluate: TypeError: Cannot read properties of undefined (reading 'roomId') at eval (eval at evaluate (:234:30), <anonymous>:1:14) at UtilityScript.evaluate (<anonymous>:236:17) at UtilityScript.<anonymous> (<anonymous>:1:44) at eval (/home/runner/work/element-web/element-web/eval at evaluate (:234:30), <anonymous>:1:14) at UtilityScript.evaluate (/home/runner/work/element-web/element-web/<anonymous>:236:17) at UtilityScript.<anonymous> (/home/runner/work/element-web/element-web/<anonymous>:1:44) at Helpers.sendMessageAsClient (/home/runner/work/element-web/element-web/playwright/e2e/read-receipts/index.ts:338:35) at Helpers.receiveMessages (/home/runner/work/element-web/element-web/playwright/e2e/read-receipts/index.ts:582:9) at /home/runner/work/element-web/element-web/playwright/e2e/read-receipts/editing-messages-in-threads.spec.ts:139:17
oidc/oidc-native.spec.ts:21:9 › OIDC Native › can register the oauth2 client and an account: playwright/e2e/oidc/oidc-native.spec.ts#L1
1) oidc/oidc-native.spec.ts:21:9 › OIDC Native › can register the oauth2 client and an account ─── Test timeout of 90000ms exceeded.
oidc/oidc-native.spec.ts:21:9 › OIDC Native › can register the oauth2 client and an account: playwright/e2e/oidc/oidc-native.spec.ts#L23
1) oidc/oidc-native.spec.ts:21:9 › OIDC Native › can register the oauth2 client and an account ─── Error: page.waitForRequest: Test timeout of 90000ms exceeded. 21 | test("can register the oauth2 client and an account", async ({ context, page, homeserver, mailhog, mas }) => { 22 | const tokenUri = `http://localhost:${mas.port}/oauth2/token`; > 23 | const tokenApiPromise = page.waitForRequest( | ^ 24 | (request) => request.url() === tokenUri && request.postDataJSON()["grant_type"] === "authorization_code", 25 | ); 26 | at /home/runner/work/element-web/element-web/playwright/e2e/oidc/oidc-native.spec.ts:23:38
oidc/oidc-native.spec.ts:21:9 › OIDC Native › can register the oauth2 client and an account: playwright/e2e/oidc/oidc-native.spec.ts#L1
1) oidc/oidc-native.spec.ts:21:9 › OIDC Native › can register the oauth2 client and an account ─── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 90000ms exceeded.
oidc/oidc-native.spec.ts:21:9 › OIDC Native › can register the oauth2 client and an account: playwright/e2e/oidc/oidc-native.spec.ts#L23
1) oidc/oidc-native.spec.ts:21:9 › OIDC Native › can register the oauth2 client and an account ─── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: page.waitForRequest: Test timeout of 90000ms exceeded. 21 | test("can register the oauth2 client and an account", async ({ context, page, homeserver, mailhog, mas }) => { 22 | const tokenUri = `http://localhost:${mas.port}/oauth2/token`; > 23 | const tokenApiPromise = page.waitForRequest( | ^ 24 | (request) => request.url() === tokenUri && request.postDataJSON()["grant_type"] === "authorization_code", 25 | ); 26 | at /home/runner/work/element-web/element-web/playwright/e2e/oidc/oidc-native.spec.ts:23:38
oidc/oidc-native.spec.ts:21:9 › OIDC Native › can register the oauth2 client and an account: playwright/e2e/oidc/oidc-native.spec.ts#L28
1) oidc/oidc-native.spec.ts:21:9 › OIDC Native › can register the oauth2 client and an account ─── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: locator.click: Test timeout of 90000ms exceeded. Call log: - waiting for getByRole('button', { name: 'Continue' }) 26 | 27 | await page.goto("/#/login"); > 28 | await page.getByRole("button", { name: "Continue" }).click(); | ^ 29 | await registerAccountMas(page, mailhog.api, "alice", "[email protected]", "Pa$sW0rD!"); 30 | 31 | // Eventually, we should end up at the home screen. at /home/runner/work/element-web/element-web/playwright/e2e/oidc/oidc-native.spec.ts:28:62
spaces/threads-activity-centre/threadsActivityCentre.spec.ts:141:9 › Threads Activity Centre › should mark all threads as read: playwright/e2e/spaces/threads-activity-centre/index.ts#L379
1) spaces/threads-activity-centre/threadsActivityCentre.spec.ts:141:9 › Threads Activity Centre › should mark all threads as read Error: locator.click: Error: strict mode violation: getByLabel('Mark all as read') resolved to 2 elements: 1) <div tabindex="0" role="button" aria-label="Mark all as read" class="mx_AccessibleButton mx_TopUnreadMessagesBar_markAsRead"></div> aka getByRole('main').getByLabel('Mark all as read') 2) <button tabindex="0" role="button" aria-labelledby=":r74:" class="_icon-button_bh2qc_17">…</button> aka locator('#thread-panel').getByLabel('Mark all as read') Call log: - waiting for getByLabel('Mark all as read') at spaces/threads-activity-centre/index.ts:379 377 | */ 378 | clickMarkAllThreadsRead() { > 379 | return this.page.getByLabel("Mark all as read").click(); | ^ 380 | } 381 | } 382 | at Helpers.clickMarkAllThreadsRead (/home/runner/work/element-web/element-web/playwright/e2e/spaces/threads-activity-centre/index.ts:379:57) at /home/runner/work/element-web/element-web/playwright/e2e/spaces/threads-activity-centre/threadsActivityCentre.spec.ts:149:14
spaces/threads-activity-centre/threadsActivityCentre.spec.ts:141:9 › Threads Activity Centre › should mark all threads as read: playwright/e2e/spaces/threads-activity-centre/index.ts#L283
1) spaces/threads-activity-centre/threadsActivityCentre.spec.ts:141:9 › Threads Activity Centre › should mark all threads as read Error: expect(locator).toHaveScreenshot(expected) 39 pixels (ratio 0.04 of all image pixels) are different. Expected: /home/runner/work/element-web/element-web/playwright/snapshots/spaces/threads-activity-centre/threadsActivityCentre.spec.ts/tac-no-indicator-linux.png Received: /home/runner/work/element-web/element-web/playwright/test-results/spaces-threads-activity-ce-ffe63-ld-mark-all-threads-as-read/tac-no-indicator-actual.png Diff: /home/runner/work/element-web/element-web/playwright/test-results/spaces-threads-activity-ce-ffe63-ld-mark-all-threads-as-read/tac-no-indicator-diff.png Call log: - expect.toHaveScreenshot(tac-no-indicator.png) with timeout 5000ms - verifying given screenshot expectation - waiting for getByRole('navigation', { name: 'Spaces' }).getByLabel('Threads') - locator resolved to <button tabindex="0" type="button" role="button" id="radix-:r8:" data-state="closed" aria-label="Threads" aria-haspopup="menu" aria-expanded="false" aria-disabled="false" aria-labelledby=":ra:" data-indicator="success" class="_icon-button_bh2qc_17 mx_ThreadsActivityCentreButton">…</button> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - 39 pixels (ratio 0.04 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for getByRole('navigation', { name: 'Spaces' }).getByLabel('Threads') - locator resolved to <button tabindex="0" type="button" role="button" id="radix-:r8:" data-state="closed" aria-label="Threads" aria-haspopup="menu" aria-expanded="false" aria-disabled="false" aria-labelledby=":ra:" data-indicator="success" class="_icon-button_bh2qc_17 mx_ThreadsActivityCentreButton">…</button> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - captured a stable screenshot - 39 pixels (ratio 0.04 of all image pixels) are different. at spaces/threads-activity-centre/index.ts:283 281 | await expect(this.getTacButton().locator("[data-indicator='success']")).not.toBeVisible(); 282 | await expect(this.getTacButton().locator("[data-indicator='critical']")).not.toBeVisible(); > 283 | await expect(this.getTacButton()).toMatchScreenshot("tac-no-indicator.png"); | ^ 284 | } 285 | 286 | /** at Helpers.assertNoTacIndicator (/home/runner/work/element-web/element-web/playwright/e2e/spaces/threads-activity-centre/index.ts:283:43) at /home/runner/work/element-web/element-web/playwright/e2e/spaces/threads-activity-centre/threadsActivityCentre.spec.ts:151:9
read-receipts/redactions-in-threads.spec.ts:410:17 › Read receipts › redactions › in threads › A thread with a redacted unread is still read after restart: playwright/e2e/read-receipts/index.ts#L446
1) read-receipts/redactions-in-threads.spec.ts:410:17 › Read receipts › redactions › in threads › A thread with a redacted unread is still read after restart Error: Timed out 5000ms waiting for expect(locator).not.toBeVisible() Locator: getByRole('treeitem', { name: /^Room Beta/ }).locator('.mx_NotificationBadge_dot') Expected: not visible Received: visible Call log: - expect.not.toBeVisible with timeout 5000ms - waiting for getByRole('treeitem', { name: /^Room Beta/ }).locator('.mx_NotificationBadge_dot') 8 × locator resolved to <div class="mx_NotificationBadge mx_NotificationBadge_visible mx_NotificationBadge_dot">…</div> - unexpected value "visible" at read-receipts/index.ts:446 444 | async assertRead(room: string | { name: string }) { 445 | const tile = this.getRoomListTile(room); > 446 | await expect(tile.locator(".mx_NotificationBadge_dot")).not.toBeVisible(); | ^ 447 | await expect(tile.locator(".mx_NotificationBadge_count")).not.toBeVisible(); 448 | } 449 | at Helpers.assertRead (/home/runner/work/element-web/element-web/playwright/e2e/read-receipts/index.ts:446:69) at /home/runner/work/element-web/element-web/playwright/e2e/read-receipts/redactions-in-threads.spec.ts:440:28
Slow Test: composer/RTE.spec.ts#L1
composer/RTE.spec.ts took 1.3m
Slow Test: audio-player/audio-player.spec.ts#L1
audio-player/audio-player.spec.ts took 1.3m
Slow Test: crypto/event-shields.spec.ts#L1
crypto/event-shields.spec.ts took 1.1m
Slow Test: read-receipts/high-level.spec.ts#L1
read-receipts/high-level.spec.ts took 3.3m
Slow Test: crypto/crypto.spec.ts#L1
crypto/crypto.spec.ts took 1.1m
Slow Test: crypto/device-verification.spec.ts#L1
crypto/device-verification.spec.ts took 46.3s
Slow Test: read-receipts/new-messages-in-threads.spec.ts#L1
read-receipts/new-messages-in-threads.spec.ts took 1.7m
Slow Test: read-receipts/editing-messages-main-timeline.spec.ts#L1
read-receipts/editing-messages-main-timeline.spec.ts took 1.2m
Slow Test: read-receipts/editing-messages-thread-roots.spec.ts#L1
read-receipts/editing-messages-thread-roots.spec.ts took 54.6s
Slow Test: polls/polls.spec.ts#L1
polls/polls.spec.ts took 45.2s
Slow Test: messages/messages.spec.ts#L1
messages/messages.spec.ts took 2.4m
Slow Test: pinned-messages/pinned-messages.spec.ts#L1
pinned-messages/pinned-messages.spec.ts took 1.7m
Slow Test: login/login.spec.ts#L1
login/login.spec.ts took 1.1m
Slow Test: knock/knock-into-room.spec.ts#L1
knock/knock-into-room.spec.ts took 40.1s
Slow Test: integration-manager/read_events.spec.ts#L1
integration-manager/read_events.spec.ts took 36.8s
Slow Test: timeline/timeline.spec.ts#L1
timeline/timeline.spec.ts took 2.9m
Slow Test: spotlight/spotlight.spec.ts#L1
spotlight/spotlight.spec.ts took 2.3m
Slow Test: threads/threads.spec.ts#L1
threads/threads.spec.ts took 36.5s
Slow Test: user-onboarding/user-onboarding-new.spec.ts#L1
user-onboarding/user-onboarding-new.spec.ts took 35.7s
Slow Test: widgets/widget-pip-close.spec.ts#L1
widgets/widget-pip-close.spec.ts took 23.1s
Slow Test: read-receipts/redactions-main-timeline.spec.ts#L1
read-receipts/redactions-main-timeline.spec.ts took 2.1m
Slow Test: read-receipts/new-messages-main-timeline.spec.ts#L1
read-receipts/new-messages-main-timeline.spec.ts took 1.4m
Slow Test: read-receipts/read-receipts.spec.ts#L1
read-receipts/read-receipts.spec.ts took 1.1m
Slow Test: read-receipts/reactions-in-threads.spec.ts#L1
read-receipts/reactions-in-threads.spec.ts took 59.7s
Slow Test: read-receipts/new-messages-thread-roots.spec.ts#L1
read-receipts/new-messages-thread-roots.spec.ts took 44.7s
Slow Test: read-receipts/redactions-thread-roots.spec.ts#L1
read-receipts/redactions-thread-roots.spec.ts took 1.1m
Slow Test: spaces/spaces.spec.ts#L1
spaces/spaces.spec.ts took 1.1m
Slow Test: right-panel/right-panel.spec.ts#L1
right-panel/right-panel.spec.ts took 58.0s
Slow Test: settings/account-user-settings-tab.spec.ts#L1
settings/account-user-settings-tab.spec.ts took 46.7s
Slow Test: right-panel/file-panel.spec.ts#L1
right-panel/file-panel.spec.ts took 40.6s
🎭 Playwright Run Summary
79 passed (11.7m)
🎭 Playwright Run Summary
1 flaky read-receipts/editing-messages-in-threads.spec.ts:132:17 › Read receipts › editing messages › in threads › A room where all threaded edits are read is still read after restart 32 skipped 45 passed (9.4m)
🎭 Playwright Run Summary
1 flaky oidc/oidc-native.spec.ts:21:9 › OIDC Native › can register the oauth2 client and an account ──── 1 skipped 73 passed (13.5m)
🎭 Playwright Run Summary
1 flaky spaces/threads-activity-centre/threadsActivityCentre.spec.ts:141:9 › Threads Activity Centre › should mark all threads as read 3 skipped 68 passed (10.4m)
🎭 Playwright Run Summary
1 flaky read-receipts/redactions-in-threads.spec.ts:410:17 › Read receipts › redactions › in threads › A thread with a redacted unread is still read after restart 14 skipped 61 passed (10.6m)
🎭 Playwright Run Summary
10 skipped 71 passed (10.0m)

Artifacts

Produced during runtime
Name Size
all-blob-reports-5 Expired
757 KB
html-report Expired
12.8 MB