fix(datetime): use ResizeObserver to reliably detect visibility changes #17755
build.yml
on: pull_request
build-core
1m 10s
Matrix: test-core-screenshot
test-core-clean-build
15s
test-core-lint
49s
test-core-spec
51s
verify-screenshots
3s
Matrix: test-angular-e2e
Matrix: test-react-e2e
Matrix: test-react-router-e2e
Matrix: test-vue-e2e
verify-test-angular-e2e
4s
verify-test-react-e2e
2s
verify-test-react-router-e2e
3s
verify-test-vue-e2e
4s
Annotations
29 errors and 18 notices
|
[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
1) [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: expect(locator).toBeFocused() failed
Locator: locator('#first-group ion-radio').first()
Expected: focused
Received: inactive
Timeout: 5000ms
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 Safari] › src/components/datetime-button/test/overlays/datetime-button.e2e.ts:33:9 › datetime-button: rendering - ios/ltr › should size the popover correctly:
src/components/datetime-button/test/overlays/datetime-button.e2e.ts#L51
2) [Mobile Safari] › src/components/datetime-button/test/overlays/datetime-button.e2e.ts:33:9 › datetime-button: rendering - ios/ltr › should size the popover correctly
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: locator.waitFor: Test timeout of 30000ms exceeded.
Call log:
- waiting for locator('ion-datetime.datetime-ready') to be visible
49 |
50 | // Wait for datetime to be ready before taking screenshot
> 51 | await page.locator('ion-datetime.datetime-ready').waitFor();
| ^
52 |
53 | await expect(page).toHaveScreenshot(screenshot(`datetime-overlay-popover`));
54 | });
at /ionic/src/components/datetime-button/test/overlays/datetime-button.e2e.ts:51:57
|
|
[Mobile Safari] › src/components/datetime-button/test/overlays/datetime-button.e2e.ts:33:9 › datetime-button: rendering - ios/ltr › should size the popover correctly:
src/components/datetime-button/test/overlays/datetime-button.e2e.ts#L0
2) [Mobile Safari] › src/components/datetime-button/test/overlays/datetime-button.e2e.ts:33:9 › datetime-button: rendering - ios/ltr › should size the popover correctly
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 30000ms exceeded.
|
|
[Mobile Safari] › src/components/datetime-button/test/overlays/datetime-button.e2e.ts:33:9 › datetime-button: rendering - ios/ltr › should size the popover correctly:
src/components/datetime-button/test/overlays/datetime-button.e2e.ts#L51
2) [Mobile Safari] › src/components/datetime-button/test/overlays/datetime-button.e2e.ts:33:9 › datetime-button: rendering - ios/ltr › should size the popover correctly
Error: locator.waitFor: Test timeout of 30000ms exceeded.
Call log:
- waiting for locator('ion-datetime.datetime-ready') to be visible
49 |
50 | // Wait for datetime to be ready before taking screenshot
> 51 | await page.locator('ion-datetime.datetime-ready').waitFor();
| ^
52 |
53 | await expect(page).toHaveScreenshot(screenshot(`datetime-overlay-popover`));
54 | });
at /ionic/src/components/datetime-button/test/overlays/datetime-button.e2e.ts:51:57
|
|
[Mobile Safari] › src/components/datetime-button/test/overlays/datetime-button.e2e.ts:33:9 › datetime-button: rendering - ios/ltr › should size the popover correctly:
src/components/datetime-button/test/overlays/datetime-button.e2e.ts#L0
2) [Mobile Safari] › src/components/datetime-button/test/overlays/datetime-button.e2e.ts:33:9 › datetime-button: rendering - ios/ltr › should size the popover correctly
Test timeout of 30000ms exceeded.
|
|
[Mobile Safari] › src/components/datetime-button/test/overlays/datetime-button.e2e.ts:11:9 › datetime-button: rendering - ios/ltr › should size the modal correctly:
src/components/datetime-button/test/overlays/datetime-button.e2e.ts#L28
1) [Mobile Safari] › src/components/datetime-button/test/overlays/datetime-button.e2e.ts:11:9 › datetime-button: rendering - ios/ltr › should size the modal correctly
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Error: locator.waitFor: Test timeout of 30000ms exceeded.
Call log:
- waiting for locator('ion-datetime.datetime-ready') to be visible
26 |
27 | // Wait for datetime to be ready before taking screenshot
> 28 | await page.locator('ion-datetime.datetime-ready').waitFor();
| ^
29 |
30 | await expect(page).toHaveScreenshot(screenshot(`datetime-overlay-modal`));
31 | });
at /ionic/src/components/datetime-button/test/overlays/datetime-button.e2e.ts:28:57
|
|
[Mobile Safari] › src/components/datetime-button/test/overlays/datetime-button.e2e.ts:11:9 › datetime-button: rendering - ios/ltr › should size the modal correctly:
src/components/datetime-button/test/overlays/datetime-button.e2e.ts#L0
1) [Mobile Safari] › src/components/datetime-button/test/overlays/datetime-button.e2e.ts:11:9 › datetime-button: rendering - ios/ltr › should size the modal correctly
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 30000ms exceeded.
|
|
[Mobile Safari] › src/components/datetime-button/test/overlays/datetime-button.e2e.ts:11:9 › datetime-button: rendering - ios/ltr › should size the modal correctly:
src/components/datetime-button/test/overlays/datetime-button.e2e.ts#L28
1) [Mobile Safari] › src/components/datetime-button/test/overlays/datetime-button.e2e.ts:11:9 › datetime-button: rendering - ios/ltr › should size the modal correctly
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: locator.waitFor: Test timeout of 30000ms exceeded.
Call log:
- waiting for locator('ion-datetime.datetime-ready') to be visible
26 |
27 | // Wait for datetime to be ready before taking screenshot
> 28 | await page.locator('ion-datetime.datetime-ready').waitFor();
| ^
29 |
30 | await expect(page).toHaveScreenshot(screenshot(`datetime-overlay-modal`));
31 | });
at /ionic/src/components/datetime-button/test/overlays/datetime-button.e2e.ts:28:57
|
|
[Mobile Safari] › src/components/datetime-button/test/overlays/datetime-button.e2e.ts:11:9 › datetime-button: rendering - ios/ltr › should size the modal correctly:
src/components/datetime-button/test/overlays/datetime-button.e2e.ts#L0
1) [Mobile Safari] › src/components/datetime-button/test/overlays/datetime-button.e2e.ts:11:9 › datetime-button: rendering - ios/ltr › should size the modal correctly
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 30000ms exceeded.
|
|
[Mobile Safari] › src/components/datetime-button/test/overlays/datetime-button.e2e.ts:11:9 › datetime-button: rendering - ios/ltr › should size the modal correctly:
src/components/datetime-button/test/overlays/datetime-button.e2e.ts#L28
1) [Mobile Safari] › src/components/datetime-button/test/overlays/datetime-button.e2e.ts:11:9 › datetime-button: rendering - ios/ltr › should size the modal correctly
Error: locator.waitFor: Test timeout of 30000ms exceeded.
Call log:
- waiting for locator('ion-datetime.datetime-ready') to be visible
26 |
27 | // Wait for datetime to be ready before taking screenshot
> 28 | await page.locator('ion-datetime.datetime-ready').waitFor();
| ^
29 |
30 | await expect(page).toHaveScreenshot(screenshot(`datetime-overlay-modal`));
31 | });
at /ionic/src/components/datetime-button/test/overlays/datetime-button.e2e.ts:28:57
|
|
[Mobile Safari] › src/components/datetime-button/test/overlays/datetime-button.e2e.ts:11:9 › datetime-button: rendering - ios/ltr › should size the modal correctly:
src/components/datetime-button/test/overlays/datetime-button.e2e.ts#L0
1) [Mobile Safari] › src/components/datetime-button/test/overlays/datetime-button.e2e.ts:11:9 › datetime-button: rendering - ios/ltr › should size the modal correctly
Test timeout of 30000ms exceeded.
|
|
test-core-screenshot (15, 20)
The strategy configuration was canceled because "test-core-screenshot._16_20" failed
|
|
[Mobile Safari] › src/components/datetime/test/position/datetime.e2e.ts:6:9 › datetime: position - ios/rtl › should position the time picker relative to the click target:
src/components/datetime/test/position/datetime.e2e.ts#L14
2) [Mobile Safari] › src/components/datetime/test/position/datetime.e2e.ts:6:9 › datetime: position - ios/rtl › should position the time picker relative to the click target
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: locator.waitFor: Test timeout of 30000ms exceeded.
Call log:
- waiting for locator('.datetime-ready') to be visible
12 |
13 | await ionPopoverDidPresent.next();
> 14 | await page.locator('.datetime-ready').waitFor();
| ^
15 |
16 | await expect(page).toHaveScreenshot(screenshot(`datetime-position-base`));
17 |
at /ionic/src/components/datetime/test/position/datetime.e2e.ts:14:45
|
|
[Mobile Safari] › src/components/datetime/test/position/datetime.e2e.ts:6:9 › datetime: position - ios/rtl › should position the time picker relative to the click target:
src/components/datetime/test/position/datetime.e2e.ts#L0
2) [Mobile Safari] › src/components/datetime/test/position/datetime.e2e.ts:6:9 › datetime: position - ios/rtl › should position the time picker relative to the click target
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 30000ms exceeded.
|
|
[Mobile Safari] › src/components/datetime/test/position/datetime.e2e.ts:6:9 › datetime: position - ios/rtl › should position the time picker relative to the click target:
src/components/datetime/test/position/datetime.e2e.ts#L14
2) [Mobile Safari] › src/components/datetime/test/position/datetime.e2e.ts:6:9 › datetime: position - ios/rtl › should position the time picker relative to the click target
Error: locator.waitFor: Test timeout of 30000ms exceeded.
Call log:
- waiting for locator('.datetime-ready') to be visible
12 |
13 | await ionPopoverDidPresent.next();
> 14 | await page.locator('.datetime-ready').waitFor();
| ^
15 |
16 | await expect(page).toHaveScreenshot(screenshot(`datetime-position-base`));
17 |
at /ionic/src/components/datetime/test/position/datetime.e2e.ts:14:45
|
|
[Mobile Safari] › src/components/datetime/test/position/datetime.e2e.ts:6:9 › datetime: position - ios/rtl › should position the time picker relative to the click target:
src/components/datetime/test/position/datetime.e2e.ts#L0
2) [Mobile Safari] › src/components/datetime/test/position/datetime.e2e.ts:6:9 › datetime: position - ios/rtl › should position the time picker relative to the click target
Test timeout of 30000ms exceeded.
|
|
[Mobile Safari] › src/components/datetime/test/position/datetime.e2e.ts:6:9 › datetime: position - ios/ltr › should position the time picker relative to the click target:
src/components/datetime/test/position/datetime.e2e.ts#L14
1) [Mobile Safari] › src/components/datetime/test/position/datetime.e2e.ts:6:9 › datetime: position - ios/ltr › should position the time picker relative to the click target
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Error: locator.waitFor: Test timeout of 30000ms exceeded.
Call log:
- waiting for locator('.datetime-ready') to be visible
12 |
13 | await ionPopoverDidPresent.next();
> 14 | await page.locator('.datetime-ready').waitFor();
| ^
15 |
16 | await expect(page).toHaveScreenshot(screenshot(`datetime-position-base`));
17 |
at /ionic/src/components/datetime/test/position/datetime.e2e.ts:14:45
|
|
[Mobile Safari] › src/components/datetime/test/position/datetime.e2e.ts:6:9 › datetime: position - ios/ltr › should position the time picker relative to the click target:
src/components/datetime/test/position/datetime.e2e.ts#L0
1) [Mobile Safari] › src/components/datetime/test/position/datetime.e2e.ts:6:9 › datetime: position - ios/ltr › should position the time picker relative to the click target
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 30000ms exceeded.
|
|
[Mobile Safari] › src/components/datetime/test/position/datetime.e2e.ts:6:9 › datetime: position - ios/ltr › should position the time picker relative to the click target:
src/components/datetime/test/position/datetime.e2e.ts#L14
1) [Mobile Safari] › src/components/datetime/test/position/datetime.e2e.ts:6:9 › datetime: position - ios/ltr › should position the time picker relative to the click target
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: locator.waitFor: Test timeout of 30000ms exceeded.
Call log:
- waiting for locator('.datetime-ready') to be visible
12 |
13 | await ionPopoverDidPresent.next();
> 14 | await page.locator('.datetime-ready').waitFor();
| ^
15 |
16 | await expect(page).toHaveScreenshot(screenshot(`datetime-position-base`));
17 |
at /ionic/src/components/datetime/test/position/datetime.e2e.ts:14:45
|
|
[Mobile Safari] › src/components/datetime/test/position/datetime.e2e.ts:6:9 › datetime: position - ios/ltr › should position the time picker relative to the click target:
src/components/datetime/test/position/datetime.e2e.ts#L0
1) [Mobile Safari] › src/components/datetime/test/position/datetime.e2e.ts:6:9 › datetime: position - ios/ltr › should position the time picker relative to the click target
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 30000ms exceeded.
|
|
[Mobile Safari] › src/components/datetime/test/position/datetime.e2e.ts:6:9 › datetime: position - ios/ltr › should position the time picker relative to the click target:
src/components/datetime/test/position/datetime.e2e.ts#L14
1) [Mobile Safari] › src/components/datetime/test/position/datetime.e2e.ts:6:9 › datetime: position - ios/ltr › should position the time picker relative to the click target
Error: locator.waitFor: Test timeout of 30000ms exceeded.
Call log:
- waiting for locator('.datetime-ready') to be visible
12 |
13 | await ionPopoverDidPresent.next();
> 14 | await page.locator('.datetime-ready').waitFor();
| ^
15 |
16 | await expect(page).toHaveScreenshot(screenshot(`datetime-position-base`));
17 |
at /ionic/src/components/datetime/test/position/datetime.e2e.ts:14:45
|
|
[Mobile Safari] › src/components/datetime/test/position/datetime.e2e.ts:6:9 › datetime: position - ios/ltr › should position the time picker relative to the click target:
src/components/datetime/test/position/datetime.e2e.ts#L0
1) [Mobile Safari] › src/components/datetime/test/position/datetime.e2e.ts:6:9 › datetime: position - ios/ltr › should position the time picker relative to the click target
Test timeout of 30000ms exceeded.
|
|
test-core-screenshot (9, 20)
The strategy configuration was canceled because "test-core-screenshot._16_20" failed
|
|
test-core-screenshot (9, 20)
Process completed with exit code 12.
|
|
test-core-screenshot (9, 20)
The operation was canceled.
|
|
test-core-screenshot (2, 20)
The strategy configuration was canceled because "test-core-screenshot._16_20" failed
|
|
test-core-screenshot (2, 20)
Process completed with exit code 12.
|
|
test-core-screenshot (2, 20)
The operation was canceled.
|
|
verify-screenshots
Process completed with exit code 1.
|
|
🎭 Playwright Run Summary
216 skipped
259 passed (2.3m)
|
|
🎭 Playwright Run Summary
535 passed (3.1m)
|
|
🎭 Playwright Run Summary
1 skipped
537 passed (3.2m)
|
|
🎭 Playwright Run Summary
1 skipped
534 passed (3.2m)
|
|
🎭 Playwright Run Summary
212 skipped
313 passed (3.6m)
|
|
🎭 Playwright Run Summary
1 flaky
[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
514 passed (3.8m)
|
|
🎭 Playwright Run Summary
648 passed (4.4m)
|
|
🎭 Playwright Run Summary
10 skipped
503 passed (5.0m)
|
|
🎭 Playwright Run Summary
14 skipped
401 passed (5.2m)
|
|
🎭 Playwright Run Summary
1 skipped
538 passed (6.0m)
|
|
🎭 Playwright Run Summary
14 skipped
498 passed (6.5m)
|
|
🎭 Playwright Run Summary
10 skipped
529 passed (6.5m)
|
|
🎭 Playwright Run Summary
5 skipped
573 passed (6.4m)
|
|
🎭 Playwright Run Summary
4 skipped
537 passed (6.6m)
|
|
🎭 Playwright Run Summary
1 skipped
528 passed (7.1m)
|
|
🎭 Playwright Run Summary
5 skipped
518 passed (7.2m)
|
|
🎭 Playwright Run Summary
5 failed
[Mobile Safari] › src/components/datetime-button/test/overlays/datetime-button.e2e.ts:11:9 › datetime-button: rendering - ios/ltr › should size the modal correctly
[Mobile Safari] › src/components/datetime-button/test/overlays/datetime-button.e2e.ts:33:9 › datetime-button: rendering - ios/ltr › should size the popover correctly
[Mobile Safari] › src/components/datetime-button/test/overlays/datetime-button.e2e.ts:11:9 › datetime-button: rendering - md/ltr › should size the modal correctly
[Mobile Safari] › src/components/datetime-button/test/overlays/datetime-button.e2e.ts:33:9 › datetime-button: rendering - md/ltr › should size the popover correctly
[Mobile Safari] › src/components/datetime-button/test/overlays/datetime-button.e2e.ts:185:9 › datetime-button: modal - md/ltr › should set datetime ready state and keep calendar interactive when reopening modal
5 skipped
508 passed (12.7m)
|
|
🎭 Playwright Run Summary
4 failed
[Mobile Safari] › src/components/datetime/test/position/datetime.e2e.ts:6:9 › datetime: position - ios/ltr › should position the time picker relative to the click target
[Mobile Safari] › src/components/datetime/test/position/datetime.e2e.ts:6:9 › datetime: position - ios/rtl › should position the time picker relative to the click target
[Mobile Safari] › src/components/datetime/test/position/datetime.e2e.ts:6:9 › datetime: position - md/ltr › should position the time picker relative to the click target
[Mobile Safari] › src/components/datetime/test/position/datetime.e2e.ts:6:9 › datetime: position - md/rtl › should position the time picker relative to the click target
2 skipped
513 passed (13.0m)
|
Artifacts
Produced during runtime
| Name | Size | Digest | |
|---|---|---|---|
|
ionic-angular
|
667 KB |
sha256:44204de81265f22c5a808b80ec882ec051eacfb48de4a1f9e576be6f79e57b35
|
|
|
ionic-angular-server
|
8.54 KB |
sha256:7345e20a3f532a6efc76a197b1a1a54c9596f79ab54891b431aa1506890d53d4
|
|
|
ionic-core
|
4.58 MB |
sha256:a4f0c6a91944bfc8f5de23bc462b7a4f664d5edd5bb76e74cbded91069bfa34b
|
|
|
ionic-react
|
211 KB |
sha256:3a548240accb8b8e98f3f172cec35177ed93792aa2dd5e72a8001218f3f9fbbb
|
|
|
ionic-react-router
|
27.9 KB |
sha256:1a996837ad38f0e02d84665ae1a3371e1c9bd815c3294cfac4ce4ad70828fd67
|
|
|
ionic-vue
|
233 KB |
sha256:8db6751482d105eb5f3a20db76ab0523046545f11d137174a3bf2c1015a4693d
|
|
|
ionic-vue-router
|
17 KB |
sha256:d4cb51af00074c7b9eb0ac56ed661040d7be8ce492a8b9d306b1a5bf455071f0
|
|
|
test-results-1-20
|
442 KB |
sha256:e7af0cfef5ff3748190d5ae461c96edb8881c6ac8e5fbeccd10c6fb8f10b54c9
|
|
|
test-results-10-20
|
460 KB |
sha256:e2f6ade903435a33290c19bbb2d2a63db071f902cc06ef588903d06c4e3ffe99
|
|
|
test-results-11-20
|
1.26 MB |
sha256:4846bc3a96684587baabe7b7a2321a528175316cd1a17f2b230f945ba48f6325
|
|
|
test-results-12-20
|
443 KB |
sha256:5d972c57575af9824a33a1ad21fae8f92f3b8ef75879c961eca7d6e639427ae8
|
|
|
test-results-13-20
|
450 KB |
sha256:a9a116e1667f61ad85387ade8cce6fa8bd50817f1e40eab0f6d14d8092c5ac6e
|
|
|
test-results-14-20
|
407 KB |
sha256:a5c1376a11336e7fb9790264add7d13e0607cdad2d8e9acf4ab538c3a6e792b8
|
|
|
test-results-15-20
|
5.4 MB |
sha256:3947bd2e338070845087c6c9fbcc22da39de41b4a797b74698411ba1e4779dae
|
|
|
test-results-16-20
|
7.12 MB |
sha256:4cf010a6c5607b62a657b83326e02129ccc26121553bd4971950f87069cc16cc
|
|
|
test-results-17-20
|
530 KB |
sha256:510dd1587802e91b06c21d27c63828039ee0b47b1533662db88619118f192f78
|
|
|
test-results-18-20
|
504 KB |
sha256:b1be016471937101b032895f79c4c0a1bc734c504097e38f6dc869563e8ba7c6
|
|
|
test-results-19-20
|
396 KB |
sha256:ad2e68a52d53a2f6f518bc6b7d01ef476ddf28ac71e50839594754bc200fd528
|
|
|
test-results-20-20
|
360 KB |
sha256:2195c12a7f7346c85d468270209b6880d05bc78c91f1845a2937cf2af92021dc
|
|
|
test-results-3-20
|
430 KB |
sha256:d1379c79acd2f66c6d47cd244a6bc70ecc98c79f82a11a60ac8a95e834eafa79
|
|
|
test-results-4-20
|
521 KB |
sha256:e6d37575395f0532f8dfa9d25412c2e0b7fb5d89a2e5a08af5696b3ef152a92b
|
|
|
test-results-5-20
|
457 KB |
sha256:b8de3e9b860396764118fdf3f88fbf51158607086013278b399eddc612238d7c
|
|
|
test-results-6-20
|
446 KB |
sha256:4c4258fa082b37ca50d042e3be74aca3054c04ba0a8b018aeaff04b50ab480ea
|
|
|
test-results-7-20
|
352 KB |
sha256:fdda2b52489269e51ac3f42bf5ca27891507145d725fb5d050c1119e95c69995
|
|
|
test-results-8-20
|
428 KB |
sha256:f6d8e3c1db565b6894c7e01f7b7a98655985db9529aa2ff1c376425a970cf6a5
|
|