Skip to content

fix(modal): prevent browser hang when using ModalController in Angular #17704

fix(modal): prevent browser hang when using ModalController in Angular

fix(modal): prevent browser hang when using ModalController in Angular #17704

Triggered via pull request December 9, 2025 16:54
@ShaneKShaneK
synchronize #30845
IONIC-60
Status Cancelled
Total duration 9m 59s
Artifacts 26

build.yml

on: pull_request
build-react
49s
build-react
build-vue
40s
build-vue
Matrix: test-core-screenshot
build-angular
1m 3s
build-angular
build-angular-server
33s
build-angular-server
test-core-clean-build
10s
test-core-clean-build
test-core-lint
1m 13s
test-core-lint
test-core-spec
44s
test-core-spec
build-react-router
23s
build-react-router
build-vue-router
39s
build-vue-router
verify-screenshots
2s
verify-screenshots
Matrix: test-angular-e2e
Matrix: test-react-e2e
Matrix: test-react-router-e2e
Matrix: test-vue-e2e
verify-test-angular-e2e
3s
verify-test-angular-e2e
verify-test-react-e2e
3s
verify-test-react-e2e
verify-test-react-router-e2e
2s
verify-test-react-router-e2e
verify-test-vue-e2e
2s
verify-test-vue-e2e
Fit to window
Zoom out
Zoom in

Annotations

8 errors and 19 notices
[Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:130:11 › radio: a11y - md/ltr/dark › radio: keyboard navigation - md/ltr/dark › using arrow keys should move between enabled radios within group: src/components/radio/test/a11y/radio.e2e.ts#L134
1) [Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:130:11 › radio: a11y - md/ltr/dark › radio: keyboard navigation - md/ltr/dark › 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 Safari] › src/components/datetime-button/test/overlays/datetime-button.e2e.ts:11:9 › datetime-button: rendering - ios/ltr › should size the modal correctly: src/components/datetime-button/test/overlays/datetime-button.e2e.ts#L27
1) [Mobile Safari] › src/components/datetime-button/test/overlays/datetime-button.e2e.ts:11:9 › datetime-button: rendering - ios/ltr › should size the modal correctly Error: expect(page).toHaveScreenshot(expected) failed 2329 pixels (ratio 0.01 of all image pixels) are different. Snapshot: datetime-overlay-modal-ios-ltr.png Call log: - Expect "toHaveScreenshot(datetime-overlay-modal-ios-ltr.png)" with timeout 5000ms - verifying given screenshot expectation - taking page screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - 2329 pixels (ratio 0.01 of all image pixels) are different. - waiting 100ms before taking screenshot - taking page screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - captured a stable screenshot - 2329 pixels (ratio 0.01 of all image pixels) are different. 25 | await ionModalDidPresent.next(); 26 | > 27 | await expect(page).toHaveScreenshot(screenshot(`datetime-overlay-modal`)); | ^ 28 | }); 29 | 30 | test('should size the popover correctly', async ({ page, skip }) => { at /ionic/src/components/datetime-button/test/overlays/datetime-button.e2e.ts:27:26
test-core-screenshot (6, 20)
Canceling since a higher priority waiting request for refs/pull/30845/merge exists
test-core-screenshot (2, 20)
Canceling since a higher priority waiting request for refs/pull/30845/merge exists
test-core-screenshot (2, 20)
Process completed with exit code 12.
test-core-screenshot (2, 20)
The operation was canceled.
verify-screenshots
Process completed with exit code 1.
Ionic Framework Build
Canceling since a higher priority waiting request for refs/pull/30845/merge exists
🎭 Playwright Run Summary
216 skipped 259 passed (2.4m)
🎭 Playwright Run Summary
535 passed (3.1m)
🎭 Playwright Run Summary
1 skipped 534 passed (3.2m)
🎭 Playwright Run Summary
4 skipped 511 passed (3.3m)
🎭 Playwright Run Summary
1 skipped 537 passed (3.3m)
🎭 Playwright Run Summary
212 skipped 313 passed (3.5m)
🎭 Playwright Run Summary
1 flaky [Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:130:11 › radio: a11y - md/ltr/dark › radio: keyboard navigation - md/ltr/dark › using arrow keys should move between enabled radios within group 4 skipped 514 passed (3.7m)
🎭 Playwright Run Summary
648 passed (4.3m)
🎭 Playwright Run Summary
10 skipped 503 passed (4.9m)
🎭 Playwright Run Summary
14 skipped 401 passed (5.1m)
🎭 Playwright Run Summary
1 flaky [Mobile Safari] › src/components/datetime-button/test/overlays/datetime-button.e2e.ts:11:9 › datetime-button: rendering - ios/ltr › should size the modal correctly 5 skipped 512 passed (5.2m)
🎭 Playwright Run Summary
1 skipped 538 passed (6.2m)
🎭 Playwright Run Summary
4 skipped 537 passed (6.5m)
🎭 Playwright Run Summary
10 skipped 529 passed (6.5m)
🎭 Playwright Run Summary
1 skipped 528 passed (6.1m)
🎭 Playwright Run Summary
14 skipped 498 passed (6.8m)
🎭 Playwright Run Summary
2 skipped 517 passed (7.0m)
🎭 Playwright Run Summary
5 skipped 518 passed (7.1m)
🎭 Playwright Run Summary
5 skipped 573 passed (7.2m)

Artifacts

Produced during runtime
Name Size Digest
ionic-angular
667 KB
sha256:056622a1de02691f0c4b1cde257fb061b2aa8199b93bc99210ae93c50bedbc15
ionic-angular-server
8.55 KB
sha256:5ed7630f40cdad8ee94e2a40e612328113089502793aeffb47b8b2fcbbc41181
ionic-core
4.57 MB
sha256:68e75da88e50b551a8ab22f577a87f6a8a0c90cc356d8888fee9f23bbb3e3444
ionic-react
211 KB
sha256:cd39ae68d4d1a0c578efab069c723197dc77dc6230f83afe07469e46f48196dc
ionic-react-router
27.9 KB
sha256:f7f2fc7ec0bb864625b660b52fd6544bf06719e8eb849dfcd9a221f5cbd09a4d
ionic-vue
233 KB
sha256:7d60ddf44ebed9da1b5d0fd850cbc1edcfa62e3a842428b060e46040e470c1b4
ionic-vue-router
17 KB
sha256:e20533e5805ecad2f5e25ea3e9e255e2456acee76f499e3b5001f6c89e74667f
test-results-1-20
442 KB
sha256:50bce33eba6e979cddfcfa13f4424525da9837ec1db7cfc03058d712e6a9c085
test-results-10-20
461 KB
sha256:e15073cf1d072f98db6d50bfda647d2afddea068743609948505ffcc24153e76
test-results-11-20
1.25 MB
sha256:d7b98c13457f5ff63001b176f7be8839944a4fc50a085912b16f6497640a1c11
test-results-12-20
443 KB
sha256:53e1fa1f155ac9599a33927f9123d9e3fa753de2860242d3c6e95c598833db15
test-results-13-20
449 KB
sha256:7a39d0057055449e24d9ee5d9d46a1f92c4093dc28863b6b71dccae65a9fb2a8
test-results-14-20
407 KB
sha256:d883a419d5ebd574be1f54048f0e766657f782c07224f1586df281fd8243b9c5
test-results-15-20
430 KB
sha256:120ef9ec96a93cbd7bfe127a120e419054f32712ede6709c30512630cc630489
test-results-16-20
1.43 MB
sha256:a06b518c5d4885921669154a9a253169f5dc0761f6b4967272508aefc8715b15
test-results-17-20
530 KB
sha256:63008798c71c456b54b1025121309a1452f15a5ca9d4eae876d2e6cc84cb7803
test-results-18-20
504 KB
sha256:13d5ae161a304a237e1b48bbde0b2f51830796c9facf753eb7dc30540861d9df
test-results-19-20
396 KB
sha256:07042b27a02614b0038aab21f6202771ddc5a7d9f325ddd560b33f2f7924f1ca
test-results-20-20
359 KB
sha256:351f414c8f8a093e2d0005e075f9fdd7af2f0b5cd7774550dd449f675aab5ce1
test-results-3-20
430 KB
sha256:63f3f2bedf13f16b78ddd7da31bb88454d4869c43833303e5d49e30c3ac5f998
test-results-4-20
521 KB
sha256:3824d7a3398f1fdfddd7aa77dd900b81cc13d26d186e350e05a824b76c54d636
test-results-5-20
456 KB
sha256:60230b25caa584917016ac5a90f19de662814f26c19ecc3a13558e6bede5367d
test-results-6-20
447 KB
sha256:7a2c0b1e542b52bb45cc3dce681b7c0d211b5ed0762e87e1e59bcf9185414adb
test-results-7-20
353 KB
sha256:6c7ba231b7cb5ca340ba1d507283fda7dc93712d40bd9d0d152c76fbd48afbae
test-results-8-20
429 KB
sha256:91221ca2f262449125712d0ddd77cc0400888b0b4668d6006dddc40a3809bfdc
test-results-9-20
437 KB
sha256:67f518efd74e3775dc0eb0987c3d4484233d10260ac552c5e54900a0a6374c53