mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
Merge remote-tracking branch 'origin/main' into feat/v9-prerelease
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user