react-native-navigation 8.3.2 → 8.4.0-snapshot.1887
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/lib/android/app/src/main/java/com/reactnativenavigation/react/modal/ModalContentLayout.kt
CHANGED
|
@@ -16,7 +16,7 @@ class ModalContentLayout(context: Context?) : ReactViewGroup(context), RootView{
|
|
|
16
16
|
|
|
17
17
|
private val mJSTouchDispatcher = JSTouchDispatcher(this)
|
|
18
18
|
|
|
19
|
-
override fun onChildStartedNativeGesture(child: View
|
|
19
|
+
override fun onChildStartedNativeGesture(child: View?, androidEvent: MotionEvent) {
|
|
20
20
|
mJSTouchDispatcher.onChildStartedNativeGesture(androidEvent, this.getEventDispatcher())
|
|
21
21
|
}
|
|
22
22
|
override fun onChildStartedNativeGesture(androidEvent: MotionEvent) {
|
|
@@ -31,7 +31,7 @@ class ModalContentLayout(context: Context?) : ReactViewGroup(context), RootView{
|
|
|
31
31
|
return UIManagerHelper.getEventDispatcher(reactContext, UIManagerType.FABRIC) ?: throw IllegalStateException("EventDispatcher for Fabric UI Manager is not found")
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
override fun handleException(t: Throwable
|
|
34
|
+
override fun handleException(t: Throwable) {
|
|
35
35
|
getReactContext().handleException(RuntimeException(t))
|
|
36
36
|
}
|
|
37
37
|
|
|
@@ -13,7 +13,21 @@
|
|
|
13
13
|
#import <React/RCTSurfacePresenterStub.h>
|
|
14
14
|
#import <React/RCTSurfacePresenterBridgeAdapter.h>
|
|
15
15
|
#import <ReactCommon/RCTTurboModuleManager.h>
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
#if __has_include(<React-RCTAppDelegate/RCTReactNativeFactory.h>)
|
|
20
|
+
#import <React-RCTAppDelegate/RCTAppDelegate.h>
|
|
21
|
+
#import <React-RCTAppDelegate/RCTReactNativeFactory.h>
|
|
22
|
+
#elif __has_include(<React_RCTAppDelegate/RCTReactNativeFactory.h>)
|
|
23
|
+
#import <React_RCTAppDelegate/RCTAppDelegate.h>
|
|
24
|
+
#import <React_RCTAppDelegate/RCTReactNativeFactory.h>
|
|
25
|
+
#else
|
|
26
|
+
// RN 0.77 support
|
|
27
|
+
#define RN077
|
|
16
28
|
#import <react/config/ReactNativeConfig.h>
|
|
29
|
+
#endif
|
|
30
|
+
|
|
17
31
|
#import <react/renderer/runtimescheduler/RuntimeScheduler.h>
|
|
18
32
|
#import <react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.h>
|
|
19
33
|
#import <React/RCTSurfacePresenter.h>
|
|
@@ -37,15 +51,17 @@ static NSString *const kRNConcurrentRoot = @"concurrentRoot";
|
|
|
37
51
|
- (BOOL)application:(UIApplication *)application
|
|
38
52
|
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
|
|
39
53
|
|
|
54
|
+
#ifdef RN077
|
|
40
55
|
[self _setUpFeatureFlags];
|
|
41
|
-
|
|
42
|
-
// Copied from RCTAppDelegate, it private inside it
|
|
43
56
|
self.rootViewFactory = [self createRCTRootViewFactory];
|
|
44
|
-
|
|
45
57
|
[RCTComponentViewFactory currentComponentViewFactory].thirdPartyFabricComponentsProvider = self;
|
|
46
|
-
|
|
47
58
|
RCTAppSetupPrepareApp(application, self.newArchEnabled);
|
|
48
59
|
RCTSetNewArchEnabled(TRUE);
|
|
60
|
+
#else
|
|
61
|
+
self.reactNativeFactory = [RCTReactNativeFactory new];
|
|
62
|
+
self.reactNativeFactory = [self.reactNativeFactory initWithDelegate:self];
|
|
63
|
+
#endif
|
|
64
|
+
|
|
49
65
|
RCTEnableTurboModuleInterop(YES);
|
|
50
66
|
RCTEnableTurboModuleInteropBridgeProxy(YES);
|
|
51
67
|
|
|
@@ -56,34 +72,37 @@ static NSString *const kRNConcurrentRoot = @"concurrentRoot";
|
|
|
56
72
|
return YES;
|
|
57
73
|
}
|
|
58
74
|
|
|
75
|
+
- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge {
|
|
76
|
+
[NSException raise:@"RCTBridgeDelegate::sourceURLForBridge not implemented"
|
|
77
|
+
format:@"Subclasses must implement a valid sourceURLForBridge method"];
|
|
78
|
+
return nil;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
- (BOOL)concurrentRootEnabled {
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
#ifdef RN077
|
|
59
88
|
- (RCTRootViewFactory *)createRCTRootViewFactory
|
|
60
89
|
{
|
|
61
90
|
__weak __typeof(self) weakSelf = self;
|
|
62
91
|
RCTBundleURLBlock bundleUrlBlock = ^{
|
|
63
|
-
|
|
64
|
-
|
|
92
|
+
RCTAppDelegate *strongSelf = weakSelf;
|
|
93
|
+
return strongSelf.bundleURL;
|
|
65
94
|
};
|
|
66
95
|
|
|
67
96
|
RCTRootViewFactoryConfiguration *configuration =
|
|
68
|
-
|
|
69
|
-
|
|
97
|
+
[[RCTRootViewFactoryConfiguration alloc] initWithBundleURLBlock:bundleUrlBlock
|
|
98
|
+
newArchEnabled:self.newArchEnabled];
|
|
70
99
|
|
|
71
100
|
|
|
72
101
|
return [[RCTRootViewFactory alloc] initWithConfiguration:configuration andTurboModuleManagerDelegate:self];
|
|
73
102
|
}
|
|
74
103
|
|
|
75
|
-
- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge {
|
|
76
|
-
[NSException raise:@"RCTBridgeDelegate::sourceURLForBridge not implemented"
|
|
77
|
-
format:@"Subclasses must implement a valid sourceURLForBridge method"];
|
|
78
|
-
return nil;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
- (BOOL)concurrentRootEnabled {
|
|
82
|
-
return true;
|
|
83
|
-
}
|
|
84
104
|
|
|
85
105
|
#pragma mark - Feature Flags
|
|
86
|
-
|
|
87
106
|
class RCTAppDelegateBridgelessFeatureFlags : public facebook::react::ReactNativeFeatureFlagsDefaults {
|
|
88
107
|
public:
|
|
89
108
|
bool enableBridgelessArchitecture() override
|
|
@@ -113,6 +132,7 @@ class RCTAppDelegateBridgelessFeatureFlags : public facebook::react::ReactNative
|
|
|
113
132
|
facebook::react::ReactNativeFeatureFlags::override(
|
|
114
133
|
std::make_unique<RCTAppDelegateBridgelessFeatureFlags>());
|
|
115
134
|
}
|
|
135
|
+
#endif
|
|
116
136
|
|
|
117
137
|
@end
|
|
118
138
|
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
#import "RNNTurboCommandsHandler.h"
|
|
12
12
|
#import <React-RuntimeApple/ReactCommon/RCTHost.h>
|
|
13
13
|
|
|
14
|
-
@interface RNNTurboManager ()
|
|
15
14
|
|
|
15
|
+
@interface RNNTurboManager ()
|
|
16
16
|
@property(nonatomic, strong, readwrite) RNNExternalComponentStore *store;
|
|
17
17
|
@property(nonatomic, strong, readwrite) RNNReactComponentRegistry *componentRegistry;
|
|
18
18
|
@property(nonatomic, strong, readonly) RNNLayoutManager *layoutManager;
|
|
@@ -21,15 +21,16 @@
|
|
|
21
21
|
@property(nonatomic, strong, readonly) RNNModalHostViewManagerHandler *modalHostViewHandler;
|
|
22
22
|
@property(nonatomic, strong, readonly) RNNCommandsHandler *commandsHandler;
|
|
23
23
|
@property(nonatomic, strong, readonly) RNNEventEmitter *eventEmitter;
|
|
24
|
-
|
|
25
24
|
@end
|
|
26
25
|
|
|
27
26
|
@implementation RNNTurboManager {
|
|
28
27
|
UIWindow *_mainWindow;
|
|
28
|
+
BOOL _isInitialRun;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
- (instancetype)initWithHost:(RCTHost *)host mainWindow:(UIWindow *)mainWindow {
|
|
32
32
|
if (self = [super init]) {
|
|
33
|
+
_isInitialRun = YES;
|
|
33
34
|
_host = host;
|
|
34
35
|
_mainWindow = mainWindow;
|
|
35
36
|
_overlayManager = [RNNOverlayManager new];
|
|
@@ -40,7 +41,12 @@
|
|
|
40
41
|
name:@"RCTInstanceDidLoadBundle"
|
|
41
42
|
object:nil];
|
|
42
43
|
|
|
43
|
-
|
|
44
|
+
[[NSNotificationCenter defaultCenter] addObserver:self
|
|
45
|
+
selector:@selector(onReload)
|
|
46
|
+
name:@"RCTTriggerReloadCommandNotification"
|
|
47
|
+
object:nil];
|
|
48
|
+
|
|
49
|
+
// TODO: investigate which new event is fired
|
|
44
50
|
[[NSNotificationCenter defaultCenter] addObserver:self
|
|
45
51
|
selector:@selector(onJavaScriptWillLoad)
|
|
46
52
|
name:RCTJavaScriptWillStartLoadingNotification
|
|
@@ -99,16 +105,24 @@
|
|
|
99
105
|
}
|
|
100
106
|
|
|
101
107
|
- (void)onJavaScriptLoaded {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
108
|
+
RCTExecuteOnMainQueue(^{
|
|
109
|
+
// TODO: the isInitialRun is the right and final answer for this, this will stop a blackscreen appearing after the splashscreen on startup. OnReload this will still happen because of the rootViewController = nil; which is needed to clean up what is already appearing.
|
|
110
|
+
if (!self->_isInitialRun) {
|
|
111
|
+
UIApplication.sharedApplication.delegate.window.rootViewController = nil;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
self-> _isInitialRun = NO;
|
|
115
|
+
|
|
116
|
+
[self->_commandsHandler setReadyToReceiveCommands:true];
|
|
117
|
+
// TODO: Refactor
|
|
118
|
+
// [_modalHostViewHandler
|
|
119
|
+
// connectModalHostViewManager:[[_host moduleRegistry] moduleForName:"RCTModalHostViewManager"]];
|
|
120
|
+
|
|
121
|
+
[self->_eventEmitter sendOnAppLaunched];
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
- (void)onReload {
|
|
112
126
|
}
|
|
113
127
|
|
|
114
128
|
@end
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-navigation",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.4.0-snapshot.1887",
|
|
4
4
|
"description": "React Native Navigation - truly native navigation for iOS and Android",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"nativePackage": true,
|
|
@@ -77,15 +77,15 @@
|
|
|
77
77
|
"@babel/preset-env": "^7.25.3",
|
|
78
78
|
"@babel/runtime": "^7.25.0",
|
|
79
79
|
"@babel/types": "7.25.0",
|
|
80
|
-
"@react-native-community/cli": "15.0
|
|
81
|
-
"@react-native-community/cli-platform-android": "15.0
|
|
82
|
-
"@react-native-community/cli-platform-ios": "15.0
|
|
80
|
+
"@react-native-community/cli": "15.1.0",
|
|
81
|
+
"@react-native-community/cli-platform-android": "15.1.0",
|
|
82
|
+
"@react-native-community/cli-platform-ios": "15.1.0",
|
|
83
83
|
"@react-native-community/datetimepicker": "^8.2.0",
|
|
84
84
|
"@react-native-community/netinfo": "^11.4.1",
|
|
85
|
-
"@react-native/babel-preset": "0.
|
|
86
|
-
"@react-native/eslint-config": "0.
|
|
87
|
-
"@react-native/metro-config": "0.
|
|
88
|
-
"@react-native/typescript-config": "0.
|
|
85
|
+
"@react-native/babel-preset": "0.78.3",
|
|
86
|
+
"@react-native/eslint-config": "0.78.3",
|
|
87
|
+
"@react-native/metro-config": "0.78.3",
|
|
88
|
+
"@react-native/typescript-config": "0.78.3",
|
|
89
89
|
"@testing-library/jest-native": "^5.4.2",
|
|
90
90
|
"@testing-library/react-native": "^13.0.1",
|
|
91
91
|
"@types/hoist-non-react-statics": "^3.3.6",
|
|
@@ -102,8 +102,8 @@
|
|
|
102
102
|
"eslint": "^8.19.0",
|
|
103
103
|
"eslint-config-prettier": "6.11.0",
|
|
104
104
|
"eslint-formatter-codeframe": "^7.32.1",
|
|
105
|
-
"eslint-plugin-prettier": "3.1.4",
|
|
106
105
|
"eslint-plugin-jest": "^28.11.0",
|
|
106
|
+
"eslint-plugin-prettier": "3.1.4",
|
|
107
107
|
"github-release-notes": "https://github.com/yogevbd/github-release-notes/tarball/e601b3dba72dcd6cba323c1286ea6dd0c0110b58",
|
|
108
108
|
"husky": "4.2.5",
|
|
109
109
|
"identity-obj-proxy": "3.0.0",
|
|
@@ -112,14 +112,14 @@
|
|
|
112
112
|
"pixelmatch": "^5.2.1",
|
|
113
113
|
"pngjs": "^6.0.0",
|
|
114
114
|
"prettier": "2.8.8",
|
|
115
|
-
"react": "
|
|
116
|
-
"react-native": "0.
|
|
115
|
+
"react": "19.0.0",
|
|
116
|
+
"react-native": "0.78.3",
|
|
117
117
|
"react-native-fast-image": "^8.6.3",
|
|
118
118
|
"react-native-gesture-handler": "^2.22.1",
|
|
119
|
-
"react-native-reanimated": "3.
|
|
120
|
-
"react-redux": "
|
|
121
|
-
"react-test-renderer": "
|
|
122
|
-
"redux": "
|
|
119
|
+
"react-native-reanimated": "3.18.0",
|
|
120
|
+
"react-redux": "9.1.2",
|
|
121
|
+
"react-test-renderer": "19.0.0",
|
|
122
|
+
"redux": "^5.0.1",
|
|
123
123
|
"remx": "3.x.x",
|
|
124
124
|
"semver": "5.x.x",
|
|
125
125
|
"shell-utils": "1.x.x",
|