mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2026-03-13 10:22:08 +08:00
875091b9ade6bd75b3beac97b8fb6628616e75ef
13137 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
875091b9ad |
chore(deps): Bump @stencil/core from 4.2.0 to 4.2.1 in /core (#28157)
Bumps [@stencil/core](https://github.com/ionic-team/stencil) from 4.2.0 to 4.2.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ionic-team/stencil/releases"><code>@stencil/core</code>'s releases</a>.</em></p> <blockquote> <h2>😀 v4.2.1 (2023-09-11)</h2> <h3>Bug Fixes</h3> <ul> <li><strong>compiler:</strong> add heritage clauses earlier in native transform (<a href="https://redirect.github.com/ionic-team/stencil/issues/4769">#4769</a>) (<a href=" |
||
|
|
c782c91185 |
chore(deps-dev): Bump @stencil/angular-output-target from 0.7.1 to 0.8.2 in /core (#28149)
Bumps [@stencil/angular-output-target](https://github.com/ionic-team/stencil-ds-output-targets) from 0.7.1 to 0.8.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ionic-team/stencil-ds-output-targets/releases"><code>@stencil/angular-output-target</code>'s releases</a>.</em></p> <blockquote> <h2><code>@stencil/angular-output-target</code><a href="https://github.com/0"><code>@0</code></a>.8.2</h2> <h2>What's Changed</h2> <ul> <li>fix(angular-output-target): rewrite nested generics for custom events by <a href="https://github.com/sean-perkins"><code>@sean-perkins</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-ds-output-targets/pull/371">ionic-team/stencil-ds-output-targets#371</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/ionic-team/stencil-ds-output-targets/compare/@stencil/angular-output-target@0.8.1...@stencil/angular-output-target@0.8.2">https://github.com/ionic-team/stencil-ds-output-targets/compare/<code>@stencil/angular-output-target</code><code>@0.8.1...</code><code>@stencil/angular-output-target</code><code>@0.8.2</code></a></p> <h2><code>@stencil/angular-output-target</code><a href="https://github.com/0"><code>@0</code></a>.8.1</h2> <h2>What's Changed</h2> <ul> <li>fix(angular-output-target): multiple targets do not overwrite each other by <a href="https://github.com/sean-perkins"><code>@sean-perkins</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-ds-output-targets/pull/376">ionic-team/stencil-ds-output-targets#376</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/ionic-team/stencil-ds-output-targets/compare/@stencil/angular-output-target@0.8.0...@stencil/angular-output-target@0.8.1">https://github.com/ionic-team/stencil-ds-output-targets/compare/<code>@stencil/angular-output-target</code><code>@0.8.0...</code><code>@stencil/angular-output-target</code><code>@0.8.1</code></a></p> <h2><code>@stencil/angular-output-target</code><a href="https://github.com/0"><code>@0</code></a>.8.0</h2> <h2>What's Changed</h2> <ul> <li>feat(angular-output-target): generate standalone components by <a href="https://github.com/sean-perkins"><code>@sean-perkins</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-ds-output-targets/pull/367">ionic-team/stencil-ds-output-targets#367</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/ionic-team/stencil-ds-output-targets/compare/@stencil/angular-output-target@0.7.1...@stencil/angular-output-target@0.8.0">https://github.com/ionic-team/stencil-ds-output-targets/compare/<code>@stencil/angular-output-target</code><code>@0.7.1...</code><code>@stencil/angular-output-target</code><code>@0.8.0</code></a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
e0542a7867 |
fix(menu): remove app dir from safe area padding (#28123)
Issue number: internal --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> The `--ion-safe-area-left` and `--ion-safe-area-right` variables in `ion-menu` are being set as if they use the app's direction. It's been determined that safe area is not logical and uses the device's direction. The current implementation is adding padding in the wrong sides for `ion-toolbar` and `ion-content` within a `ion-menu`. Additionally, `ion-menu` does not use the entire screen so the safe area only needs to be applied to the side that is touching the device screen. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Set the `--ion-safe-area-left` and `--ion-safe-area-right` variables to the correct values based on the device's direction. - Padding is only added to the side that is not in the safe area. - `ion-toolbar` is adding `--ion-safe-area-left` and `--ion-safe-area-right` based on the device's direction. - `ion-toolbar` can now inherit the correct values from `--ion-safe-area-left` and `--ion-safe-area-right`. - `ion-content` can now inherit the correct values from `--ion-safe-area-left` and `--ion-safe-area-right`. ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> Dev build: 7.3.4-dev.11694015543.18bc484f |
||
|
|
4b4ad75bf0 |
chore: add error when no new diffs generated (#28132)
Issue number: N/A --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> When the "Update Reference Screenshot" job is run but no new screenshots are generated, the following error is logged: ``` nothing added to commit but untracked files present (use "git add" to track) Error: Process completed with exit code 1. ``` This is happening because there are no files to commit when running `git commit`. Brandy noted that this was confusing since it doesn't actually tell you why there are no files to commit. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - If there are no diffs to commit then the update screenshot script will log a message saying that no screenshot diffs were generated. Example: ``` ⚠️ Error: No new screenshots generated ⚠️ This means that there were zero visual diffs when running screenshot tests. Make sure you have pushed any code changes that would result in visual diffs. ``` https://github.com/ionic-team/ionic-framework/actions/runs/6099399582/job/16552017414 ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> |
||
|
|
3c94cd18eb |
chore(deps): Bump @stencil/core from 4.1.0 to 4.2.0 in /core (#28124)
Bumps [@stencil/core](https://github.com/ionic-team/stencil) from 4.1.0 to 4.2.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ionic-team/stencil/releases"><code>@stencil/core</code>'s releases</a>.</em></p> <blockquote> <h2>🌲 4.2.0 (2023-09-05)</h2> <h3>Bug Fixes</h3> <ul> <li><strong>compiler:</strong> resolve implicit enum types (<a href="https://redirect.github.com/ionic-team/stencil/issues/4739">#4739</a>) (<a href=" |
||
|
|
07ceb836f7 |
merge release-7.3.3
Release 7.3.3 |
||
|
|
7dbce4fc09 | chore(): update package lock files | ||
|
|
3de1dd3c14 | v7.3.3 v7.3.3 | ||
|
|
ea23129e61 |
chore: disable codeflow for pull requests (#28101)
Issue number: N/A --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> Team isn't using the integration. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Disables the Codeflow integration on pull requests ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> |
||
|
|
7b551fd54b |
fix(react): overlay content is shown with hook (#28109)
Issue number: resolves #28102 --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> When one modal is added and another modal is removed, the modal that is removed does not account for the newly added modal when updating the overlay context in React. As a result, the inner contents of the newly added modal is not mounted. We originally tried to fix this in https://github.com/ionic-team/ionic-framework/pull/24553, but the fix was not complete. While storing the latest information in a React ref was correct, the way we updated the ref was done in a way such that data was still stale. In particular, the `overlaysRef` is updated whenever `IonOverlayManager` is re-rendered. State updates are batched, so updating the state twice in quick succession does not necessarily result in 2 separate renders. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - We need to make sure the ref is updated synchronously before any render so that `addOverlay` and `removeOverlay` always have access to the latest data. - Added a test ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> Dev build: `7.3.3-dev.11693592339.18e000af` --------- Co-authored-by: Maria Hutt <thetaPC@users.noreply.github.com> Co-authored-by: Amanda Johnston <90629384+amandaejohnston@users.noreply.github.com> |
||
|
|
176585f446 |
fix(modal): swipe to dismiss resets status bar style (#28110)
Issue number: resolves #28105 --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> When swiping to dismiss the card modal, the status bar style is reset too late. Since we are using 1 animation for the card modal, the dismiss animation is played _then_ the `dismiss` method is called (which resets the status bar style). This means the status bar style is wrong for the duration of the dismiss animation. This does not impact dragging to close the modal such that the status bar changes mid-gesture or calling the `dismiss` method directly -- only quickly swiping to dismiss. Also one of the changes in core/src/components/modal/modal.tsx accidentally changed the modal behavior so that the status bar is changed _after_ the present transition finishes. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - When the card modal is swiped to dismiss the `onDismiss` callback will also reset the status bar style. - When the card modal is presented the status bar is set correctly as the animation begins | `main` | branch | | - | - | | <video src="https://github.com/ionic-team/ionic-framework/assets/2721089/8a18419d-a7ec-4629-8632-62e2ed401912"></video> | <video src="https://github.com/ionic-team/ionic-framework/assets/2721089/62ffcf00-8dbd-4e0c-83a3-5af5d463bccc"></video> | ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> Dev build: `7.3.3-dev.11693592322.138d91e6` |
||
|
|
38c4da3353 |
chore(ci): use node v18 for github actions (#28103)
Issue number: N/A --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> `action/setup-node@v3` shipped a "breaking" change that requires node v18. This breaks our dev build release process. https://github.com/ionic-team/ionic-framework/actions/runs/6044495970/job/16403194005 ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Updates the publish action to use node v18 ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> Here is a successful run with these changes: https://github.com/ionic-team/ionic-framework/actions/runs/6044521110 |
||
|
|
f74ad6300d |
test(progress-bar): remove range from basic screenshot tests (#28035)
Issue number: N/A --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> The progress bar basic test makes use of the `ion-range` component in the captured screenshot. This results in tight coupling when the appearance of the range changes. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Decouples `ion-range` from the progress bar basic screenshot captures - Splits out dynamic behavior that was used with `ion-range` to test files that can be manually interacted with ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> --------- Co-authored-by: ionitron <hi@ionicframework.com> |
||
|
|
a079d202c5 |
test(radio): correct screenshot name from toggle (#28099)
Issue number: N/A --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> Radio has a test with the wrong screenshot name of toggle. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Radio has a test with the correct screenshot name. ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> N/A |
||
|
|
6d4eabcc10 |
fix(textarea): cols property is respected (#28081)
Issue number: resolves #22142 --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> Textarea always takes up the entire width of a line which prevents the `cols` property from working correctly. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - The textarea respects the `col` property value only when `autoGrow` is `false` ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> Dev build: `7.3.2-dev.11693402720.1adb3bcf` --------- Co-authored-by: ionitron <hi@ionicframework.com> |
||
|
|
3086c9c1ad |
chore: add lint rule to block toMatchSnapshot usage (#28091)
Issue number: N/A --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> In addition to migrating away from `toMatchSnapshot` as found in PRs such as https://github.com/ionic-team/ionic-framework/pull/28083, I think it would be valuable to have a lint rule to prevent developers from accidentally using this API in the future. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Adds a lint rule which errors if `toMatchSnapshot` is being used in `*.e2e.ts` files. ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> ~Note: This PR's lint step will continue to fail until the remaining `toHaveScreenshot` migration PRs have been merged. Do note merge this PR until that has been completed.~ All set! --------- Co-authored-by: Brandy Carney <brandyscarney@users.noreply.github.com> |
||
|
|
63cb96831e |
docs(angular): update README for clear directory paths (#28098)
Issue number: N/A --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> - The instructions doesn't provide clear directory paths for syncing local changes. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - The instructions has clear directory paths for syncing local changes. - Switched to the `[!NOTE]` for notes. ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> N/A |
||
|
|
7dc9d2d55e |
test(textarea): migrate to toHaveScreenshot (#28087)
Issue number: N/A --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> Several tests for this component are still using Playwright's old `toMatchSnapshot` assertion. It's now recommended to use the newer `toHaveScreenshot` assertion. This new assertion reduces the size of each screenshot and brings anti-flake improvements such as disabling animations by default. We previously migrated most of our codebase to use `toHaveScreenshot`, but it looks like we missed the tests that were written during the development of Ionic 7 in a separate branch off `main`. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Migrate component tests to use `toHaveScreenshot`. Note: There should be no layout changes to any of the screenshots. The only difference between the old and new screenshots should be image and file size. ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> --------- Co-authored-by: ionitron <hi@ionicframework.com> |
||
|
|
c8d214a82c |
chore(vue): add missing routerAnimation type (#28094)
Issue number: N/A
---------
<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->
<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->
## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->
The Vue Router implementation [assigns data to the `routerAnimation` on
the view
item](
|
||
|
|
584e9d3be2 |
fix(overlays): prevent overlays from getting stuck open (#28069)
Issue number: resolves #27200 --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> A bug occurs when you click twice quickly to open an overlay with a small timeout. In some cases, the overlay will present, dismiss, present, then not dismiss the second time, getting stuck open. You can reproduce manually this by grabbing the test HTML included in this PR and putting it in a branch that doesn't include a fix. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - When an overlay with a short timeout is triggered twice quickly, it will open-close-open-close. - The behavior is the same for all overlay components ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> Relevant links: * https://github.com/ionic-team/ionic-framework/issues/27200 * https://ionic-cloud.atlassian.net/browse/FW-4374 * https://ionic-cloud.atlassian.net/browse/FW-4053 I'm not sure how to write an automated test for this bug due to the short timeout required. You can manually test the fix in [this Stackblitz](https://stackblitz.com/edit/g1kjci?file=package.json) by changing the Ionic version between 7.3.1 and 7.3.2-dev.11693262117.17edbf6d --------- Co-authored-by: Liam DeBeasi <liamdebeasi@users.noreply.github.com> |
||
|
|
e1fdbb344a |
test(datetime): un-flake presentation test (#28090)
Issue number: N/A
---------
<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->
<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->
## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->
There are two problems with this test:
1. The screenshots are not capturing the correct UI. For example, the
following screenshot should capture the date and time grid picker, but
it's only capturing the year wheel picker:
|
||
|
|
2a80eb6bd0 |
fix(popover): dynamic width popover is positioned correctly (#28072)
Issue number: resolves #27190, resolves #24780 --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> Popovers with dynamic widths were not being positioned correctly relative to the trigger element. This was happening because the child component always had dimensions of 0 x 0. Ionic has logic built-in to wait for the child components to be rendered, but this was not working as intended for two reasons: 1. `this.usersElement` was referencing the popover element itself not the user’s component. When calling `deepReady` on |
||
|
|
cddefd1548 |
test(input): migrate input to toHaveScreenshot (#28084)
Issue number: N/A --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> Several tests for this component are still using Playwright's old `toMatchSnapshot` assertion. It's now recommended to use the newer `toHaveScreenshot` assertion. This new assertion reduces the size of each screenshot and brings anti-flake improvements such as disabling animations by default. We previously migrated most of our codebase to use `toHaveScreenshot`, but it looks like we missed the tests that were written during the development of Ionic 7 in a separate branch off `main`. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Migrate component tests to use `toHaveScreenshot`. Note: There should be no layout changes to any of the screenshots. The only difference between the old and new screenshots should be image and file size. ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> --------- Co-authored-by: ionitron <hi@ionicframework.com> |
||
|
|
437ef16d1d |
test(select): migrate to toHaveScreenshot (#28088)
Issue number: N/A --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> Several tests for this component are still using Playwright's old `toMatchSnapshot` assertion. It's now recommended to use the newer `toHaveScreenshot` assertion. This new assertion reduces the size of each screenshot and brings anti-flake improvements such as disabling animations by default. We previously migrated most of our codebase to use `toHaveScreenshot`, but it looks like we missed the tests that were written during the development of Ionic 7 in a separate branch off `main`. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Migrate component tests to use `toHaveScreenshot`. Note: There should be no layout changes to any of the screenshots. The only difference between the old and new screenshots should be image and file size. ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> --------- Co-authored-by: ionitron <hi@ionicframework.com> |
||
|
|
7babf6178c |
test(datetime): remove duplicate test (#28092)
Issue number: N/A
---------
<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->
<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->
## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->
That particular test is flaky. When going to try and fix the flakiness,
I realized that this behavior is already tested by another test. This
test presents the `ion-picker-internal` components which are also tested
in
|
||
|
|
271b90deca |
test(toggle): migrate to toHaveScreenshot (#28086)
Issue number: N/A --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> Several tests for this component are still using Playwright's old `toMatchSnapshot` assertion. It's now recommended to use the newer `toHaveScreenshot` assertion. This new assertion reduces the size of each screenshot and brings anti-flake improvements such as disabling animations by default. We previously migrated most of our codebase to use `toHaveScreenshot`, but it looks like we missed the tests that were written during the development of Ionic 7 in a separate branch off `main`. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Migrate component tests to use `toHaveScreenshot`. Note: There should be no layout changes to any of the screenshots. The only difference between the old and new screenshots should be image and file size. ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> --------- Co-authored-by: ionitron <hi@ionicframework.com> |
||
|
|
9dfdfe2ed6 |
test(checkbox): migrate to toHaveScreenshot (#28085)
Issue number: N/A --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> Several tests for this component are still using Playwright's old `toMatchSnapshot` assertion. It's now recommended to use the newer `toHaveScreenshot` assertion. This new assertion reduces the size of each screenshot and brings anti-flake improvements such as disabling animations by default. We previously migrated most of our codebase to use `toHaveScreenshot`, but it looks like we missed the tests that were written during the development of Ionic 7 in a separate branch off `main`. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Migrate component tests to use `toHaveScreenshot`. Note: There should be no layout changes to any of the screenshots. The only difference between the old and new screenshots should be image and file size. ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> --------- Co-authored-by: ionitron <hi@ionicframework.com> |
||
|
|
0f5ce8e329 |
test(range): migrate to toHaveScreenshot (#28089)
Issue number: N/A --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> Several tests for this component are still using Playwright's old `toMatchSnapshot` assertion. It's now recommended to use the newer `toHaveScreenshot` assertion. This new assertion reduces the size of each screenshot and brings anti-flake improvements such as disabling animations by default. We previously migrated most of our codebase to use `toHaveScreenshot`, but it looks like we missed the tests that were written during the development of Ionic 7 in a separate branch off `main`. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Migrate component tests to use `toHaveScreenshot`. Note: There should be no layout changes to any of the screenshots. The only difference between the old and new screenshots should be image and file size. ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> --------- Co-authored-by: ionitron <hi@ionicframework.com> |
||
|
|
abc8118ef6 |
test(radio): migrate to toHaveScreenshot (#28083)
Issue number: N/A --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> Several tests for this component are still using Playwright's old `toMatchSnapshot` assertion. It's now recommended to use the newer `toHaveScreenshot` assertion. This new assertion reduces the size of each screenshot and brings anti-flake improvements such as disabling animations by default. We previously migrated most of our codebase to use `toHaveScreenshot`, but it looks like we missed the tests that were written during the development of Ionic 7 in a separate branch off `main`. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Migrate component tests to use `toHaveScreenshot`. Note: There should be no layout changes to any of the screenshots. The only difference between the old and new screenshots should be image and file size. ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> --------- Co-authored-by: ionitron <hi@ionicframework.com> |
||
|
|
f379c72d92 |
chore: remove deprecated attribute selectors (#28082)
Issue number: N/A --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> The `text-wrap` attribute was removed in Ionic v5, but references to it still exist in the `ion-label` stylesheets. https://github.com/ionic-team/ionic-framework/blob/main/BREAKING_ARCHIVE/v5.md#css-utilities ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Removed references to the unsupported `text-wrap` attributed. ## Does this introduce a breaking change? - [ ] Yes - [x] No Note: This is not a breaking change because support for `text-wrap` was removed in Ionic v5. <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> |
||
|
|
8ab3476ac7 |
merge release-7.3.2
Release 7.3.2 |
||
|
|
a25c38223c | chore(): update package lock files | ||
|
|
f9211e5434 | v7.3.2 v7.3.2 | ||
|
|
d4875df644 |
chore(router-outlet): rename files (#28074)
Issue number: N/A --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> Router outlet files can be hard to find when searching for them. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Router outlet files are named what you'd expect. ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> |
||
|
|
01fc9b4511 |
fix(datetime): gracefully handle invalid min/max (#28054)
Issue number: resolves #28041 --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> `parseDate` returns `undefined` when given an invalid value. However, our min/max processing functions did not account for this. As a result, we would attempt to destructure an undefined value which resulted in an error. Note regarding linked issue: The developer is calling `setMin(undefined)`. However, this is triggering a React quirk with Custom Elements where `undefined` is being set to `null` inside of React. The type signature on min/max is `string | undefined`, so `null` is being treated as an invalid date value. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Min/Max processing functions now return `undefined` if the input was invalid. ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> Dev build: `7.3.2-dev.11692887667.1614d10a` |
||
|
|
9eef62e4f2 | chore(CODEOWNERS): add shawn to CODEOWNERS (#28064) | ||
|
|
04b9b31622 | chore(CODEOWNERS): add brandy to CODEOWNERS (#28063) | ||
|
|
a7ed0a347a |
chore(CODEOWNERS): add Maria to Angular and Vue (#28061)
Issue number: N/A --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> Maria isn't part of the codeowners. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Maria has been added to the Angular and Vue folders. ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> N/A |
||
|
|
d1ce8e2f8d |
chore(codeowners): add Amanda to checkbox and radio (#28062)
Issue number: # --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - - - ## Does this introduce a breaking change? - [ ] Yes - [ ] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> |
||
|
|
fa4113117d |
fix(menu): emit ionMenuChange when re-mounted (#28049)
Issue number: resolves #28030
---------
<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->
<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->
## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->
`ion-menu` registers itself with the menu controller when
`connectedCallback` fires and then unregisters itself when
`disconnectedCallback` fires. When the menu was removed from the DOM,
`disconnectedCallback` was not always being fired due to
https://github.com/ionic-team/stencil/issues/4070.
`ion-menu-button` checks to see if it should be visible by grabbing the
current menu in
|
||
|
|
f450f0a58a |
chore(deps-dev): Bump @capacitor/core from 5.2.3 to 5.3.0 in /core (#28053)
Bumps [@capacitor/core](https://github.com/ionic-team/capacitor) from 5.2.3 to 5.3.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ionic-team/capacitor/releases"><code>@capacitor/core</code>'s releases</a>.</em></p> <blockquote> <h2>5.3.0</h2> <h1><a href="https://github.com/ionic-team/capacitor/compare/5.2.3...5.3.0">5.3.0</a> (2023-08-23)</h1> <h3>Bug Fixes</h3> <ul> <li><strong>cookies:</strong> remove session cookies when initializing the cookie manager (<a href=" |
||
|
|
314055cf7a |
merge release-7.3.1
Release 7.3.1 |
||
|
|
b333bdffe6 | chore(): update package lock files | ||
|
|
5701f7661e | v7.3.1 v7.3.1 | ||
|
|
2b5da93cdc |
chore(infra): clean build check will log recommended steps (#28044)
Issue number: N/A --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> When the CI process detects a diff between the output in CI after running `npm run build` versus the checked out branch, it will log the diff and exit. It isn't very clear to developers what they need to do or why this job step exists. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Logs a prettier error message to the developer to let them know the steps they can take when a diff is detected in CI  Example run: https://github.com/ionic-team/ionic-framework/actions/runs/5942940488/job/16117074372?pr=28044 ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> |
||
|
|
e2be7fdf3a |
docs(picker): describe how to set the initial value of a picker column (#28034)
## What is the current behavior? There is no description of how to set the value of a picker. ## What is the new behavior? Readers can find this description in the documentation. ## Does this introduce a breaking change? - [ ] Yes - [x] No --------- Co-authored-by: Liam DeBeasi <liamdebeasi@users.noreply.github.com> |
||
|
|
0ac3df3f37 |
fix(react): avoid multiple invocations of onDidDismiss and onWillPresent (#28020)
Issue number: Resolves #28010 --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> `onDidDismiss` and `onWillPresent` will fire twice when having a manual binding in your implementation for inline overlays. e.g.: ```tsx <IonAlert onDidDismiss={() => console.log('hello world')} /> ``` Will result in: > hello world > hello world ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - `onDidDismiss` and `onWillPresent` do not execute the callback handler twice per invocation ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> Dev-build: `7.3.1-dev.11692305436.16a4008f` |
||
|
|
5a1bbc9fa3 |
chore(deps): Bump @stencil/core from 4.0.3 to 4.1.0 in /core (#28037)
Bumps [@stencil/core](https://github.com/ionic-team/stencil) from 4.0.3 to 4.1.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ionic-team/stencil/releases"><code>@stencil/core</code>'s releases</a>.</em></p> <blockquote> <h2>🐟 4.1.0 (2023-08-21)</h2> <h3>Bug Fixes</h3> <ul> <li><strong>runtime:</strong> adds a testing check to the forceUpdate method (<a href="https://redirect.github.com/ionic-team/stencil/issues/4682">#4682</a>) (<a href=" |
||
|
|
e2c1845a24 |
chore(docs): fix broken angular link in README (#28039)
<!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> angular link in README is broken ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> angular link in README is fixed now. ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> |
||
|
|
679821861a |
chore(deps-dev): Bump @playwright/test from 1.37.0 to 1.37.1 in /core (#28023)
Bumps [@playwright/test](https://github.com/Microsoft/playwright) from 1.37.0 to 1.37.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/Microsoft/playwright/releases"><code>@playwright/test</code>'s releases</a>.</em></p> <blockquote> <h2>v1.37.1</h2> <h3>Highlights</h3> <p><a href="https://redirect.github.com/microsoft/playwright/issues/26496">microsoft/playwright#26496</a> - [REGRESSION] webServer stdout is always getting printed <a href="https://redirect.github.com/microsoft/playwright/issues/26492">microsoft/playwright#26492</a> - [REGRESSION] test.only with project dependency is not working</p> <h2>Browser Versions</h2> <ul> <li>Chromium 116.0.5845.82</li> <li>Mozilla Firefox 115.0</li> <li>WebKit 17.0</li> </ul> <p>This version was also tested against the following stable channels:</p> <ul> <li>Google Chrome 115</li> <li>Microsoft Edge 115</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |