Skip to content

feat(tab-bar): add hideOnScroll for ionic theme #18984

feat(tab-bar): add hideOnScroll for ionic theme

feat(tab-bar): add hideOnScroll for ionic theme #18984

Triggered via pull request April 21, 2026 11:08
@IonitronIonitron
synchronize #31085
ROU-12708
Status Success
Total duration 14m 12s
Artifacts 27

build.yml

on: pull_request
build-react
51s
build-react
build-vue
36s
build-vue
Matrix: test-core-screenshot
build-angular
1m 12s
build-angular
build-angular-server
47s
build-angular-server
test-core-clean-build
18s
test-core-clean-build
test-core-lint
53s
test-core-lint
test-core-spec
1m 3s
test-core-spec
build-react-router
35s
build-react-router
build-vue-router
42s
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
4s
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

9 errors and 20 notices
[Mobile Chrome] › src/components/action-sheet/test/a11y/action-sheet.e2e.ts:158:9 › action-sheet: radio buttons - ios/ltr › should navigate radio buttons with keyboard: src/components/action-sheet/test/a11y/action-sheet.e2e.ts#L188
1) [Mobile Chrome] › src/components/action-sheet/test/a11y/action-sheet.e2e.ts:158:9 › action-sheet: radio buttons - ios/ltr › should navigate radio buttons with keyboard Error: expect(received).toBe(expected) // Object.is equality Expected: "Cancel" Received: "Option 1" 186 | 187 | focusedElement = await page.evaluate(() => document.activeElement?.textContent?.trim()); > 188 | expect(focusedElement).toBe('Cancel'); | ^ 189 | }); 190 | }); 191 | }); at /ionic/src/components/action-sheet/test/a11y/action-sheet.e2e.ts:188:30
[Mobile Safari] › src/components/toast/test/swipe-gesture/toast.e2e.ts:58:9 › toast: swipe gesture with bottom position - ios/ltr › should swipe down to dismiss with anchor: src/components/toast/test/swipe-gesture/toast.e2e.ts#L0
2) [Mobile Safari] › src/components/toast/test/swipe-gesture/toast.e2e.ts:58:9 › toast: swipe gesture with bottom position - ios/ltr › should swipe down to dismiss with anchor Test timeout of 30000ms exceeded.
[Mobile Safari] › src/components/toast/test/swipe-gesture/toast.e2e.ts:25:9 › toast: swipe gesture with top position - ios/ltr › should swipe up to dismiss with anchor: src/components/toast/test/swipe-gesture/toast.e2e.ts#L0
1) [Mobile Safari] › src/components/toast/test/swipe-gesture/toast.e2e.ts:25:9 › toast: swipe gesture with top position - ios/ltr › should swipe up to dismiss with anchor Test timeout of 30000ms exceeded.
[Mobile Safari] › src/components/item-sliding/test/shapes/item-sliding.e2e.ts:10:9 › item-sliding: shapes - ionic/md/ltr/light › should not have visual regressions when not expanded: src/components/item-sliding/test/shapes/item-sliding.e2e.ts#L26
1) [Mobile Safari] › src/components/item-sliding/test/shapes/item-sliding.e2e.ts:10:9 › item-sliding: shapes - ionic/md/ltr/light › should not have visual regressions when not expanded Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toHaveScreenshot(expected) failed Locator: locator('#rectangular') 749 pixels (ratio 0.03 of all image pixels) are different. Snapshot: item-sliding-rectangular-ionic-md-ltr-light.png Call log: - Expect "toHaveScreenshot(item-sliding-rectangular-ionic-md-ltr-light.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('#rectangular') - locator resolved to <ion-item-sliding id="rectangular" class="md hydrated item-sliding-active-slide item-sliding-active-options-end item-sliding-active-swipe-end">…</ion-item-sliding> - 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 - 749 pixels (ratio 0.03 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('#rectangular') - locator resolved to <ion-item-sliding id="rectangular" class="md hydrated item-sliding-active-slide item-sliding-active-options-end item-sliding-active-swipe-end">…</ion-item-sliding> - 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 - 749 pixels (ratio 0.03 of all image pixels) are different. 24 | await page.waitForChanges(); 25 | > 26 | await expect(item).toHaveScreenshot(screenshot(`item-sliding-${itemID}`)); | ^ 27 | } 28 | }); 29 | }); at /ionic/src/components/item-sliding/test/shapes/item-sliding.e2e.ts:26:28
[Mobile Safari] › src/components/item-sliding/test/shapes/item-sliding.e2e.ts:10:9 › item-sliding: shapes - ionic/md/ltr/light › should not have visual regressions when not expanded: src/components/item-sliding/test/shapes/item-sliding.e2e.ts#L26
1) [Mobile Safari] › src/components/item-sliding/test/shapes/item-sliding.e2e.ts:10:9 › item-sliding: shapes - ionic/md/ltr/light › should not have visual regressions when not expanded Error: expect(locator).toHaveScreenshot(expected) failed Locator: locator('#rectangular') 749 pixels (ratio 0.03 of all image pixels) are different. Snapshot: item-sliding-rectangular-ionic-md-ltr-light.png Call log: - Expect "toHaveScreenshot(item-sliding-rectangular-ionic-md-ltr-light.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('#rectangular') - locator resolved to <ion-item-sliding id="rectangular" class="md hydrated item-sliding-active-slide item-sliding-active-options-end item-sliding-active-swipe-end">…</ion-item-sliding> - 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 - 749 pixels (ratio 0.03 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('#rectangular') - locator resolved to <ion-item-sliding id="rectangular" class="md hydrated item-sliding-active-slide item-sliding-active-options-end item-sliding-active-swipe-end">…</ion-item-sliding> - 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 - 749 pixels (ratio 0.03 of all image pixels) are different. 24 | await page.waitForChanges(); 25 | > 26 | await expect(item).toHaveScreenshot(screenshot(`item-sliding-${itemID}`)); | ^ 27 | } 28 | }); 29 | }); at /ionic/src/components/item-sliding/test/shapes/item-sliding.e2e.ts:26:28
[Mobile Firefox] › src/components/action-sheet/test/a11y/action-sheet.e2e.ts:158:9 › action-sheet: radio buttons - ios/ltr › should navigate radio buttons with keyboard: src/components/action-sheet/test/a11y/action-sheet.e2e.ts#L188
1) [Mobile Firefox] › src/components/action-sheet/test/a11y/action-sheet.e2e.ts:158:9 › action-sheet: radio buttons - ios/ltr › should navigate radio buttons with keyboard Error: expect(received).toBe(expected) // Object.is equality Expected: "Cancel" Received: "Option 1" 186 | 187 | focusedElement = await page.evaluate(() => document.activeElement?.textContent?.trim()); > 188 | expect(focusedElement).toBe('Cancel'); | ^ 189 | }); 190 | }); 191 | }); at /ionic/src/components/action-sheet/test/a11y/action-sheet.e2e.ts:188:30
[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 Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── 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
[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
[Mobile Safari] › src/components/datetime/test/multiple/datetime.e2e.ts:161:9 › datetime: multiple date selection (functionality) - md/ltr › should scroll to new month when value is updated with multiple dates in the same month: src/components/datetime/test/multiple/datetime.e2e.ts#L174
1) [Mobile Safari] › src/components/datetime/test/multiple/datetime.e2e.ts:161:9 › datetime: multiple date selection (functionality) - md/ltr › should scroll to new month when value is updated with multiple dates in the same month Error: expect(locator).toHaveText(expected) failed Locator: locator('ion-datetime').locator('.calendar-month-year') Expected pattern: /June 2022/ Received string: "May 2022" Timeout: 5000ms Call log: - Expect "toHaveText" with timeout 5000ms - waiting for locator('ion-datetime').locator('.calendar-month-year') 9 × locator resolved to <div class="calendar-month-year">…</div> - unexpected value "May 2022" 172 | 173 | const monthYear = datetime.locator('.calendar-month-year'); > 174 | await expect(monthYear).toHaveText(/June 2022/); | ^ 175 | }); 176 | 177 | test('with buttons, should only update value when confirm is called', async ({ page }) => { at /ionic/src/components/datetime/test/multiple/datetime.e2e.ts:174:31
🎭 Playwright Run Summary
1 flaky [Mobile Chrome] › src/components/action-sheet/test/a11y/action-sheet.e2e.ts:158:9 › action-sheet: radio buttons - ios/ltr › should navigate radio buttons with keyboard 360 skipped 351 passed (3.1m)
🎭 Playwright Run Summary
2 skipped 589 passed (4.1m)
🎭 Playwright Run Summary
2 flaky [Mobile Safari] › src/components/toast/test/swipe-gesture/toast.e2e.ts:25:9 › toast: swipe gesture with top position - ios/ltr › should swipe up to dismiss with anchor [Mobile Safari] › src/components/toast/test/swipe-gesture/toast.e2e.ts:58:9 › toast: swipe gesture with bottom position - ios/ltr › should swipe down to dismiss with anchor 368 skipped 322 passed (4.6m)
🎭 Playwright Run Summary
8 skipped 719 passed (4.6m)
🎭 Playwright Run Summary
1 skipped 712 passed (4.7m)
🎭 Playwright Run Summary
8 skipped 810 passed (4.6m)
🎭 Playwright Run Summary
5 skipped 706 passed (5.2m)
🎭 Playwright Run Summary
14 skipped 520 passed (6.1m)
🎭 Playwright Run Summary
36 skipped 870 passed (6.4m)
🎭 Playwright Run Summary
5 skipped 697 passed (7.0m)
🎭 Playwright Run Summary
10 skipped 713 passed (7.5m)
🎭 Playwright Run Summary
13 skipped 706 passed (8.6m)
🎭 Playwright Run Summary
1 flaky [Mobile Safari] › src/components/item-sliding/test/shapes/item-sliding.e2e.ts:10:9 › item-sliding: shapes - ionic/md/ltr/light › should not have visual regressions when not expanded 5 skipped 698 passed (8.3m)
🎭 Playwright Run Summary
1 skipped 671 passed (8.9m)
🎭 Playwright Run Summary
3 skipped 727 passed (8.9m)
🎭 Playwright Run Summary
1 flaky [Mobile Firefox] › src/components/action-sheet/test/a11y/action-sheet.e2e.ts:158:9 › action-sheet: radio buttons - ios/ltr › should navigate radio buttons with keyboard 4 skipped 745 passed (9.1m)
🎭 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 702 passed (9.3m)
🎭 Playwright Run Summary
1 flaky [Mobile Safari] › src/components/datetime/test/multiple/datetime.e2e.ts:161:9 › datetime: multiple date selection (functionality) - md/ltr › should scroll to new month when value is updated with multiple dates in the same month 13 skipped 699 passed (9.3m)
🎭 Playwright Run Summary
15 skipped 718 passed (10.5m)
🎭 Playwright Run Summary
18 skipped 662 passed (10.8m)

Artifacts

Produced during runtime
Name Size Digest
ionic-angular
818 KB
sha256:88eb3c9806ccdcc44df6ce619e7571cb1cfb0a55256960299c842fd3bb32c6e7
ionic-angular-server
8.55 KB
sha256:4a916dad35ad76ca1e5113fffd137c74f47da3c8237d8555670a1e1de2520e2f
ionic-core
5.13 MB
sha256:64ad95312d4490ec83e790e380f879af31919340d26222a49517fa1567642c82
ionic-react
353 KB
sha256:52d62ecba7e129f5667a0f8595a3bf53534ff369598dbbc89efca55cbe818222
ionic-react-router
27.9 KB
sha256:2d7cf3aa47c0ced961cb9f3e993ad3e7f86743001c3cd235db41cfc8511e9463
ionic-vue
384 KB
sha256:693eae91a8b9a6b19ec7a96e9e22f1d9c03e74c2f58a63a15f488547b49056ca
ionic-vue-router
17.1 KB
sha256:ecff25c66bb82011006ae6e1c5c087e9c9954136d4972a9eeeb96ce447d6b59e
test-results-1-20
1.32 MB
sha256:7dbf22f0bf3f4f8a227a839a7952e141695755103b1295c2c8c1b34ca02c1d83
test-results-10-20
443 KB
sha256:733a4960d40d25f63aa20666f2402cff72c49b65d7cb9dd92797cf42fa06aa6a
test-results-11-20
620 KB
sha256:35bbc936cfb4c29268e641395d7e7d865133c6bd55ebd7171edc1ebdbea78316
test-results-12-20
536 KB
sha256:8bdd6a9634f42a71e5ae4f228c885b5340c7393bfd87abd37c7f163b62801b16
test-results-13-20
548 KB
sha256:a8810adda4fce82a7d765d99e4e41ced8bd073f5d5a7bf9c5720889c6d6dd4ce
test-results-14-20
459 KB
sha256:0f64a015b8d70ac34cb7e2e76d5990415b07827c93513e40f38aa849ecb64068
test-results-15-20
1.28 MB
sha256:ed1b5518aa4123849b30d5b265d4d11cfd16d01cd5bc03993ee34c3f2a0bad95
test-results-16-20
512 KB
sha256:0b7b6e5a944aa1f7ded0c8c4d1da3fe50ec93ce602bbcbc4650b0a8aae0954b6
test-results-17-20
2.38 MB
sha256:a5993e8d1398d50f8b6af91cd152a054e668f49e68b3e912e9b153d468a966bd
test-results-18-20
601 KB
sha256:755272c16ac48a6c35d8511553aa6e0d5dff5a4d517345c3fd079409a1f5fee9
test-results-19-20
499 KB
sha256:6a1d6ba5a2311ab8ee6316c6dd7cc3b3dc2c80bedbccb851f549c35194370f25
test-results-2-20
547 KB
sha256:9d856e0ac4c01d8f5115a4be540fb2336879ac1798d190934efc62054388cf92
test-results-20-20
1.83 MB
sha256:628f30014c94b3ca906d9f35a600e5bfde4832ae35a50650cb0ce01dd53fa8bd
test-results-3-20
502 KB
sha256:cc685d38c162d5a5fa712d2e18e1de918c9f4bc24e3fdd76d650f9910425ec89
test-results-4-20
631 KB
sha256:6a1811d6d125a3a1f5125b4cfb456984a03d96a1ccd4bd86b1f99b5c479fcb56
test-results-5-20
522 KB
sha256:aad0b22bd3e4237e9c022df6e1ec8e727e355f6dcdc24e31a59ee0fb6327ba47
test-results-6-20
1.73 MB
sha256:aa1ca3f1628f4e38090e64ccd53cda3e99142a37a9a0acd783e5e46aab82d7b2
test-results-7-20
1.25 MB
sha256:376404df119888a494abb9748b41cb3febe25226c04e31dcb062927621ebe9b6
test-results-8-20
489 KB
sha256:5e3d3ba3a08da4edf9d138bd9c8fb6dddc83ad2ab34f82e406d56aaf530856e8
test-results-9-20
571 KB
sha256:be7630e7a6fa4ef2e7b85ea3bc0df5c64c159e5db08cfa802fc8e4121bdcee4e