Skip to content

fix(modal): dismiss modal when parent element is removed from DOM #16669

fix(modal): dismiss modal when parent element is removed from DOM

fix(modal): dismiss modal when parent element is removed from DOM #16669

Re-run triggered July 13, 2025 22:18
Status Success
Total duration 10m 32s
Artifacts 27

build.yml

on: pull_request
build-react
49s
build-react
build-vue
33s
build-vue
Matrix: test-core-screenshot
build-angular
54s
build-angular
build-angular-server
34s
build-angular-server
test-core-clean-build
11s
test-core-clean-build
test-core-lint
47s
test-core-lint
test-core-spec
44s
test-core-spec
build-react-router
23s
build-react-router
build-vue-router
40s
build-vue-router
verify-screenshots
4s
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
2s
verify-test-react-e2e
verify-test-react-router-e2e
3s
verify-test-react-router-e2e
verify-test-vue-e2e
2s
verify-test-vue-e2e
Fit to window
Zoom out
Zoom in

Annotations

4 errors and 20 notices
[Mobile Chrome] › src/components/datetime/test/locale/datetime.e2e.ts:42:11 › datetime: locale - md/ltr › ja-JP › month/year picker should not have visual regressions: src/components/datetime/test/locale/datetime.e2e.ts#L166
1) [Mobile Chrome] › src/components/datetime/test/locale/datetime.e2e.ts:42:11 › datetime: locale - md/ltr › ja-JP › month/year picker should not have visual regressions Error: expect(locator).toHaveScreenshot(expected) 177 pixels (ratio 0.01 of all image pixels) are different. Expected: /ionic/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-md-ltr-Mobile-Chrome-linux.png Received: /ionic/test-results/src-components-datetime-te-18862-not-have-visual-regressions-Mobile-Chrome/datetime-locale-ja-JP-month-year-diff-md-ltr-actual.png Diff: /ionic/test-results/src-components-datetime-te-18862-not-have-visual-regressions-Mobile-Chrome/datetime-locale-ja-JP-month-year-diff-md-ltr-diff.png Call log: - Expect "toHaveScreenshot(datetime-locale-ja-JP-month-year-diff-md-ltr.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('ion-datetime') - locator resolved to <ion-datetime max="2022" locale="ja-JP" show-default-title="true" presentation="month-year" show-default-buttons="true" value="2022-04-19T04:20:00" class="ion-color ion-color-primary md show-month-and-year datetime-presentation-month-year datetime-size-fixed hydrated datetime-ready">…</ion-datetime> - 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 - 177 pixels (ratio 0.01 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('ion-datetime') - locator resolved to <ion-datetime max="2022" locale="ja-JP" show-default-title="true" presentation="month-year" show-default-buttons="true" value="2022-04-19T04:20:00" class="ion-color ion-color-primary md show-month-and-year datetime-presentation-month-year datetime-size-fixed hydrated datetime-ready">…</ion-datetime> - 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 - 177 pixels (ratio 0.01 of all image pixels) are different. 164 | async expectLocalizedPicker(screenshot: ScreenshotFn, modifier?: string) { 165 | const modifierString = modifier === undefined ? '' : `-${modifier}`; > 166 | await expect(this.datetime).toHaveScreenshot(screenshot(`datetime-locale-${this.locale}${modifierString}-diff`)); | ^ 167 | } 168 | } 169 | at DatetimeLocaleFixture.expectLocalizedPicker (/ionic/src/components/datetime/test/locale/datetime.e2e.ts:166:33) at DatetimeLocaleFixture.expectLocalizedMonthYearPicker (/ionic/src/components/datetime/test/locale/datetime.e2e.ts:157:16) at /ionic/src/components/datetime/test/locale/datetime.e2e.ts:44:31
[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: Timed out 5000ms waiting for expect(locator).toBeFocused() Locator: locator('#first-group ion-radio').first() Expected: focused Received: inactive 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: Timed out 5000ms waiting for expect(locator).toBeFocused() Locator: locator('#first-group ion-radio').first() Expected: focused Received: inactive 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 Error: Timed out 5000ms waiting for expect(locator).toBeFocused() Locator: locator('#first-group ion-radio').first() Expected: focused Received: inactive 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
512 passed (2.9m)
🎭 Playwright Run Summary
216 skipped 303 passed (2.9m)
🎭 Playwright Run Summary
1 flaky [Mobile Chrome] › src/components/datetime/test/locale/datetime.e2e.ts:42:11 › datetime: locale - md/ltr › ja-JP › month/year picker should not have visual regressions 1 skipped 528 passed (3.2m)
🎭 Playwright Run Summary
4 skipped 508 passed (3.3m)
🎭 Playwright Run Summary
542 passed (3.3m)
🎭 Playwright Run Summary
212 skipped 302 passed (3.6m)
🎭 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 512 passed (4.0m)
🎭 Playwright Run Summary
627 passed (4.1m)
🎭 Playwright Run Summary
10 skipped 493 passed (4.8m)
🎭 Playwright Run Summary
14 skipped 375 passed (5.1m)
🎭 Playwright Run Summary
5 skipped 510 passed (5.2m)
🎭 Playwright Run Summary
1 skipped 515 passed (6.0m)
🎭 Playwright Run Summary
5 skipped 506 passed (6.6m)
🎭 Playwright Run Summary
10 skipped 530 passed (6.7m)
🎭 Playwright Run Summary
4 skipped 528 passed (6.8m)
🎭 Playwright Run Summary
524 passed (6.9m)
🎭 Playwright Run Summary
2 skipped 533 passed (7.3m)
🎭 Playwright Run Summary
5 skipped 501 passed (7.2m)
🎭 Playwright Run Summary
14 skipped 510 passed (7.5m)
🎭 Playwright Run Summary
7 skipped 506 passed (8.3m)

Artifacts

Produced during runtime
Name Size Digest
ionic-angular Expired
651 KB
sha256:a3b113859bc390e281a6a6aaa431eba3c3e566df32da6cca0f6b0289edccb5ea
ionic-angular-server Expired
8.55 KB
sha256:37635ea9ea71d657e7df0373af2f15dcaf0aecd20f6ba7a97392b04df5b7f3fa
ionic-core Expired
4.48 MB
sha256:85cdb23ef8832ce2d6b495d8150d4fccf3b807fe1b1de0abda67234c99e4d0b7
ionic-react Expired
200 KB
sha256:f6ade44c129904fae1fae42e02a1f2661de0b2898e9c81ef44c53213c11953de
ionic-react-router Expired
27.9 KB
sha256:37773f97c7368106a0d6e7af97f72b00bf49182901bc97a295d784be06b2da37
ionic-vue Expired
221 KB
sha256:89d4e2c53ac8464a80c746e53f9a31c924b2666ab73a00d64e21729a5f3dae49
ionic-vue-router Expired
17 KB
sha256:c8fadcec4ae45afc6c8c9ca2b5cc7c0a4498447e14a7e686ce48145f081cf623
test-results-1-20 Expired
429 KB
sha256:688f65a26bad0722e0a21dda7b02721b53dc2f175c917ad1d59cbfb6cc129c04
test-results-10-20 Expired
433 KB
sha256:40ef4eec2da25ffdf66b8b38aaa5fb7bc93c0795041c0ad25f706cefc98ef75e
test-results-11-20 Expired
1.98 MB
sha256:e464724a95100a5b756c4b7c32ec35b8172ccafa7538314d8df5b1983f40ffb0
test-results-12-20 Expired
448 KB
sha256:dfac3d5c203028a3abfcf5a440698a74214a3fec8e18cf71da42e9f07135f896
test-results-13-20 Expired
432 KB
sha256:0a1cbdd28091755c13bb2734d5d23d7c34443bf095d3e88ba66b39c5ca782f14
test-results-14-20 Expired
389 KB
sha256:6fa7ba2d70f57560fe9097804ed96b4a759b00eabbfa9be6f9751854df2e8ea8
test-results-15-20 Expired
426 KB
sha256:a40a9f932bc8e5262d525a70eea040ea5dafc11574c0ea2b37c841294e8793c0
test-results-16-20 Expired
419 KB
sha256:0d25ee8a2d381af00b785860b4258395c1d4acc52012940bdbedd12741cdff5d
test-results-17-20 Expired
517 KB
sha256:495643487c0e42c484f32f83345b86817b5a1db9abf66511d08d1e1d7130a2d2
test-results-18-20 Expired
500 KB
sha256:584a6e83fa40fdc1999b9f8c4b323e0a8e8952c2753d82c0d5947c5a86df2864
test-results-19-20 Expired
385 KB
sha256:9036a81fc73142296a0805c2ee2881f37331eaeb569b9ae7a87fcea32f0144a0
test-results-2-20 Expired
465 KB
sha256:0b2669c1fd5b151a3fade0912e9c91bb8b2072d64df7d31bf76d932a9b4129ca
test-results-20-20 Expired
343 KB
sha256:433711e5ec9ed2df00d26366c0fdf2519735154f890ea17565ceea7cffff3c8d
test-results-3-20 Expired
410 KB
sha256:3ba00072168a147d4fdf757e75032968420a3116f60b3b222b1a97eadaefa8a3
test-results-4-20 Expired
526 KB
sha256:da964fbbd12fac1a3c64137a11c3c86a4e21a0adc8cf4457b5549248df204a84
test-results-5-20 Expired
446 KB
sha256:01574b7efbd6cbfabfbd503db9f2e8b81790d384d4f031ee041a06ad25d2b823
test-results-6-20 Expired
418 KB
sha256:dee06550964246150916a05300ec97ba04ebd3651f26994aa6a255183f1dac05
test-results-7-20 Expired
351 KB
sha256:b031734e6fa976f1f7996283560fae02ac253fd094d53ad9db0ebad2b818b2b7
test-results-8-20 Expired
1.21 MB
sha256:b06877cb5d79aa405f1f40478efb4e9b5c396f21cbde6c42e797cf46d51b94ab
test-results-9-20 Expired
427 KB
sha256:4ffede5b5ee3ef803b3d2e05f345ab664ba3c9d359a5d4aade21b7a7cf8b7802