expo-modules-core 3.0.25 → 3.0.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,12 @@
|
|
|
10
10
|
|
|
11
11
|
### 💡 Others
|
|
12
12
|
|
|
13
|
+
## 3.0.26 — 2025-11-17
|
|
14
|
+
|
|
15
|
+
### 🐛 Bug fixes
|
|
16
|
+
|
|
17
|
+
- [iOS] Fix `TextField` causing crash when reload and unmounting. ([#40960](https://github.com/expo/expo/pull/40960) by [@nishan](https://github.com/intergalacticspacehighway))
|
|
18
|
+
|
|
13
19
|
## 3.0.25 — 2025-11-07
|
|
14
20
|
|
|
15
21
|
### 🐛 Bug fixes
|
package/android/build.gradle
CHANGED
|
@@ -29,7 +29,7 @@ if (shouldIncludeCompose) {
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
group = 'host.exp.exponent'
|
|
32
|
-
version = '3.0.
|
|
32
|
+
version = '3.0.26'
|
|
33
33
|
|
|
34
34
|
def isExpoModulesCoreTests = {
|
|
35
35
|
Gradle gradle = getGradle()
|
|
@@ -79,7 +79,7 @@ android {
|
|
|
79
79
|
defaultConfig {
|
|
80
80
|
consumerProguardFiles 'proguard-rules.pro'
|
|
81
81
|
versionCode 1
|
|
82
|
-
versionName "3.0.
|
|
82
|
+
versionName "3.0.26"
|
|
83
83
|
buildConfigField "String", "EXPO_MODULES_CORE_VERSION", "\"${versionName}\""
|
|
84
84
|
buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled.toString()
|
|
85
85
|
|
|
@@ -4,3 +4,14 @@
|
|
|
4
4
|
A namespace for Expo APIs that deal with SwiftUI.
|
|
5
5
|
*/
|
|
6
6
|
public struct ExpoSwiftUI {}
|
|
7
|
+
|
|
8
|
+
extension ExpoSwiftUI {
|
|
9
|
+
/**
|
|
10
|
+
Protocol for SwiftUI views that can receive focus (e.g., TextField, SecureField)
|
|
11
|
+
Used to resign first responder before view recycling to prevent first responder resign crash
|
|
12
|
+
*/
|
|
13
|
+
// https://github.com/expo/expo/issues/40354
|
|
14
|
+
public protocol FocusableView {
|
|
15
|
+
func forceResignFirstResponder()
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -154,6 +154,15 @@ extension ExpoSwiftUI {
|
|
|
154
154
|
|
|
155
155
|
// MARK: - Privates
|
|
156
156
|
|
|
157
|
+
override func removeFromSuperview() {
|
|
158
|
+
// When the view is unmounted, the focus on TextFieldView stays active and it causes a crash, so we blur it here
|
|
159
|
+
// UIView does something similar to resign the first responder in removeFromSuperview, so we do the same for our virtual view
|
|
160
|
+
if let focusableView = contentView as? any ExpoSwiftUI.FocusableView {
|
|
161
|
+
focusableView.forceResignFirstResponder()
|
|
162
|
+
}
|
|
163
|
+
super.removeFromSuperview()
|
|
164
|
+
}
|
|
165
|
+
|
|
157
166
|
/**
|
|
158
167
|
Installs convenient event dispatchers for declared events, so the view can just invoke the block to dispatch the proper event.
|
|
159
168
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "expo-modules-core",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.26",
|
|
4
4
|
"description": "The core of Expo Modules architecture",
|
|
5
5
|
"main": "src/index.ts",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -65,5 +65,5 @@
|
|
|
65
65
|
"@testing-library/react-native": "^13.2.0",
|
|
66
66
|
"expo-module-scripts": "^5.0.7"
|
|
67
67
|
},
|
|
68
|
-
"gitHead": "
|
|
68
|
+
"gitHead": "6d7c221dc8a1994043c4f2ddcf33a16bf3e508dc"
|
|
69
69
|
}
|