Skip to content

fix(tabs): add fallback to select tab if router integration fails #16800

fix(tabs): add fallback to select tab if router integration fails

fix(tabs): add fallback to select tab if router integration fails #16800

Triggered via pull request August 4, 2025 20:47
Status Success
Total duration 10m 21s
Artifacts 27

build.yml

on: pull_request
build-react
43s
build-react
build-vue
30s
build-vue
Matrix: test-core-screenshot
build-angular
55s
build-angular
build-angular-server
26s
build-angular-server
test-core-clean-build
8s
test-core-clean-build
test-core-lint
45s
test-core-lint
test-core-spec
46s
test-core-spec
build-react-router
25s
build-react-router
build-vue-router
38s
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
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 20 notices
[Mobile Safari] › src/components/input-otp/test/separators/input-otp.e2e.ts:90:9 › input-otp: separators functionality - ios/ltr › should render separators after the second and third input box: src/components/input-otp/test/separators/input-otp.e2e.ts#L99
1) [Mobile Safari] › src/components/input-otp/test/separators/input-otp.e2e.ts:90:9 › input-otp: separators functionality - ios/ltr › should render separators after the second and third input box Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toBe(expected) // Object.is equality Expected: true Received: false 97 | 98 | await expect(await hasSeparatorAfter(page, 0)).toBe(false); > 99 | await expect(await hasSeparatorAfter(page, 1)).toBe(true); | ^ 100 | await expect(await hasSeparatorAfter(page, 2)).toBe(true); 101 | await expect(await hasSeparatorAfter(page, 3)).toBe(false); 102 | }); at /ionic/src/components/input-otp/test/separators/input-otp.e2e.ts:99:54
[Mobile Safari] › src/components/input-otp/test/separators/input-otp.e2e.ts:90:9 › input-otp: separators functionality - ios/ltr › should render separators after the second and third input box: src/components/input-otp/test/separators/input-otp.e2e.ts#L99
1) [Mobile Safari] › src/components/input-otp/test/separators/input-otp.e2e.ts:90:9 › input-otp: separators functionality - ios/ltr › should render separators after the second and third input box Error: expect(received).toBe(expected) // Object.is equality Expected: true Received: false 97 | 98 | await expect(await hasSeparatorAfter(page, 0)).toBe(false); > 99 | await expect(await hasSeparatorAfter(page, 1)).toBe(true); | ^ 100 | await expect(await hasSeparatorAfter(page, 2)).toBe(true); 101 | await expect(await hasSeparatorAfter(page, 3)).toBe(false); 102 | }); at /ionic/src/components/input-otp/test/separators/input-otp.e2e.ts:99:54
[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&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 Safari] › src/components/item/test/inputs/item.e2e.ts:32:9 › disabled state rendering - md/ltr › disabled controls should not have visual regressions: src/components/item/test/inputs/item.e2e.ts#L44
3) [Mobile Safari] › src/components/item/test/inputs/item.e2e.ts:32:9 › disabled state rendering - md/ltr › disabled controls should not have visual regressions Error: expect(page).toHaveScreenshot(expected) 1670 pixels (ratio 0.01 of all image pixels) are different. Snapshot: item-inputs-disabled-md-ltr.png Call log: - Expect "toHaveScreenshot(item-inputs-disabled-md-ltr.png)" with timeout 5000ms - verifying given screenshot expectation - taking page screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - 1670 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 - 1670 pixels (ratio 0.01 of all image pixels) are different. 42 | 43 | await page.setIonViewport(); > 44 | await expect(page).toHaveScreenshot(screenshot(`item-inputs-disabled`)); | ^ 45 | }); 46 | }); 47 | }); at /ionic/src/components/item/test/inputs/item.e2e.ts:44:26
[Mobile Safari] › src/components/item/test/inputs/item.e2e.ts:32:9 › disabled state rendering - ios/ltr › disabled controls should not have visual regressions: src/components/item/test/inputs/item.e2e.ts#L44
2) [Mobile Safari] › src/components/item/test/inputs/item.e2e.ts:32:9 › disabled state rendering - ios/ltr › disabled controls should not have visual regressions Error: expect(page).toHaveScreenshot(expected) 1141 pixels (ratio 0.01 of all image pixels) are different. Snapshot: item-inputs-disabled-ios-ltr.png Call log: - Expect "toHaveScreenshot(item-inputs-disabled-ios-ltr.png)" with timeout 5000ms - verifying given screenshot expectation - taking page screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - 1141 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 - 1141 pixels (ratio 0.01 of all image pixels) are different. 42 | 43 | await page.setIonViewport(); > 44 | await expect(page).toHaveScreenshot(screenshot(`item-inputs-disabled`)); | ^ 45 | }); 46 | }); 47 | }); at /ionic/src/components/item/test/inputs/item.e2e.ts:44:26
[Mobile Safari] › src/components/item/test/inputs/item.e2e.ts:8:9 › item: inputs - md/rtl › should not have visual regressions: src/components/item/test/inputs/item.e2e.ts#L12
1) [Mobile Safari] › src/components/item/test/inputs/item.e2e.ts:8:9 › item: inputs - md/rtl › should not have visual regressions Error: expect(page).toHaveScreenshot(expected) 1772 pixels (ratio 0.01 of all image pixels) are different. Snapshot: item-inputs-md-rtl.png Call log: - Expect "toHaveScreenshot(item-inputs-md-rtl.png)" with timeout 5000ms - verifying given screenshot expectation - taking page screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - 1772 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 - 1772 pixels (ratio 0.01 of all image pixels) are different. 10 | 11 | await page.setIonViewport(); > 12 | await expect(page).toHaveScreenshot(screenshot(`item-inputs`)); | ^ 13 | }); 14 | }); 15 | }); at /ionic/src/components/item/test/inputs/item.e2e.ts:12:26
[Mobile Firefox] › src/components/menu/test/basic/menu.e2e.ts:152:9 › menu: events - md/ltr › should pass role when swiping to close: src/components/menu/test/basic/menu.e2e.ts#L0
1) [Mobile Firefox] › src/components/menu/test/basic/menu.e2e.ts:152:9 › menu: events - md/ltr › should pass role when swiping to close Test timeout of 30000ms exceeded.
[Mobile Safari] › src/components/datetime/test/datetime.e2e.ts:17:9 › datetime: switching months with different number of days - md/ltr › should switch the calendar header when moving to a month with a different number of days: src/components/datetime/test/datetime.e2e.ts#L32
1) [Mobile Safari] › src/components/datetime/test/datetime.e2e.ts:17:9 › datetime: switching months with different number of days - md/ltr › should switch the calendar header when moving to a month with a different number of days Error: Timed out 5000ms waiting for expect(locator).toContainText(expected) Locator: locator('ion-datetime .calendar-month-year') Expected string: "February 2022" Received string: "February 2021" Call log: - Expect "toContainText" with timeout 5000ms - waiting for locator('ion-datetime .calendar-month-year') 9 × locator resolved to <div class="calendar-month-year">…</div> - unexpected value "February 2021" 30 | await page.waitForChanges(); 31 | > 32 | await expect(monthYearToggle).toContainText('February 2022'); | ^ 33 | }); 34 | 35 | test('should adjust the selected day when moving to a month with a different number of days', async ({ page }) => { at /ionic/src/components/datetime/test/datetime.e2e.ts:32:37
🎭 Playwright Run Summary
216 skipped 257 passed (2.3m)
🎭 Playwright Run Summary
407 passed (2.5m)
🎭 Playwright Run Summary
1 skipped 529 passed (3.1m)
🎭 Playwright Run Summary
1 skipped 534 passed (3.2m)
🎭 Playwright Run Summary
212 skipped 303 passed (3.4m)
🎭 Playwright Run Summary
4 skipped 510 passed (3.5m)
🎭 Playwright Run Summary
4 skipped 635 passed (3.6m)
🎭 Playwright Run Summary
638 passed (4.1m)
🎭 Playwright Run Summary
10 skipped 503 passed (4.7m)
🎭 Playwright Run Summary
14 skipped 399 passed (5.0m)
🎭 Playwright Run Summary
1 flaky [Mobile Safari] › src/components/input-otp/test/separators/input-otp.e2e.ts:90:9 › input-otp: separators functionality - ios/ltr › should render separators after the second and third input box 5 skipped 509 passed (5.0m)
🎭 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 10 skipped 525 passed (6.4m)
🎭 Playwright Run Summary
1 skipped 537 passed (6.5m)
🎭 Playwright Run Summary
4 skipped 528 passed (6.8m)
🎭 Playwright Run Summary
3 flaky [Mobile Safari] › src/components/item/test/inputs/item.e2e.ts:8:9 › item: inputs - md/rtl › should not have visual regressions [Mobile Safari] › src/components/item/test/inputs/item.e2e.ts:32:9 › disabled state rendering - ios/ltr › disabled controls should not have visual regressions [Mobile Safari] › src/components/item/test/inputs/item.e2e.ts:32:9 › disabled state rendering - md/ltr › disabled controls should not have visual regressions 5 skipped 512 passed (7.1m)
🎭 Playwright Run Summary
1 skipped 523 passed (7.4m)
🎭 Playwright Run Summary
5 skipped 563 passed (7.4m)
🎭 Playwright Run Summary
1 flaky [Mobile Firefox] › src/components/menu/test/basic/menu.e2e.ts:152:9 › menu: events - md/ltr › should pass role when swiping to close 14 skipped 496 passed (7.5m)
🎭 Playwright Run Summary
1 flaky [Mobile Safari] › src/components/datetime/test/datetime.e2e.ts:17:9 › datetime: switching months with different number of days - md/ltr › should switch the calendar header when moving to a month with a different number of days 2 skipped 508 passed (7.6m)
🎭 Playwright Run Summary
7 skipped 507 passed (8.1m)

Artifacts

Produced during runtime
Name Size Digest
ionic-angular Expired
666 KB
sha256:3fe130d51d89061868ce936a2f282aceb62eb0229978b8b2475b60f05d2618da
ionic-angular-server Expired
8.54 KB
sha256:b060d694603d52a4570b31e457c363aa30a63ebcfd84c431eb12c343d57112b0
ionic-core Expired
4.51 MB
sha256:b387b5b23659347851714f3f5228ba1e9477403c06d984fc72056d4311cf05d4
ionic-react Expired
211 KB
sha256:07d3e7d62ce40b1b136a735c7f3b50f7e61581ffdcc10550378389e2feea4050
ionic-react-router Expired
27.9 KB
sha256:664c1759bb4ded3fef283c47acb1f1317aab20db941664e61a12878706d5cd42
ionic-vue Expired
233 KB
sha256:1c4a674660b36c2d9daaae3bb6d60ebbd3fec71b67d5280fdf431c744df53e0b
ionic-vue-router Expired
17 KB
sha256:0110749261ba71499a0c6c6591f0cd1a245e7654a69e010c7d7162ee626ed3b5
test-results-1-20 Expired
430 KB
sha256:335f3d56ab9928d2c5ede09e7e6d9a25c24279845c277f4a8e0a02fccf3228f7
test-results-10-20 Expired
404 KB
sha256:c2b6c2fc3a307fe58d9242e4c30090c8b3a9ac8ad8bb3e674b6474c5f64d8a6e
test-results-11-20 Expired
491 KB
sha256:72b35e06321ff24108088ef8f71e477ac12cf78e8d9de12ddf14ba30acaef2aa
test-results-12-20 Expired
442 KB
sha256:b67a733858978b8de735b6d89e377d25035a76e1a69dfefca072c57095ef0c79
test-results-13-20 Expired
433 KB
sha256:0598ef38e49b73929152be7029050994ba1b7a2c63af3b7f7a09244fa946b5a0
test-results-14-20 Expired
397 KB
sha256:b273014b745169f1899bc104793b77a68c200a6bce02b507444799641600cbc4
test-results-15-20 Expired
1.28 MB
sha256:f802e0967d7d27a763154361a1511dbd73b38cd27c72d98a8f0f42bb079574c5
test-results-16-20 Expired
1.49 MB
sha256:545635416f27bdf97f0ab2a791075dbafb04b33fb71b6e8d54e71f0ca6ac18aa
test-results-17-20 Expired
2.64 MB
sha256:2834c44176812b91ef8bd048988371df07a5b6b7aaeae2a285c6c6eb2323272b
test-results-18-20 Expired
1.23 MB
sha256:a1efbbc922eee2bfd5bc7d61f20ffd4380bdd954fdb555b7ed59b9c0022c7624
test-results-19-20 Expired
389 KB
sha256:f4754adfd49132894e22ac2ecea09773a98bba3a31d450e4a131ed88176a0cb7
test-results-2-20 Expired
466 KB
sha256:d3f0ca35365147e25db83e726d24ca93554f3f0f32dd1ab8239915108d650f9b
test-results-20-20 Expired
343 KB
sha256:bec9e102d1fe992dda3896ff8a5d460ded0f4e382ed32c40f02021d5d38533df
test-results-3-20 Expired
423 KB
sha256:2c616ee6d9deaf1ab6b2a5aca7c5e62e14a2f7e155f260de58ef0456581a63a6
test-results-4-20 Expired
1.45 MB
sha256:c4db06ab5b560f13953244b963612634be763addb0b044748866773892e76798
test-results-5-20 Expired
451 KB
sha256:3c9966e212ec148090c9cf28a2bbf141416a8ed1e882c5748b2c964f3ab163eb
test-results-6-20 Expired
435 KB
sha256:7483ffd2a257711b143c3a89e1d62091bd4cd81f4286a5341d55a66cf6007bfa
test-results-7-20 Expired
339 KB
sha256:e8ca1b758e1007a5c836d0ef3a045138611da9a474525cb8657e22e1e4340363
test-results-8-20 Expired
416 KB
sha256:86649222be5111d2bad7e797a29588fe7e1775aeba847e8a49ce066e511adc9c
test-results-9-20 Expired
475 KB
sha256:2db3066ad981180c22cd4a5d8801e45ee03cada12f45c072e9cb30fa5a2a98d0