Skip to content

refactor(core): use Capacitor safe-area CSS variables on older WebViews #17838

refactor(core): use Capacitor safe-area CSS variables on older WebViews

refactor(core): use Capacitor safe-area CSS variables on older WebViews #17838

Triggered via pull request December 18, 2025 17:08
Status Success
Total duration 12m 36s
Artifacts 27

build.yml

on: pull_request
build-react
55s
build-react
build-vue
36s
build-vue
Matrix: test-core-screenshot
build-angular
1m 7s
build-angular
build-angular-server
40s
build-angular-server
test-core-clean-build
11s
test-core-clean-build
test-core-lint
1m 8s
test-core-lint
test-core-spec
51s
test-core-spec
build-react-router
33s
build-react-router
build-vue-router
51s
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
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

2 errors and 20 notices
[Mobile Chrome] › src/components/segment/test/segment-events.e2e.ts:10:11 › segment: events: ionChange - ios/ltr › when the segment is activated by keyboard navigation › should emit when there is no initial value: src/components/segment/test/segment-events.e2e.ts#L37
1) [Mobile Chrome] › src/components/segment/test/segment-events.e2e.ts:10:11 › segment: events: ionChange - ios/ltr › when the segment is activated by keyboard navigation › should emit when there is no initial value Error: expect(received).toBe(expected) // Object.is equality Expected: "2" Received: undefined 35 | await page.keyboard.press('Enter'); 36 | > 37 | expect(await segment.evaluate((el: HTMLIonSegmentElement) => el.value)).toBe('2'); | ^ 38 | 39 | expect(ionChangeSpy).toHaveReceivedEventTimes(1); 40 | expect(ionChangeSpy).toHaveReceivedEventDetail({ value: '2' }); at /ionic/src/components/segment/test/segment-events.e2e.ts:37:81
[Mobile Firefox] › src/components/tab-bar/test/basic/tab-bar.e2e.ts:9:9 › tab-bar: basic - ionic/md/ltr/light › should not have visual regressions: src/components/tab-bar/test/basic/tab-bar.e2e.ts#L45
1) [Mobile Firefox] › src/components/tab-bar/test/basic/tab-bar.e2e.ts:9:9 › tab-bar: basic - ionic/md/ltr/light › should not have visual regressions Error: expect(locator).toHaveScreenshot(expected) failed Locator: locator('ion-tab-bar') 533 pixels (ratio 0.03 of all image pixels) are different. Snapshot: tab-bar-default-ionic-md-ltr-light.png Call log: - Expect "toHaveScreenshot(tab-bar-default-ionic-md-ltr-light.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('ion-tab-bar') - locator resolved to <ion-tab-bar role="tablist" selected-tab="2" class="ionic tab-bar-full tab-bar-round hydrated">…</ion-tab-bar> - 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 - 533 pixels (ratio 0.03 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('ion-tab-bar') - locator resolved to <ion-tab-bar role="tablist" selected-tab="2" class="ionic tab-bar-full tab-bar-round hydrated">…</ion-tab-bar> - 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 - 533 pixels (ratio 0.03 of all image pixels) are different. 43 | const tabBar = page.locator('ion-tab-bar'); 44 | > 45 | await expect(tabBar).toHaveScreenshot(screenshot(`tab-bar-default`)); | ^ 46 | }); 47 | }); 48 | }); at /ionic/src/components/tab-bar/test/basic/tab-bar.e2e.ts:45:28
🎭 Playwright Run Summary
360 skipped 277 passed (2.2m)
🎭 Playwright Run Summary
368 skipped 308 passed (3.5m)
🎭 Playwright Run Summary
2 skipped 669 passed (3.7m)
🎭 Playwright Run Summary
8 skipped 688 passed (3.9m)
🎭 Playwright Run Summary
1 flaky [Mobile Chrome] › src/components/segment/test/segment-events.e2e.ts:10:11 › segment: events: ionChange - ios/ltr › when the segment is activated by keyboard navigation › should emit when there is no initial value 1 skipped 675 passed (4.0m)
🎭 Playwright Run Summary
8 skipped 663 passed (4.3m)
🎭 Playwright Run Summary
4 skipped 677 passed (4.6m)
🎭 Playwright Run Summary
36 skipped 824 passed (5.6m)
🎭 Playwright Run Summary
14 skipped 483 passed (6.0m)
🎭 Playwright Run Summary
10 skipped 648 passed (6.7m)
🎭 Playwright Run Summary
5 skipped 681 passed (7.1m)
🎭 Playwright Run Summary
12 skipped 691 passed (8.2m)
🎭 Playwright Run Summary
3 skipped 664 passed (8.3m)
🎭 Playwright Run Summary
13 skipped 671 passed (8.4m)
🎭 Playwright Run Summary
1 flaky [Mobile Firefox] › src/components/tab-bar/test/basic/tab-bar.e2e.ts:9:9 › tab-bar: basic - ionic/md/ltr/light › should not have visual regressions 5 skipped 719 passed (8.6m)
🎭 Playwright Run Summary
5 skipped 662 passed (8.6m)
🎭 Playwright Run Summary
1 skipped 656 passed (8.5m)
🎭 Playwright Run Summary
4 skipped 742 passed (8.9m)
🎭 Playwright Run Summary
18 skipped 617 passed (9.4m)
🎭 Playwright Run Summary
14 skipped 682 passed (9.9m)

Artifacts

Produced during runtime
Name Size Digest
ionic-angular
805 KB
sha256:8b0ed8b67025f99ac0b39ea46d2c89d7a24e522793b9489417286c5faf3afbd9
ionic-angular-server
8.55 KB
sha256:07af92cd8f050c5a8c0a0742b90a1b3121183a9c3385a144447b8c1e3948fa85
ionic-core
5.15 MB
sha256:f229c6c5d399baa632dd6f4b6767a68e5bfd2f9d42eda51ae5bfe47ee1e036b4
ionic-react
343 KB
sha256:96cca18506f19a12c6f537f620ba32fee3f31dfdabdc24613f9b64680ecaf0a8
ionic-react-router
27.9 KB
sha256:c65f144c9ad17e7360102426f139f2e0b2023bd7339422ba7748e1a7cfec9a8b
ionic-vue
374 KB
sha256:6cea39ee8901ae531c86146b1e2f8ae1d4f81a1b4ee39e79234248b40c97d21b
ionic-vue-router
17 KB
sha256:1570eccff34d8e8979a5d0c389abb3d30f312a8b72bafe2736f54db8cc3ed58b
test-results-1-20
516 KB
sha256:9b53142b532636299323be220ef92e23be94f6c2536569f032f820de51857fc9
test-results-10-20
462 KB
sha256:fdd802dcb3eb28febeb041da8089b7be6cd51ede3fbc2d9aec78552ebc50f949
test-results-11-20
595 KB
sha256:94db7bc7507da8e3b9d1e90684ec1928d90a7770dc7ad3ac6a108d8e9763e1f7
test-results-12-20
1.24 MB
sha256:889b2a1500e026ff3b30e65f0d5d6b7d3eaa685f7aa4ba708d20229bb6ee3af4
test-results-13-20
520 KB
sha256:6340bd6c8c684f91c2acba91eccdd183dc4b9b8d43b884a7985a8c4f2fd7fcd7
test-results-14-20
440 KB
sha256:ab8e12b76634da5976094b5fef6fcc207aafe2d4ccb5efdc4c0bc35b0a4630a5
test-results-15-20
481 KB
sha256:237664850d9342595875a53e583f33588bcb5a65da2124a484325ba782320521
test-results-16-20
493 KB
sha256:fb9a554d57a45e973482edb29a72f2deb900614671ca1bd59b5edcc13b8da336
test-results-17-20
571 KB
sha256:91ba325a619e09d16671413e1465c3994392fe0f9538957bf45874ffed9c696b
test-results-18-20
575 KB
sha256:3aa34c5af00dab8665cf07d1fb2791253b94fd63f94239f9626896fb38012da4
test-results-19-20
462 KB
sha256:be0ad166ff756b5501aeb70542de488c3ba77250b1a847b38b0ca03587fe7879
test-results-2-20
521 KB
sha256:0265eb4189fe3cf4b295eb4f0171d817d30bc568a5d3710ba9de8770691762f6
test-results-20-20
360 KB
sha256:9967fc1540035b519910d5379f9fac4714073cb5cb9b49da3f6f565ea4d6ff62
test-results-3-20
457 KB
sha256:f5c3a88e83cd7f7019cfb37208c457e9dc00faa4cd5e9aa0378af48391edae71
test-results-4-20
601 KB
sha256:521c7972ece5c312ea7854e879cfbe2299220b68792d0967514d627cfe105f99
test-results-5-20
505 KB
sha256:7155cf72fcd3a05a4fc84d11676837c216a26bb004fca1921976a5ed26b3b636
test-results-6-20
1.3 MB
sha256:3144f9ce2c4a8b8fb8adbcc5f0698768486c4c73e93cad76cdb9ff0c7b73dc6a
test-results-7-20
377 KB
sha256:8e58cdf871552b732fd0a8604d815a313992c745a492a53f1b60a338a87132ac
test-results-8-20
469 KB
sha256:f175c59751d3c9991bcc3ca1dc725693ea57203ceff1a0b6c3b3a3e1407f42cb
test-results-9-20
503 KB
sha256:c5e0b3b093e15a3cce369c4346b9d29dbb84d4f0e377f1319681bb2346e2a57e