expo-dev-launcher 6.0.12 → 6.0.14
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 +13 -0
- package/android/build.gradle +2 -2
- package/android/src/debug/java/expo/modules/devlauncher/compose/models/ErrorViewModel.kt +2 -2
- package/ios/ReactDelegateHandler/ExpoDevLauncherReactDelegateHandler.swift +35 -5
- package/ios/SwiftUI/DevServersView.swift +1 -0
- package/ios/SwiftUI/HomeTabView.swift +3 -0
- package/ios/SwiftUI/SettingsTabView.swift +3 -0
- package/ios/SwiftUI/UpdatesTab/UpdatesTabView.swift +3 -0
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -10,11 +10,24 @@
|
|
|
10
10
|
|
|
11
11
|
### 💡 Others
|
|
12
12
|
|
|
13
|
+
## 6.0.14 — 2025-10-09
|
|
14
|
+
|
|
15
|
+
### 💡 Others
|
|
16
|
+
|
|
17
|
+
- [Android] Prevented the app from crashing during the initialization of the `ErrorViewModel`. ([#40148](https://github.com/expo/expo/pull/40148) by [@lukmccall](https://github.com/lukmccall))
|
|
18
|
+
|
|
19
|
+
## 6.0.13 — 2025-10-01
|
|
20
|
+
|
|
21
|
+
### 🐛 Bug fixes
|
|
22
|
+
|
|
23
|
+
- [iOS] Adjust tvOS colors. ([#40006](https://github.com/expo/expo/pull/40006) by [@douglowder](https://github.com/douglowder))
|
|
24
|
+
|
|
13
25
|
## 6.0.12 — 2025-09-22
|
|
14
26
|
|
|
15
27
|
### 🎉 New features
|
|
16
28
|
|
|
17
29
|
- [Android] Adds loading state when connecting to a development server. ([#39873](https://github.com/expo/expo/pull/39873) by [@lukmccall](https://github.com/lukmccall))
|
|
30
|
+
- Remove `ExpoAppDelegate` inheritance requirement ([#39844](https://github.com/expo/expo/pull/39844) by [@gabrieldonadel](https://github.com/gabrieldonadel))
|
|
18
31
|
|
|
19
32
|
### 🐛 Bug fixes
|
|
20
33
|
|
package/android/build.gradle
CHANGED
|
@@ -20,13 +20,13 @@ expoModule {
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
group = "host.exp.exponent"
|
|
23
|
-
version = "6.0.
|
|
23
|
+
version = "6.0.14"
|
|
24
24
|
|
|
25
25
|
android {
|
|
26
26
|
namespace "expo.modules.devlauncher"
|
|
27
27
|
defaultConfig {
|
|
28
28
|
versionCode 9
|
|
29
|
-
versionName "6.0.
|
|
29
|
+
versionName "6.0.14"
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
buildTypes {
|
|
@@ -14,8 +14,6 @@ sealed interface ErrorAction {
|
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
class ErrorViewModel() : ViewModel() {
|
|
17
|
-
private val devLauncher = inject<DevLauncherController>()
|
|
18
|
-
|
|
19
17
|
private val _appError = mutableStateOf<DevLauncherAppError?>(null)
|
|
20
18
|
|
|
21
19
|
val appError
|
|
@@ -26,6 +24,8 @@ class ErrorViewModel() : ViewModel() {
|
|
|
26
24
|
}
|
|
27
25
|
|
|
28
26
|
fun onAction(action: ErrorAction) {
|
|
27
|
+
val devLauncher = inject<DevLauncherController>()
|
|
28
|
+
|
|
29
29
|
when (action) {
|
|
30
30
|
is ErrorAction.Reload -> {
|
|
31
31
|
val appUrl = devLauncher.latestLoadedApp
|
|
@@ -50,21 +50,51 @@ public class ExpoDevLauncherReactDelegateHandler: ExpoReactDelegateHandler, EXDe
|
|
|
50
50
|
// MARK: EXDevelopmentClientControllerDelegate implementations
|
|
51
51
|
|
|
52
52
|
public func devLauncherController(_ developmentClientController: EXDevLauncherController, didStartWithSuccess success: Bool) {
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
let appDelegate = (UIApplication.shared.delegate as? (any ReactNativeFactoryProvider)) ??
|
|
54
|
+
(UIApplication.shared.delegate?.responds(to: Selector(("_expoAppDelegate"))) ?? false ?
|
|
55
|
+
((UIApplication.shared.delegate as? NSObject)?.value(forKey: "_expoAppDelegate") as? (any ReactNativeFactoryProvider)) : nil)
|
|
56
|
+
let reactDelegate = self.reactDelegate
|
|
57
|
+
|
|
58
|
+
guard let reactNativeFactory = appDelegate?.factory as? RCTReactNativeFactory ?? reactDelegate?.reactNativeFactory as? RCTReactNativeFactory else {
|
|
55
59
|
fatalError("`UIApplication.shared.delegate` must be an `ExpoAppDelegate` or `EXAppDelegateWrapper`")
|
|
56
60
|
}
|
|
57
|
-
self.reactNativeFactory =
|
|
61
|
+
self.reactNativeFactory = reactNativeFactory
|
|
58
62
|
|
|
59
63
|
// Reset rctAppDelegate so we can relaunch the app
|
|
60
|
-
if
|
|
64
|
+
if RCTIsNewArchEnabled() {
|
|
61
65
|
self.reactNativeFactory?.rootViewFactory.setValue(nil, forKey: "_reactHost")
|
|
62
66
|
} else {
|
|
63
67
|
self.reactNativeFactory?.bridge = nil
|
|
64
68
|
self.reactNativeFactory?.rootViewFactory.bridge = nil
|
|
65
69
|
}
|
|
66
70
|
|
|
67
|
-
|
|
71
|
+
func recreateRootView(
|
|
72
|
+
withBundleURL: URL?,
|
|
73
|
+
moduleName: String?,
|
|
74
|
+
initialProps: [AnyHashable: Any]?,
|
|
75
|
+
launchOptions: [AnyHashable: Any]?
|
|
76
|
+
) -> UIView {
|
|
77
|
+
if let appDelegate = appDelegate {
|
|
78
|
+
return appDelegate.recreateRootView(
|
|
79
|
+
withBundleURL: withBundleURL,
|
|
80
|
+
moduleName: moduleName,
|
|
81
|
+
initialProps: initialProps,
|
|
82
|
+
launchOptions: launchOptions
|
|
83
|
+
)
|
|
84
|
+
}
|
|
85
|
+
if let factory = reactDelegate?.reactNativeFactory {
|
|
86
|
+
return factory.recreateRootView(
|
|
87
|
+
withBundleURL: withBundleURL,
|
|
88
|
+
moduleName: moduleName,
|
|
89
|
+
initialProps: initialProps,
|
|
90
|
+
launchOptions: launchOptions
|
|
91
|
+
)
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
fatalError("`UIApplication.shared.delegate` must be an `ExpoAppDelegate` or `EXAppDelegateWrapper`")
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
let rootView = recreateRootView(
|
|
68
98
|
withBundleURL: developmentClientController.sourceUrl(),
|
|
69
99
|
moduleName: self.rootViewModuleName,
|
|
70
100
|
initialProps: self.rootViewInitialProperties,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "expo-dev-launcher",
|
|
3
3
|
"title": "Expo Development Launcher",
|
|
4
|
-
"version": "6.0.
|
|
4
|
+
"version": "6.0.14",
|
|
5
5
|
"description": "Pre-release version of the Expo development launcher package for testing.",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -15,11 +15,11 @@
|
|
|
15
15
|
"license": "MIT",
|
|
16
16
|
"homepage": "https://docs.expo.dev",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"expo-dev-menu": "7.0.
|
|
18
|
+
"expo-dev-menu": "7.0.13",
|
|
19
19
|
"expo-manifests": "~1.0.8"
|
|
20
20
|
},
|
|
21
21
|
"peerDependencies": {
|
|
22
22
|
"expo": "*"
|
|
23
23
|
},
|
|
24
|
-
"gitHead": "
|
|
24
|
+
"gitHead": "40027e7a62ecb3de1ec71ad497a4c51637c386e4"
|
|
25
25
|
}
|