Skip to content

fix(core): add fallback handler for hardware back button when no router is present #17817

fix(core): add fallback handler for hardware back button when no router is present

fix(core): add fallback handler for hardware back button when no router is present #17817

Triggered via pull request December 17, 2025 15:59
Status Success
Total duration 12m 54s
Artifacts 27

build.yml

on: pull_request
build-react
45s
build-react
build-vue
45s
build-vue
Matrix: test-core-screenshot
build-angular
1m 7s
build-angular
build-angular-server
42s
build-angular-server
test-core-clean-build
14s
test-core-clean-build
test-core-lint
52s
test-core-lint
test-core-spec
53s
test-core-spec
build-react-router
35s
build-react-router
build-vue-router
39s
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
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
3s
verify-test-vue-e2e
Fit to window
Zoom out
Zoom in

Annotations

2 errors and 20 notices
[Mobile Safari] › src/components/router/test/guards/router.e2e.ts:6:9 › router: guards - ios/ltr › guards should be run on initial load: src/components/router/test/guards/router.e2e.ts#L9
1) [Mobile Safari] › src/components/router/test/guards/router.e2e.ts:6:9 › router: guards - ios/ltr › guards should be run on initial load Error: expect(received).toContain(expected) // indexOf Expected substring: "#/child/1" Received string: "http://localhost:3333/src/components/router/test/guards#/guard-initial-page?ionic:_testing=true&ionic:mode=ios&ionic:theme=ios&rtl=undefined&palette=light" 7 | await page.goto(`/src/components/router/test/guards#/guard-initial-page`, config); 8 | > 9 | expect(page.url()).toContain('#/child/1'); | ^ 10 | }); 11 | }); 12 | }); at /ionic/src/components/router/test/guards/router.e2e.ts:9:26
[Mobile Firefox] › src/components/tab-bar/test/basic/tab-bar.e2e.ts:9:9 › tab-bar: basic - ionic/md/rtl/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/rtl/light › should not have visual regressions Error: expect(locator).toHaveScreenshot(expected) failed Locator: locator('ion-tab-bar') 541 pixels (ratio 0.03 of all image pixels) are different. Snapshot: tab-bar-default-ionic-md-rtl-light.png Call log: - Expect "toHaveScreenshot(tab-bar-default-ionic-md-rtl-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 - 541 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 - 541 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 273 passed (2.3m)
🎭 Playwright Run Summary
368 skipped 308 passed (3.6m)
🎭 Playwright Run Summary
2 skipped 667 passed (3.6m)
🎭 Playwright Run Summary
8 skipped 688 passed (3.8m)
🎭 Playwright Run Summary
1 skipped 676 passed (3.9m)
🎭 Playwright Run Summary
8 skipped 663 passed (4.4m)
🎭 Playwright Run Summary
4 skipped 679 passed (4.7m)
🎭 Playwright Run Summary
36 skipped 824 passed (5.6m)
🎭 Playwright Run Summary
14 skipped 491 passed (6.0m)
🎭 Playwright Run Summary
10 skipped 648 passed (6.5m)
🎭 Playwright Run Summary
5 skipped 681 passed (6.9m)
🎭 Playwright Run Summary
3 skipped 664 passed (7.9m)
🎭 Playwright Run Summary
1 flaky [Mobile Safari] › src/components/router/test/guards/router.e2e.ts:6:9 › router: guards - ios/ltr › guards should be run on initial load 12 skipped 684 passed (8.2m)
🎭 Playwright Run Summary
5 skipped 668 passed (8.7m)
🎭 Playwright Run Summary
1 flaky [Mobile Firefox] › src/components/tab-bar/test/basic/tab-bar.e2e.ts:9:9 › tab-bar: basic - ionic/md/rtl/light › should not have visual regressions 5 skipped 719 passed (8.7m)
🎭 Playwright Run Summary
13 skipped 659 passed (8.9m)
🎭 Playwright Run Summary
1 skipped 656 passed (9.1m)
🎭 Playwright Run Summary
4 skipped 738 passed (9.3m)
🎭 Playwright Run Summary
18 skipped 617 passed (9.3m)
🎭 Playwright Run Summary
14 skipped 682 passed (10.1m)

Artifacts

Produced during runtime
Name Size Digest
ionic-angular
805 KB
sha256:29ccdceee5100fc2cb5bcefdf919a179cf076148e5401136fba3747ce588bb93
ionic-angular-server
8.55 KB
sha256:0a3b28dac139d75c492d4217c3ac6bae319c87becdf2117cec3e3c425b09538a
ionic-core
5.15 MB
sha256:e145079f0a6c8b2f8b2e28ebc42c73643c291a910756675125d4453f01a06785
ionic-react
343 KB
sha256:a3bd889050752fa63acca9eb07a99a2dd9622cf23536e1d04ed136e64cac93df
ionic-react-router
27.9 KB
sha256:13b33d0706c68f6c3c5d2480f4fb2d8b43870112f7413bea6ab1b8b542b6edb3
ionic-vue
373 KB
sha256:2f1fe23e86034dc539794a07b429cbd228470fbd051779d04eb3500ca792e59d
ionic-vue-router
17.1 KB
sha256:6ab5ceaaa9faa20a721d866044ca62f440c26804c48244fa7581f82bd705058d
test-results-1-20
515 KB
sha256:e26d1ba3cc7ab84699a805eb321d93078741bd9dffe0fa49c4e04be09b85e218
test-results-10-20
459 KB
sha256:703cea95b995beec92a36d26822535334174c45ea204c144210d12404b06f7ee
test-results-11-20
598 KB
sha256:d3c2b19a89a1588d4573904486ba87891ab00a0145e08ceac18965b803262adb
test-results-12-20
499 KB
sha256:622a674054c435a153875b9ab538ea28dcc4fe2ee038fa499ed30773f673466c
test-results-13-20
519 KB
sha256:34bdbb61270237ae05bb2f9da681083df69608114faa13e5ea07a91f36e256ea
test-results-14-20
443 KB
sha256:c8718d47589dbad6b204d11e5c889c0154e3da314eee30441cd5c27f06183df9
test-results-15-20
478 KB
sha256:74ce105ae0166e449f05537a8dc0519f157f764c6cf17c3ac15790ec05912b2f
test-results-16-20
493 KB
sha256:cbfe780ff07aa0a58da8337b1a25ac4cde98ad41876695371b7afb5e2a63a802
test-results-17-20
577 KB
sha256:4053963a81c9998dcbef0d2b926c99a45193bee27b2b751f90edcdda72df2e0d
test-results-18-20
1.32 MB
sha256:c54bd8c8be4665402de5f51b33ce463e27be44547dae61538712107cfdd886d4
test-results-19-20
462 KB
sha256:0b058c562b7adacbd006bb282663cc0707db3f8565d5acda23284989a224cf34
test-results-2-20
521 KB
sha256:b484351f4c949334da6140ebceae058b814dd45da0a82e4243e5f0d62e561522
test-results-20-20
360 KB
sha256:c6c55b7da5b90c3afcdc8234af88353f756f46c051b87e0f4a11e7c702ace7d3
test-results-3-20
456 KB
sha256:65f09d8f09fed151efd18051e5fd518c2f62dff4e588ec94a60b84c66e106e14
test-results-4-20
601 KB
sha256:208a005a6e9c448f82dcd40a1f9f77177660aa48c58500ced5bf59e6b95ef501
test-results-5-20
506 KB
sha256:08927d2d1a1fd9ddd1b28ed2a350cf915f09de5e9e2d90e77d9ed8c0b2885550
test-results-6-20
1.3 MB
sha256:ca3a5f8b99a5d183d29e2d2a57e3c1c77558511fcf8100aa0217b14d5a232bb9
test-results-7-20
376 KB
sha256:d30968f207a26667ea744b6d20a4b63ae0636f1cc6f43605803cfd9a0c67a991
test-results-8-20
469 KB
sha256:120ffdd733f70edd04ba5c2410ae15e51746120c3e81692e821d739289dc31f9
test-results-9-20
504 KB
sha256:62bc74dc3eda5a1382adf579d06dba8b5f2614e9591677c7f96ea3a2d112e366