merge release-8.8.12#31244
Merged
Merged
Conversation
v8.8.11 --------- Co-authored-by: ionitron <hi@ionicframework.com>
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [@capacitor/keyboard](https://redirect.github.com/ionic-team/capacitor-keyboard) | [`8.0.3` → `8.0.5`](https://renovatebot.com/diffs/npm/@capacitor%2fkeyboard/8.0.3/8.0.5) |  |  | --- ### Release Notes <details> <summary>ionic-team/capacitor-keyboard (@​capacitor/keyboard)</summary> ### [`v8.0.5`](https://redirect.github.com/ionic-team/capacitor-keyboard/blob/HEAD/CHANGELOG.md#805-2026-06-16) [Compare Source](https://redirect.github.com/ionic-team/capacitor-keyboard/compare/v8.0.4...v8.0.5) ##### Bug Fixes - **docs:** `autoBackdropColor` reference ([cb4af94](https://redirect.github.com/ionic-team/capacitor-keyboard/commit/cb4af9441fbfeadc2d210c0137c257faac0376f8)) ### [`v8.0.4`](https://redirect.github.com/ionic-team/capacitor-keyboard/blob/HEAD/CHANGELOG.md#804-2026-06-16) [Compare Source](https://redirect.github.com/ionic-team/capacitor-keyboard/compare/v8.0.3...v8.0.4) ##### Bug Fixes - **android:** reset WebView height when keyboard hides without animation ([#​60](https://redirect.github.com/ionic-team/capacitor-keyboard/issues/60)) ([f2e9cd2](https://redirect.github.com/ionic-team/capacitor-keyboard/commit/f2e9cd2803e87982c07381ee1987772c2d4a7a60)) - **ios:** prevent black QuickType bar when using Magic Keyboard on iPad + Fix Keyboard on iOS 26 ([#​52](https://redirect.github.com/ionic-team/capacitor-keyboard/issues/52)) ([068f643](https://redirect.github.com/ionic-team/capacitor-keyboard/commit/068f64396600f54fe31775776668634a38afc937)) </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - "every weekday before 11am" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Never, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/ionic-team/ionic-framework). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMTkuMCIsInVwZGF0ZWRJblZlciI6IjQzLjIxOS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Issue number: resolves #26394 --------- ## What is the current behavior? When `routerLink` is applied to a non-anchor Ionic component (`ion-item`, `ion-button`), `RouterLinkDelegateDirective` always routes in-app on click. A ctrl/meta/shift/alt click, or a host with `target="_blank"`, gets swallowed by the in-app navigation, so the browser never opens the link in a new tab. A plain `<a routerLink>` honors these intents, but the Ionic delegate doesn't, even though these components render a native anchor in their shadow DOM that's capable of the native new-tab behavior. ## What is the new behavior? `RouterLinkDelegateDirective` now adds a capture-phase click listener so it runs before Angular's `RouterLink` handler and the directive's own bubble-phase `onClick`. When the click should be handled natively (a ctrl/meta/shift/alt modifier is held, or the host `target` is set to anything other than `_self`), it calls `stopImmediatePropagation()` to cancel the in-app navigation but leaves `preventDefault` alone, so the shadow-DOM anchor can still open the tab. This mirrors the modifier set Angular's own `RouterLink` guards on. Normal clicks are unaffected and continue to navigate in-app. The listener is removed in `ngOnDestroy`. ## Does this introduce a breaking change? - [ ] Yes - [x] No ## Other information This supersedes #28976 by @j-oppenhuis, which first surfaced the target and modifier-click gap. Credited as co-author below. To verify manually in the Angular preview, ctrl/cmd-click the two `ion-item` rows (a plain one and a `target="_blank"` one) and confirm each opens a new tab instead of navigating in place: https://ionic-framework-git-fix-angular-routerlink-modifi-896c58-ionic1.vercel.app/angular/standalone/router-link If you compare that against the main version of the same component, you'll be able to see how it's fixed: https://ionic-framework-git-main-ionic1.vercel.app/angular/standalone/router-link Co-authored-by: Jelle Oppenhuis <jelle@siyou.nl>
Issue number: resolves #31220 --------- ## What is the current behavior? Currently, a component opened through `ModalController` that binds a value from `componentProps` in its template, like `<ion-nav [root]="rootPage()">`, can render empty. `attachView` only runs the creation pass, so the `[root]` binding is applied on a later tick, after `ion-nav` has already finished loading and read `root` as undefined. Wrapping the nav in `@if (rootPage())` worked around it. ## What is the new behavior? After this fix, `attachView` runs `detectChanges()` on the view right after attaching it, so template bindings apply before the web component loads. `ion-nav` now sees its `root` during load and renders it. This matches the `detectChanges` call already on `major-9.0`. ## Does this introduce a breaking change? - [ ] Yes - [X] No ## Other information The actual fix for this PR is fairly small, most of it is just testing. It's also important to note that this is already fixed in v9 in the same exact way, we're just backporting it to v8 here. Dev build: ``` 8.8.12-dev.11781813448.16e7a064 ```
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release 8.8.12