Skip to content

Improve design of incoming call notifications #1460

Improve design of incoming call notifications

Improve design of incoming call notifications #1460

Triggered via pull request April 23, 2026 12:03
Status Failure
Total duration 20m 4s
Artifacts 9

build-and-test.yaml

on: pull_request
Build Element Web
2m 20s
Build Element Web
Prepare Element Desktop  /  Prepare
45s
Prepare Element Desktop / Prepare
Matrix: playwright_ew
Downstream Playwright tests [element-modules]  /  Run Playwright end-to-end tests & upload html report
Downstream Playwright tests [element-modules] / Run Playwright end-to-end tests & upload html report
Matrix: Desktop Linux
Matrix: Desktop Windows
Waiting for pending jobs
Desktop macOS  /  Build macOS Universal
Desktop macOS / Build macOS Universal
Desktop macOS  /  ...  /  test
Desktop macOS / Test macOS Universal / test
end-to-end-tests
42s
end-to-end-tests
Fit to window
Zoom out
Zoom in

Annotations

8 errors, 1 warning, and 5 notices
Run Tests [Chrome] 1/4
Process completed with exit code 1.
[Chrome] › playwright/e2e/accessibility/keyboard-navigation.spec.ts:106:5 › Landmark navigation tests › without an open room: apps/web/playwright/e2e/accessibility/keyboard-navigation.spec.ts#L142
2) [Chrome] › playwright/e2e/accessibility/keyboard-navigation.spec.ts:106:5 › Landmark navigation tests › without an open room Error: expect(locator).toBeFocused() failed Locator: locator('.mx_HomePage') Expected: focused Received: inactive Timeout: 5000ms Call log: - Expect "toBeFocused" with timeout 5000ms - waiting for locator('.mx_HomePage') 7 × locator resolved to <main tabindex="-1" class="mx_AutoHideScrollbar mx_HomePage mx_HomePage_default">…</main> - unexpected value "inactive" 140 | // Pressing Control+F6 again will focus the home section 141 | await page.keyboard.press("ControlOrMeta+F6"); > 142 | await expect(page.locator(".mx_HomePage")).toBeFocused(); | ^ 143 | 144 | // Pressing Control+F6 will bring focus back to the space button 145 | await page.keyboard.press("ControlOrMeta+F6"); at /home/runner/work/element-web/element-web/apps/web/playwright/e2e/accessibility/keyboard-navigation.spec.ts:142:52
[Chrome] › playwright/e2e/crypto/toasts.spec.ts:187:5 › Verify this device toast › The toast is displayed if we are not verified @screenshot: apps/web/playwright/e2e/crypto/toasts.spec.ts#L213
1) [Chrome] › playwright/e2e/crypto/toasts.spec.ts:187:5 › Verify this device toast › The toast is displayed if we are not verified @screenshot Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toHaveScreenshot(expected) failed Locator: locator('.mx_ToastContainer') 1483 pixels (ratio 0.03 of all image pixels) are different. Snapshot: verify-this-device.png Call log: - Expect "toHaveScreenshot(verify-this-device.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('.mx_ToastContainer') - locator resolved to <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - 1483 pixels (ratio 0.03 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('.mx_ToastContainer') - locator resolved to <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - captured a stable screenshot - 1483 pixels (ratio 0.03 of all image pixels) are different. 211 | await expect(page.getByRole("heading", { name: "Verify this device" })).toBeVisible(); 212 | > 213 | await expect(page.locator(".mx_ToastContainer")).toMatchScreenshot( | ^ 214 | "verify-this-device.png", 215 | screenshotOptions, 216 | ); at /home/runner/work/element-web/element-web/apps/web/playwright/e2e/crypto/toasts.spec.ts:213:62
[Chrome] › playwright/e2e/crypto/toasts.spec.ts:187:5 › Verify this device toast › The toast is displayed if we are not verified @screenshot: apps/web/playwright/e2e/crypto/toasts.spec.ts#L213
1) [Chrome] › playwright/e2e/crypto/toasts.spec.ts:187:5 › Verify this device toast › The toast is displayed if we are not verified @screenshot Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toHaveScreenshot(expected) failed Locator: locator('.mx_ToastContainer') 1483 pixels (ratio 0.03 of all image pixels) are different. Snapshot: verify-this-device.png Call log: - Expect "toHaveScreenshot(verify-this-device.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('.mx_ToastContainer') - locator resolved to <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - 1483 pixels (ratio 0.03 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('.mx_ToastContainer') - locator resolved to <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - captured a stable screenshot - 1483 pixels (ratio 0.03 of all image pixels) are different. 211 | await expect(page.getByRole("heading", { name: "Verify this device" })).toBeVisible(); 212 | > 213 | await expect(page.locator(".mx_ToastContainer")).toMatchScreenshot( | ^ 214 | "verify-this-device.png", 215 | screenshotOptions, 216 | ); at /home/runner/work/element-web/element-web/apps/web/playwright/e2e/crypto/toasts.spec.ts:213:62
[Chrome] › playwright/e2e/crypto/toasts.spec.ts:187:5 › Verify this device toast › The toast is displayed if we are not verified @screenshot: apps/web/playwright/e2e/crypto/toasts.spec.ts#L213
1) [Chrome] › playwright/e2e/crypto/toasts.spec.ts:187:5 › Verify this device toast › The toast is displayed if we are not verified @screenshot Error: expect(locator).toHaveScreenshot(expected) failed Locator: locator('.mx_ToastContainer') 1483 pixels (ratio 0.03 of all image pixels) are different. Snapshot: verify-this-device.png Call log: - Expect "toHaveScreenshot(verify-this-device.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('.mx_ToastContainer') - locator resolved to <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - 1483 pixels (ratio 0.03 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('.mx_ToastContainer') - locator resolved to <div role="alert" class="mx_ToastContainer mx_ToastContainer_stacked">…</div> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - captured a stable screenshot - 1483 pixels (ratio 0.03 of all image pixels) are different. 211 | await expect(page.getByRole("heading", { name: "Verify this device" })).toBeVisible(); 212 | > 213 | await expect(page.locator(".mx_ToastContainer")).toMatchScreenshot( | ^ 214 | "verify-this-device.png", 215 | screenshotOptions, 216 | ); at /home/runner/work/element-web/element-web/apps/web/playwright/e2e/crypto/toasts.spec.ts:213:62
[Chrome] › playwright/e2e/oidc/oidc-native.spec.ts:144:9 › OIDC Native › with force_verification on › verify dialog cannot be dismissed @no-firefox @no-webkit @screenshot: apps/web/playwright/e2e/oidc/oidc-native.spec.ts#L173
1) [Chrome] › playwright/e2e/oidc/oidc-native.spec.ts:144:9 › OIDC Native › with force_verification on › verify dialog cannot be dismissed @no-firefox @no-webkit @screenshot Error: expect(locator).toBeVisible() failed Locator: getByText('Confirm your digital identity') Expected: visible Timeout: 10000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 10000ms - waiting for getByText('Confirm your digital identity') 171 | // We should be being warned that we need to verify (but we can't) 172 | // richvdh: Again, Element takes several seconds to load on a dev instance > 173 | await expect(page.getByText("Confirm your digital identity")).toBeVisible({ timeout: 10000 }); | ^ 174 | 175 | // And there should be no way to close this prompt 176 | await expect(page.getByRole("button", { name: "Skip verification for now" })).not.toBeVisible(); at /home/runner/work/element-web/element-web/apps/web/playwright/e2e/oidc/oidc-native.spec.ts:173:75
end-to-end-tests
Process completed with exit code 1.
end-to-end-tests
1 tests failed, skipping stale screenshot reporter.
Desktop Linux (static, amd64, false) / Build Linux amd64 SQLCipher static
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: nbucic/variable-mapper@0673f6891a0619ba7c002ecfed0f9f4f39017b6f. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
🎭 Playwright Run Summary
1 skipped 130 passed (10.4m)
🎭 Playwright Run Summary
1 failed [Chrome] › playwright/e2e/crypto/toasts.spec.ts:187:5 › Verify this device toast › The toast is displayed if we are not verified @screenshot 1 flaky [Chrome] › playwright/e2e/accessibility/keyboard-navigation.spec.ts:106:5 › Landmark navigation tests › without an open room 133 passed (11.3m)
🎭 Playwright Run Summary
3 skipped 130 passed (11.5m)
🎭 Playwright Run Summary
1 skipped 6 passed (25.7s)
🎭 Playwright Run Summary
1 flaky [Chrome] › playwright/e2e/oidc/oidc-native.spec.ts:144:9 › OIDC Native › with force_verification on › verify dialog cannot be dismissed @no-firefox @no-webkit @screenshot 1 skipped 129 passed (15.8m)

Artifacts

Produced during runtime
Name Size Digest
blob-report-Chrome-1
15.2 MB
sha256:3b4f21be7f849da40249c91689406c7df9ed7f63a28da4ffb00c878705f066e5
blob-report-Chrome-2
953 KB
sha256:88ebadf9a7b059c31cb9d40ef69623e38cfc07b7098defee6c1c1038134da807
blob-report-Chrome-3
1.53 MB
sha256:1bfa6da80a5b33b2f47769c69c5594647bae6a865e799d389478898e3476828e
blob-report-Chrome-4
7.32 MB
sha256:0dd6b56420f1a8f1957d899dc39f5a3714d0130b8a9cdd62d2beffb63682fdf2
blob-report-linux-amd64-sqlcipher-static
41.6 KB
sha256:8a3b21b0431cb9b84892d9825bcd8003095b4c77dbafed967982180b9648acb8
desktop-prepare
41.2 MB
sha256:17afee24ab1c037736304141c2738724422f86d3ca42173b08871818558b6dc5
html-report
23.5 MB
sha256:de78a841b4168bf3f2535df75f428280ad0d647e072f77ff951a1a2f6b1f6469
linux-amd64-sqlcipher-static
283 MB
sha256:b1a4026b62a9bcbaadef60fba8c25e00af7824883dbb97228525090374c90bb8
webapp
41.4 MB
sha256:5c42ef54cea4efd81723bc8813799f414c4884da79b406d5f7d27cad870a0f47