react-native 0.76.4 → 0.76.6
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/Libraries/Core/ReactNativeVersion.js +1 -1
- package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +2 -1
- package/React/Base/RCTVersion.m +1 -1
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.h +3 -0
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +17 -18
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +5 -0
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +12 -9
- package/React/Views/ScrollView/RCTScrollView.h +2 -0
- package/React/Views/ScrollView/RCTScrollView.m +6 -0
- package/ReactAndroid/cmake-utils/ReactNative-application.cmake +18 -3
- package/ReactAndroid/cmake-utils/default-app-setup/OnLoad.cpp +0 -13
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.java +12 -13
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +1 -7
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +1 -11
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +1 -3
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +1 -3
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +1 -12
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +1 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +1 -0
- package/ReactAndroid/src/main/jni/react/fabric/Binding.cpp +17 -19
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +1 -15
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +1 -4
- package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +1 -5
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +1 -6
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +47 -65
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +2 -4
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +1 -5
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +1 -2
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +1 -6
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +1 -3
- package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +2 -3
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +2 -0
- package/ReactCommon/react/runtime/ReactInstance.cpp +39 -35
- package/ReactCommon/react/runtime/ReactInstance.h +2 -1
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +3 -2
- package/package.json +8 -8
- package/scripts/cocoapods/utils.rb +6 -6
- package/scripts/codegen/generate-artifacts-executor.js +20 -5
- package/sdks/hermesc/osx-bin/hermes +0 -0
- package/sdks/hermesc/osx-bin/hermesc +0 -0
- package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +1 -6
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +1 -2
|
@@ -204,47 +204,51 @@ std::string simpleBasename(const std::string& path) {
|
|
|
204
204
|
*/
|
|
205
205
|
void ReactInstance::loadScript(
|
|
206
206
|
std::unique_ptr<const JSBigString> script,
|
|
207
|
-
const std::string& sourceURL
|
|
207
|
+
const std::string& sourceURL,
|
|
208
|
+
std::function<void(jsi::Runtime& runtime)>&& completion) {
|
|
208
209
|
auto buffer = std::make_shared<BigStringBuffer>(std::move(script));
|
|
209
210
|
std::string scriptName = simpleBasename(sourceURL);
|
|
210
211
|
|
|
211
|
-
runtimeScheduler_->scheduleWork(
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
212
|
+
runtimeScheduler_->scheduleWork([this,
|
|
213
|
+
scriptName,
|
|
214
|
+
sourceURL,
|
|
215
|
+
buffer = std::move(buffer),
|
|
216
|
+
weakBufferedRuntimeExecuter =
|
|
217
|
+
std::weak_ptr<BufferedRuntimeExecutor>(
|
|
218
|
+
bufferedRuntimeExecutor_),
|
|
219
|
+
completion](jsi::Runtime& runtime) {
|
|
220
|
+
SystraceSection s("ReactInstance::loadScript");
|
|
221
|
+
bool hasLogger(ReactMarker::logTaggedMarkerBridgelessImpl);
|
|
222
|
+
if (hasLogger) {
|
|
223
|
+
ReactMarker::logTaggedMarkerBridgeless(
|
|
224
|
+
ReactMarker::RUN_JS_BUNDLE_START, scriptName.c_str());
|
|
225
|
+
}
|
|
224
226
|
|
|
225
|
-
|
|
227
|
+
runtime.evaluateJavaScript(buffer, sourceURL);
|
|
226
228
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
229
|
+
/**
|
|
230
|
+
* TODO(T183610671): We need a safe/reliable way to enable the js
|
|
231
|
+
* pipeline from javascript. Remove this after we figure that out, or
|
|
232
|
+
* after we just remove the js pipeline.
|
|
233
|
+
*/
|
|
234
|
+
if (!jsErrorHandler_->hasHandledFatalError()) {
|
|
235
|
+
jsErrorHandler_->setRuntimeReady();
|
|
236
|
+
}
|
|
235
237
|
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
238
|
+
if (hasLogger) {
|
|
239
|
+
ReactMarker::logTaggedMarkerBridgeless(
|
|
240
|
+
ReactMarker::RUN_JS_BUNDLE_STOP, scriptName.c_str());
|
|
241
|
+
ReactMarker::logMarkerBridgeless(ReactMarker::INIT_REACT_RUNTIME_STOP);
|
|
242
|
+
ReactMarker::logMarkerBridgeless(ReactMarker::APP_STARTUP_STOP);
|
|
243
|
+
}
|
|
244
|
+
if (auto strongBufferedRuntimeExecuter =
|
|
245
|
+
weakBufferedRuntimeExecuter.lock()) {
|
|
246
|
+
strongBufferedRuntimeExecuter->flush();
|
|
247
|
+
}
|
|
248
|
+
if (completion) {
|
|
249
|
+
completion(runtime);
|
|
250
|
+
}
|
|
251
|
+
});
|
|
248
252
|
}
|
|
249
253
|
|
|
250
254
|
/*
|
|
@@ -48,7 +48,8 @@ class ReactInstance final : private jsinspector_modern::InstanceTargetDelegate {
|
|
|
48
48
|
|
|
49
49
|
void loadScript(
|
|
50
50
|
std::unique_ptr<const JSBigString> script,
|
|
51
|
-
const std::string& sourceURL
|
|
51
|
+
const std::string& sourceURL,
|
|
52
|
+
std::function<void(jsi::Runtime& runtime)>&& completion = nullptr);
|
|
52
53
|
|
|
53
54
|
void registerSegment(uint32_t segmentId, const std::string& segmentPath);
|
|
54
55
|
|
|
@@ -470,8 +470,9 @@ void RCTInstanceSetRuntimeDiagnosticFlags(NSString *flags)
|
|
|
470
470
|
|
|
471
471
|
auto script = std::make_unique<NSDataBigString>(source.data);
|
|
472
472
|
const auto *url = deriveSourceURL(source.url).UTF8String;
|
|
473
|
-
_reactInstance->loadScript(std::move(script), url)
|
|
474
|
-
|
|
473
|
+
_reactInstance->loadScript(std::move(script), url, [](jsi::Runtime &_) {
|
|
474
|
+
[[NSNotificationCenter defaultCenter] postNotificationName:@"RCTInstanceDidLoadBundle" object:nil];
|
|
475
|
+
});
|
|
475
476
|
}
|
|
476
477
|
|
|
477
478
|
- (void)_handleJSError:(const JsErrorHandler::ParsedError &)error
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native",
|
|
3
|
-
"version": "0.76.
|
|
3
|
+
"version": "0.76.6",
|
|
4
4
|
"description": "A framework for building native apps using React",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -109,13 +109,13 @@
|
|
|
109
109
|
},
|
|
110
110
|
"dependencies": {
|
|
111
111
|
"@jest/create-cache-key-function": "^29.6.3",
|
|
112
|
-
"@react-native/assets-registry": "0.76.
|
|
113
|
-
"@react-native/codegen": "0.76.
|
|
114
|
-
"@react-native/community-cli-plugin": "0.76.
|
|
115
|
-
"@react-native/gradle-plugin": "0.76.
|
|
116
|
-
"@react-native/js-polyfills": "0.76.
|
|
117
|
-
"@react-native/normalize-colors": "0.76.
|
|
118
|
-
"@react-native/virtualized-lists": "0.76.
|
|
112
|
+
"@react-native/assets-registry": "0.76.6",
|
|
113
|
+
"@react-native/codegen": "0.76.6",
|
|
114
|
+
"@react-native/community-cli-plugin": "0.76.6",
|
|
115
|
+
"@react-native/gradle-plugin": "0.76.6",
|
|
116
|
+
"@react-native/js-polyfills": "0.76.6",
|
|
117
|
+
"@react-native/normalize-colors": "0.76.6",
|
|
118
|
+
"@react-native/virtualized-lists": "0.76.6",
|
|
119
119
|
"abort-controller": "^3.0.0",
|
|
120
120
|
"anser": "^1.4.9",
|
|
121
121
|
"ansi-regex": "^5.0.0",
|
|
@@ -44,10 +44,10 @@ class ReactNativePodsUtils
|
|
|
44
44
|
end
|
|
45
45
|
|
|
46
46
|
def self.set_gcc_preprocessor_definition_for_React_hermes(installer)
|
|
47
|
-
self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "React-hermes",
|
|
48
|
-
self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "React-jsinspector",
|
|
49
|
-
self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "hermes-engine",
|
|
50
|
-
self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "React-RuntimeHermes",
|
|
47
|
+
self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "React-hermes", :debug)
|
|
48
|
+
self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "React-jsinspector", :debug)
|
|
49
|
+
self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "hermes-engine", :debug)
|
|
50
|
+
self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "React-RuntimeHermes", :debug)
|
|
51
51
|
end
|
|
52
52
|
|
|
53
53
|
def self.turn_off_resource_bundle_react_core(installer)
|
|
@@ -193,11 +193,11 @@ class ReactNativePodsUtils
|
|
|
193
193
|
|
|
194
194
|
private
|
|
195
195
|
|
|
196
|
-
def self.add_build_settings_to_pod(installer, settings_name, settings_value, target_pod_name,
|
|
196
|
+
def self.add_build_settings_to_pod(installer, settings_name, settings_value, target_pod_name, configuration_type)
|
|
197
197
|
installer.target_installation_results.pod_target_installation_results.each do |pod_name, target_installation_result|
|
|
198
198
|
if pod_name.to_s == target_pod_name
|
|
199
199
|
target_installation_result.native_target.build_configurations.each do |config|
|
|
200
|
-
if
|
|
200
|
+
if configuration_type == nil || (configuration_type != nil && config.type == configuration_type)
|
|
201
201
|
config.build_settings[settings_name] ||= '$(inherited) '
|
|
202
202
|
config.build_settings[settings_name] << settings_value
|
|
203
203
|
end
|
|
@@ -311,11 +311,26 @@ function findNotLinkedLibraries(projectRoot) {
|
|
|
311
311
|
Object.keys(rnConfig.dependencies).forEach(name => {
|
|
312
312
|
const dependency = rnConfig.dependencies[name];
|
|
313
313
|
let notLinkedPlatforms = [];
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
314
|
+
|
|
315
|
+
// dependency.platforms might not be defined, as the format
|
|
316
|
+
// {
|
|
317
|
+
// "dependencies": {
|
|
318
|
+
// "dependency-name": {
|
|
319
|
+
// "root": "path/to/dependency",
|
|
320
|
+
// }
|
|
321
|
+
// }
|
|
322
|
+
// }
|
|
323
|
+
// is also supported.
|
|
324
|
+
// In this case, we assume that the library is linked to all platforms.
|
|
325
|
+
// We don't consider the case were `dependency-name.root` is equal to `null`, because that
|
|
326
|
+
// means that the library is not linked to the app at all, and in that case the dependency
|
|
327
|
+
// should be removed by the user.
|
|
328
|
+
dependency.platforms &&
|
|
329
|
+
Object.keys(dependency.platforms).forEach(platform => {
|
|
330
|
+
if (dependency.platforms[platform] == null) {
|
|
331
|
+
notLinkedPlatforms.push(platform);
|
|
332
|
+
}
|
|
333
|
+
});
|
|
319
334
|
notLinkedLibraries[name] = notLinkedPlatforms;
|
|
320
335
|
});
|
|
321
336
|
return notLinkedLibraries;
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @generated SignedSource<<
|
|
7
|
+
* @generated SignedSource<<cbc00457c9b6f4639083b6fa970683eb>>
|
|
8
8
|
* @flow strict-local
|
|
9
9
|
*/
|
|
10
10
|
|
|
@@ -46,7 +46,6 @@ export type ReactNativeFeatureFlagsJsOnlyOverrides = Partial<ReactNativeFeatureF
|
|
|
46
46
|
export type ReactNativeFeatureFlags = {
|
|
47
47
|
...ReactNativeFeatureFlagsJsOnly,
|
|
48
48
|
commonTestFlag: Getter<boolean>,
|
|
49
|
-
allowRecursiveCommitsWithSynchronousMountOnAndroid: Getter<boolean>,
|
|
50
49
|
batchRenderingUpdatesInEventLoop: Getter<boolean>,
|
|
51
50
|
completeReactInstanceCreationOnBgThreadOnAndroid: Getter<boolean>,
|
|
52
51
|
destroyFabricSurfacesInReactInstanceManager: Getter<boolean>,
|
|
@@ -164,10 +163,6 @@ export const useRefsForTextInputState: Getter<boolean> = createJavaScriptFlagGet
|
|
|
164
163
|
* Common flag for testing. Do NOT modify.
|
|
165
164
|
*/
|
|
166
165
|
export const commonTestFlag: Getter<boolean> = createNativeFlagGetter('commonTestFlag', false);
|
|
167
|
-
/**
|
|
168
|
-
* Adds support for recursively processing commits that mount synchronously (Android only).
|
|
169
|
-
*/
|
|
170
|
-
export const allowRecursiveCommitsWithSynchronousMountOnAndroid: Getter<boolean> = createNativeFlagGetter('allowRecursiveCommitsWithSynchronousMountOnAndroid', false);
|
|
171
166
|
/**
|
|
172
167
|
* When enabled, the RuntimeScheduler processing the event loop will batch all rendering updates and dispatch them together at the end of each iteration of the loop.
|
|
173
168
|
*/
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @generated SignedSource<<
|
|
7
|
+
* @generated SignedSource<<ac46e3eb810d890a0f8199fe100936cb>>
|
|
8
8
|
* @flow strict-local
|
|
9
9
|
*/
|
|
10
10
|
|
|
@@ -24,7 +24,6 @@ import * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboMod
|
|
|
24
24
|
|
|
25
25
|
export interface Spec extends TurboModule {
|
|
26
26
|
+commonTestFlag?: () => boolean;
|
|
27
|
-
+allowRecursiveCommitsWithSynchronousMountOnAndroid?: () => boolean;
|
|
28
27
|
+batchRenderingUpdatesInEventLoop?: () => boolean;
|
|
29
28
|
+completeReactInstanceCreationOnBgThreadOnAndroid?: () => boolean;
|
|
30
29
|
+destroyFabricSurfacesInReactInstanceManager?: () => boolean;
|