Skip to content

fix(modal, popover): respect safe area insets on popovers and modals #18274

fix(modal, popover): respect safe area insets on popovers and modals

fix(modal, popover): respect safe area insets on popovers and modals #18274

Triggered via pull request February 13, 2026 19:19
@ShaneKShaneK
synchronize #30949
FW-6830-2
Status Success
Total duration 10m 49s
Artifacts 27

build.yml

on: pull_request
build-react
43s
build-react
build-vue
44s
build-vue
Matrix: test-core-screenshot
build-angular
1m 6s
build-angular
build-angular-server
43s
build-angular-server
test-core-clean-build
14s
test-core-clean-build
test-core-lint
51s
test-core-lint
test-core-spec
44s
test-core-spec
build-react-router
24s
build-react-router
build-vue-router
38s
build-vue-router
verify-screenshots
3s
verify-screenshots
Matrix: test-angular-e2e
Matrix: test-react-e2e
Matrix: test-react-router-e2e
Matrix: test-vue-e2e
verify-test-angular-e2e
2s
verify-test-angular-e2e
verify-test-react-e2e
4s
verify-test-react-e2e
verify-test-react-router-e2e
2s
verify-test-react-router-e2e
verify-test-vue-e2e
3s
verify-test-vue-e2e
Fit to window
Zoom out
Zoom in

Annotations

5 errors and 20 notices
[Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:117:11 › radio: a11y - md/ltr/dark › radio: keyboard navigation - md/ltr/dark › tabbing should switch between radio groups: src/components/radio/test/a11y/radio.e2e.ts#L122
3) [Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:117:11 › radio: a11y - md/ltr/dark › radio: keyboard navigation - md/ltr/dark › tabbing should switch between radio groups Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeFocused() failed Locator: locator('#first-group ion-radio').first() Expected: focused Received: inactive Timeout: 5000ms Call log: - Expect "toBeFocused" with timeout 5000ms - waiting for locator('#first-group ion-radio').first() 9 × locator resolved to <ion-radio value="huey" role="radio" tabindex="0" aria-checked="true" class="md in-item radio-checked radio-label-placement-start hydrated">Huey</ion-radio> - unexpected value "inactive" 120 | 121 | await pageUtils.pressKeys('Tab'); > 122 | await expect(firstGroupRadios.nth(0)).toBeFocused(); | ^ 123 | 124 | await pageUtils.pressKeys('Tab'); 125 | await expect(secondGroupRadios.nth(0)).toBeFocused(); at /ionic/src/components/radio/test/a11y/radio.e2e.ts:122:47
[Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:117:11 › radio: a11y - md/ltr/dark › radio: keyboard navigation - md/ltr/dark › tabbing should switch between radio groups: src/components/radio/test/a11y/radio.e2e.ts#L122
3) [Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:117:11 › radio: a11y - md/ltr/dark › radio: keyboard navigation - md/ltr/dark › tabbing should switch between radio groups Error: expect(locator).toBeFocused() failed Locator: locator('#first-group ion-radio').first() Expected: focused Received: inactive Timeout: 5000ms Call log: - Expect "toBeFocused" with timeout 5000ms - waiting for locator('#first-group ion-radio').first() 9 × locator resolved to <ion-radio value="huey" role="radio" tabindex="0" aria-checked="true" class="md in-item radio-checked radio-label-placement-start hydrated">Huey</ion-radio> - unexpected value "inactive" 120 | 121 | await pageUtils.pressKeys('Tab'); > 122 | await expect(firstGroupRadios.nth(0)).toBeFocused(); | ^ 123 | 124 | await pageUtils.pressKeys('Tab'); 125 | await expect(secondGroupRadios.nth(0)).toBeFocused(); at /ionic/src/components/radio/test/a11y/radio.e2e.ts:122:47
[Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:130:11 › radio: a11y - md/ltr › radio: keyboard navigation - md/ltr › using arrow keys should move between enabled radios within group: src/components/radio/test/a11y/radio.e2e.ts#L134
2) [Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:130:11 › radio: a11y - md/ltr › radio: keyboard navigation - md/ltr › using arrow keys should move between enabled radios within group Error: expect(locator).toBeFocused() failed Locator: locator('#first-group ion-radio').first() Expected: focused Received: inactive Timeout: 5000ms Call log: - Expect "toBeFocused" with timeout 5000ms - waiting for locator('#first-group ion-radio').first() 9 × locator resolved to <ion-radio value="huey" role="radio" tabindex="0" aria-checked="true" class="md in-item radio-checked radio-label-placement-start hydrated">Huey</ion-radio> - unexpected value "inactive" 132 | 133 | await pageUtils.pressKeys('Tab'); > 134 | await expect(firstGroupRadios.nth(0)).toBeFocused(); | ^ 135 | 136 | await page.keyboard.press('ArrowDown'); 137 | await expect(firstGroupRadios.nth(1)).toBeFocused(); at /ionic/src/components/radio/test/a11y/radio.e2e.ts:134:47
[Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:117:11 › radio: a11y - md/ltr › radio: keyboard navigation - md/ltr › tabbing should switch between radio groups: src/components/radio/test/a11y/radio.e2e.ts#L122
1) [Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:117:11 › radio: a11y - md/ltr › radio: keyboard navigation - md/ltr › tabbing should switch between radio groups Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeFocused() failed Locator: locator('#first-group ion-radio').first() Expected: focused Received: inactive Timeout: 5000ms Call log: - Expect "toBeFocused" with timeout 5000ms - waiting for locator('#first-group ion-radio').first() 9 × locator resolved to <ion-radio value="huey" role="radio" tabindex="0" aria-checked="true" class="md in-item radio-checked radio-label-placement-start hydrated">Huey</ion-radio> - unexpected value "inactive" 120 | 121 | await pageUtils.pressKeys('Tab'); > 122 | await expect(firstGroupRadios.nth(0)).toBeFocused(); | ^ 123 | 124 | await pageUtils.pressKeys('Tab'); 125 | await expect(secondGroupRadios.nth(0)).toBeFocused(); at /ionic/src/components/radio/test/a11y/radio.e2e.ts:122:47
[Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:117:11 › radio: a11y - md/ltr › radio: keyboard navigation - md/ltr › tabbing should switch between radio groups: src/components/radio/test/a11y/radio.e2e.ts#L122
1) [Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:117:11 › radio: a11y - md/ltr › radio: keyboard navigation - md/ltr › tabbing should switch between radio groups Error: expect(locator).toBeFocused() failed Locator: locator('#first-group ion-radio').first() Expected: focused Received: inactive Timeout: 5000ms Call log: - Expect "toBeFocused" with timeout 5000ms - waiting for locator('#first-group ion-radio').first() 9 × locator resolved to <ion-radio value="huey" role="radio" tabindex="0" aria-checked="true" class="md in-item radio-checked radio-label-placement-start hydrated">Huey</ion-radio> - unexpected value "inactive" 120 | 121 | await pageUtils.pressKeys('Tab'); > 122 | await expect(firstGroupRadios.nth(0)).toBeFocused(); | ^ 123 | 124 | await pageUtils.pressKeys('Tab'); 125 | await expect(secondGroupRadios.nth(0)).toBeFocused(); at /ionic/src/components/radio/test/a11y/radio.e2e.ts:122:47
🎭 Playwright Run Summary
418 passed (2.7m)
🎭 Playwright Run Summary
216 skipped 318 passed (2.9m)
🎭 Playwright Run Summary
1 skipped 537 passed (3.3m)
🎭 Playwright Run Summary
1 skipped 546 passed (3.5m)
🎭 Playwright Run Summary
212 skipped 317 passed (3.8m)
🎭 Playwright Run Summary
4 skipped 645 passed (4.1m)
🎭 Playwright Run Summary
3 flaky [Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:117:11 › radio: a11y - md/ltr › radio: keyboard navigation - md/ltr › tabbing should switch between radio groups [Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:130:11 › radio: a11y - md/ltr › radio: keyboard navigation - md/ltr › using arrow keys should move between enabled radios within group [Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:117:11 › radio: a11y - md/ltr/dark › radio: keyboard navigation - md/ltr/dark › tabbing should switch between radio groups 4 skipped 522 passed (4.2m)
🎭 Playwright Run Summary
652 passed (4.4m)
🎭 Playwright Run Summary
10 skipped 503 passed (5.0m)
🎭 Playwright Run Summary
14 skipped 403 passed (5.4m)
🎭 Playwright Run Summary
5 skipped 538 passed (5.6m)
🎭 Playwright Run Summary
5 skipped 520 passed (5.9m)
🎭 Playwright Run Summary
10 skipped 541 passed (6.5m)
🎭 Playwright Run Summary
1 skipped 537 passed (6.5m)
🎭 Playwright Run Summary
4 skipped 539 passed (7.2m)
🎭 Playwright Run Summary
2 skipped 517 passed (7.2m)
🎭 Playwright Run Summary
1 skipped 536 passed (7.2m)
🎭 Playwright Run Summary
5 skipped 520 passed (7.6m)
🎭 Playwright Run Summary
14 skipped 522 passed (7.9m)
🎭 Playwright Run Summary
7 skipped 518 passed (8.5m)

Artifacts

Produced during runtime
Name Size Digest
ionic-angular
666 KB
sha256:d8c7539e7f507f7cc5ec36460e8899268faf0b858581ac5a9d95d7bdcdfd0621
ionic-angular-server
8.54 KB
sha256:be684e6b3bcaf90be5e39618ed1f5ccda6b6490a31a46d4584cde5b4c5e2dfec
ionic-core
4.62 MB
sha256:7dcd52bf3a5d25a002a3635b5970bd512969538e140793d7c487f29bddd7e88a
ionic-react
212 KB
sha256:220f325f82033b05cc33e8aa9be19ad6ce7ac8403012e13cf7d6c302f70b315b
ionic-react-router
27.9 KB
sha256:add85b79acbfdf41c634ae95879cde4d048eba515403f5cfe5ded840382165bc
ionic-vue
234 KB
sha256:ac9fdf5538c20802605f904124fd9918a5050b94323a9357407dc6b9a779a372
ionic-vue-router
17.1 KB
sha256:d89c52fa65a113cec3e1db94a1e49815f36eae6936e0f770742e166021a68b18
test-results-1-20
445 KB
sha256:97c30093e14ba42962f42f1e4d7a6bfe6556538c0561f629731061bd1068f71b
test-results-10-20
419 KB
sha256:f10a0a8da00f7cc66629503a0babe89ea03bd2b759ccfcec392a8706172ed844
test-results-11-20
2.72 MB
sha256:273acf3ada3862a7cebee995f746a0625acc624e36723a3c88885eb1a6ee6ef3
test-results-12-20
455 KB
sha256:1792b3363c46aaa9c3f093dc9f45af77f348d142a26e3c42bab8cf667e734d06
test-results-13-20
451 KB
sha256:054418a6fc621001d4c388a896a80d8fca6d87d969105ee5ffe448e6f87e7ba6
test-results-14-20
409 KB
sha256:9235cf4a5445da65f2e2ac64d33887ea89b36dbcd775276aa555594c0af26d1b
test-results-15-20
431 KB
sha256:b1f7553d1b9bfea58ff7df1fc9b4e2e56ee06b7a71906cad60b8d422d95f73c7
test-results-16-20
437 KB
sha256:6d0c65835ed1f6c36521f1767b98e4aa3a35245ee3efa91b1df3f5826199c48f
test-results-17-20
541 KB
sha256:1cc907fce6211a00540fc12e4eaba7dfac569f44a6705d81df27689723160fa8
test-results-18-20
513 KB
sha256:a281f0a1ab349f66f4cbc61058cfec2c8e38bc0904778807f113a406be273d2b
test-results-19-20
396 KB
sha256:a3c1a882f114a4a419e36d588989ad77043a9ef2c2f8df55d776d778be7ecc27
test-results-2-20
478 KB
sha256:4628af1d7717d05faf9a8ef82d188245e8f3fa3b9c23283f8ffba73f64304eb6
test-results-20-20
361 KB
sha256:ac26f62ce5e5fe5bc7787ca2284342b0e2c57f08da2d21da3ec410a3d06fdf23
test-results-3-20
430 KB
sha256:8d93a27c51447eb6c8a53cac27d38a6f6caa953c4b4d7bd6bfb5573ab0ab1be1
test-results-4-20
545 KB
sha256:54ee0b4f2227bc1c003a6ebebc7365e3593ffdddf33757f229e2786ef7f95644
test-results-5-20
460 KB
sha256:b8af7a201b250bef648d264c8f450d4ece6c9122c70ab173e5d5f5e1810996c6
test-results-6-20
431 KB
sha256:d095617dd34274091051ddd9b832a80935de85f797c2b67823f51ac0d9282e11
test-results-7-20
371 KB
sha256:ac85cc71e286ea42bc23884c667ec38bf3d363431877f6e8bb7ebd918376ad0f
test-results-8-20
429 KB
sha256:6a4bb3f81711258dbd376e427aa9c444ddeac5439b0168d2daaa7692a2ab39a8
test-results-9-20
491 KB
sha256:a26acfe3db4dace7d6cc11c5fe1ad1bf341529e11e33e33f3f27482b02b27669