Merge remote-tracking branch 'origin/main' into feat/v9-prerelease

This commit is contained in:
Nathan Walker
2025-09-15 17:37:30 -07:00
33 changed files with 2604 additions and 38 deletions

View File

@@ -1,3 +1,24 @@
## 8.9.9 (2025-09-09)
### 🚀 Features
- **TextField:** decimal keyboardType ([#10789](https://github.com/NativeScript/NativeScript/pull/10789))
- iOS 26 types with improvements (ActionBar, Switch) + .ns-{platform}-{sdkVersion} css root scoping ([#10775](https://github.com/NativeScript/NativeScript/pull/10775))
### 🩹 Fixes
- **android:** shared element with target name already added to transaction ([#10793](https://github.com/NativeScript/NativeScript/pull/10793))
### ❤️ Thank You
- Nathan Walker
## 8.9.8 (2025-09-09)
### 🩹 Fixes
- transient package update
## 8.9.7 (2025-07-26)
### 🩹 Fixes

View File

@@ -30,11 +30,11 @@ function addButtonsToAlertController(alertController: UIAlertController, options
}
if (isString(options.okButtonText)) {
alertController.addAction(
UIAlertAction.actionWithTitleStyleHandler(options.okButtonText, UIAlertActionStyle.Default, () => {
raiseCallback(callback, true);
}),
);
const action = UIAlertAction.actionWithTitleStyleHandler(options.okButtonText, UIAlertActionStyle.Default, () => {
raiseCallback(callback, true);
});
alertController.addAction(action);
alertController.preferredAction = action; // Allows using keyboard enter/return to confirm the dialog
}
}

View File

@@ -262,9 +262,22 @@ export class PageTransition extends Transition {
newFragment.setSharedElementEnterTransition(transitionSet);
newFragment.setSharedElementReturnTransition(transitionSet);
// Guard against duplicate shared element names being added to the same transaction
const addedSharedElementNames = new Set();
presenting.forEach((v) => {
const name = v?.sharedTransitionTag;
const nativeView = v?.nativeView;
if (!name || !nativeView || addedSharedElementNames.has(name)) {
// prevent duplicates or invalid items
return;
}
setTransitionName(v);
fragmentTransaction.addSharedElement(v.nativeView, v.sharedTransitionTag);
try {
fragmentTransaction.addSharedElement(nativeView, name);
addedSharedElementNames.add(name);
} catch (err) {
// ignore duplicates or issues adding shared element to avoid crashing
}
});
if (toPage.isLoaded) {
onPageLoaded();