react-native 0.82.0-nightly-20250721-6d4ea946f → 0.82.0-nightly-20250722-2c3a00b7b
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/React/Base/RCTVersion.m +1 -1
- package/ReactAndroid/api/ReactAndroid.api +0 -4
- package/ReactAndroid/build.gradle.kts +0 -1
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.kt +1 -15
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleListener.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +7 -2
- package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
- package/flow/HermesInternalType.js +114 -0
- package/flow/Stringish.js +14 -0
- package/flow/bom.js.flow +554 -0
- package/flow/console.js +49 -0
- package/flow/cssom.js.flow +575 -0
- package/flow/dom.js.flow +6289 -0
- package/flow/global.js +88 -0
- package/flow/streams.js.flow +140 -0
- package/gradle/libs.versions.toml +0 -2
- package/package.json +9 -8
- 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/React/Base/RCTVersion.m
CHANGED
|
@@ -24,7 +24,7 @@ NSDictionary* RCTGetReactNativeVersion(void)
|
|
|
24
24
|
RCTVersionMajor: @(0),
|
|
25
25
|
RCTVersionMinor: @(82),
|
|
26
26
|
RCTVersionPatch: @(0),
|
|
27
|
-
RCTVersionPrerelease: @"nightly-
|
|
27
|
+
RCTVersionPrerelease: @"nightly-20250722-2c3a00b7b",
|
|
28
28
|
};
|
|
29
29
|
});
|
|
30
30
|
return __rnVersion;
|
|
@@ -4404,10 +4404,6 @@ public abstract interface class com/facebook/react/uimanager/UIManagerModule$Cus
|
|
|
4404
4404
|
public abstract fun resolveCustomEventName (Ljava/lang/String;)Ljava/lang/String;
|
|
4405
4405
|
}
|
|
4406
4406
|
|
|
4407
|
-
public abstract interface class com/facebook/react/uimanager/UIManagerModuleListener {
|
|
4408
|
-
public abstract fun willDispatchViewUpdates (Lcom/facebook/react/uimanager/UIManagerModule;)V
|
|
4409
|
-
}
|
|
4410
|
-
|
|
4411
4407
|
public class com/facebook/react/uimanager/UIViewOperationQueue {
|
|
4412
4408
|
public static final field DEFAULT_MIN_TIME_LEFT_IN_FRAME_FOR_NONBATCHED_OPERATION_MS I
|
|
4413
4409
|
public fun <init> (Lcom/facebook/react/bridge/ReactApplicationContext;Lcom/facebook/react/uimanager/NativeViewHierarchyManager;I)V
|
|
@@ -869,7 +869,7 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
|
|
|
869
869
|
private int mDeviceRotation = 0;
|
|
870
870
|
|
|
871
871
|
/* package */ CustomGlobalLayoutListener() {
|
|
872
|
-
DisplayMetricsHolder.initDisplayMetricsIfNotInitialized(getContext());
|
|
872
|
+
DisplayMetricsHolder.initDisplayMetricsIfNotInitialized(getContext().getApplicationContext());
|
|
873
873
|
mVisibleViewArea = new Rect();
|
|
874
874
|
mMinKeyboardHeightDetected = (int) PixelUtil.toPixelFromDIP(60);
|
|
875
875
|
}
|
|
@@ -992,7 +992,7 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
|
|
|
992
992
|
return;
|
|
993
993
|
}
|
|
994
994
|
mDeviceRotation = rotation;
|
|
995
|
-
DisplayMetricsHolder.initDisplayMetrics(getContext());
|
|
995
|
+
DisplayMetricsHolder.initDisplayMetrics(getContext().getApplicationContext());
|
|
996
996
|
emitOrientationChanged(rotation);
|
|
997
997
|
}
|
|
998
998
|
|
|
@@ -13,10 +13,8 @@ import android.util.DisplayMetrics
|
|
|
13
13
|
import android.view.WindowManager
|
|
14
14
|
import androidx.core.view.ViewCompat
|
|
15
15
|
import androidx.core.view.WindowInsetsCompat
|
|
16
|
-
import androidx.window.layout.WindowMetricsCalculator
|
|
17
16
|
import com.facebook.react.bridge.WritableMap
|
|
18
17
|
import com.facebook.react.bridge.WritableNativeMap
|
|
19
|
-
import com.facebook.react.views.view.isEdgeToEdgeFeatureFlagOn
|
|
20
18
|
|
|
21
19
|
/**
|
|
22
20
|
* Holds an instance of the current DisplayMetrics so we don't have to thread it through all the
|
|
@@ -64,19 +62,9 @@ public object DisplayMetricsHolder {
|
|
|
64
62
|
@JvmStatic
|
|
65
63
|
public fun initDisplayMetrics(context: Context) {
|
|
66
64
|
val displayMetrics = context.resources.displayMetrics
|
|
67
|
-
|
|
65
|
+
windowDisplayMetrics = displayMetrics
|
|
68
66
|
val screenDisplayMetrics = DisplayMetrics()
|
|
69
|
-
|
|
70
|
-
windowDisplayMetrics.setTo(displayMetrics)
|
|
71
67
|
screenDisplayMetrics.setTo(displayMetrics)
|
|
72
|
-
|
|
73
|
-
if (isEdgeToEdgeFeatureFlagOn) {
|
|
74
|
-
WindowMetricsCalculator.getOrCreate().computeCurrentWindowMetrics(context).let {
|
|
75
|
-
windowDisplayMetrics.widthPixels = it.bounds.width()
|
|
76
|
-
windowDisplayMetrics.heightPixels = it.bounds.height()
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
|
|
80
68
|
val wm = context.getSystemService(Context.WINDOW_SERVICE) as WindowManager
|
|
81
69
|
// Get the real display metrics if we are using API level 17 or higher.
|
|
82
70
|
// The real metrics include system decor elements (e.g. soft menu bar).
|
|
@@ -84,8 +72,6 @@ public object DisplayMetricsHolder {
|
|
|
84
72
|
// See:
|
|
85
73
|
// http://developer.android.com/reference/android/view/Display.html#getRealMetrics(android.util.DisplayMetrics)
|
|
86
74
|
@Suppress("DEPRECATION") wm.defaultDisplay.getRealMetrics(screenDisplayMetrics)
|
|
87
|
-
|
|
88
|
-
DisplayMetricsHolder.windowDisplayMetrics = windowDisplayMetrics
|
|
89
75
|
DisplayMetricsHolder.screenDisplayMetrics = screenDisplayMetrics
|
|
90
76
|
}
|
|
91
77
|
|
|
@@ -13,10 +13,10 @@ import com.facebook.react.common.annotations.internal.LegacyArchitectureLogLevel
|
|
|
13
13
|
/** Listener used to hook into the UIManager update process. */
|
|
14
14
|
@Deprecated("Use UIManagerListener instead. This will be deleted in some future release.")
|
|
15
15
|
@LegacyArchitecture(logLevel = LegacyArchitectureLogLevel.ERROR)
|
|
16
|
-
|
|
16
|
+
internal interface UIManagerModuleListener {
|
|
17
17
|
/**
|
|
18
18
|
* Called right before view updates are dispatched at the end of a batch. This is useful if a
|
|
19
19
|
* module needs to add UIBlocks to the queue before it is flushed.
|
|
20
20
|
*/
|
|
21
|
-
|
|
21
|
+
fun willDispatchViewUpdates(uiManager: UIManagerModule)
|
|
22
22
|
}
|
|
@@ -256,8 +256,13 @@ public class ReactModalHostView(context: ThemedReactContext) :
|
|
|
256
256
|
if (createNewDialog) {
|
|
257
257
|
dismiss()
|
|
258
258
|
} else {
|
|
259
|
-
|
|
260
|
-
|
|
259
|
+
// With Props 2.0 the view creation could include initial props. This means the dialog might
|
|
260
|
+
// still have to be created before the properties can be set. We only update properties if the
|
|
261
|
+
// dialog was already initialized.
|
|
262
|
+
dialog?.let {
|
|
263
|
+
updateProperties()
|
|
264
|
+
return
|
|
265
|
+
}
|
|
261
266
|
}
|
|
262
267
|
|
|
263
268
|
// Reset the flag since we are going to create a new dialog
|
|
@@ -22,7 +22,7 @@ constexpr struct {
|
|
|
22
22
|
int32_t Major = 0;
|
|
23
23
|
int32_t Minor = 82;
|
|
24
24
|
int32_t Patch = 0;
|
|
25
|
-
std::string_view Prerelease = "nightly-
|
|
25
|
+
std::string_view Prerelease = "nightly-20250722-2c3a00b7b";
|
|
26
26
|
} ReactNativeVersion;
|
|
27
27
|
|
|
28
28
|
} // namespace facebook::react
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @flow strict
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
// Declarations for functionality exposed by the Hermes VM.
|
|
12
|
+
//
|
|
13
|
+
// For backwards-compatibility, code that uses such functionality must also
|
|
14
|
+
// check explicitly at run-time whether the object(s) and method(s) exist, and
|
|
15
|
+
// fail safely if not.
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* HermesInternalType is an object containing functions used to interact with
|
|
19
|
+
* the VM in a way that is not standardized by the JS spec.
|
|
20
|
+
* There are limited guarantees about these functions, and they should not be
|
|
21
|
+
* widely used. Consult with the Hermes team before using any of these.
|
|
22
|
+
* There may be other visible properties on this object; however, those are
|
|
23
|
+
* only exposed for testing purposes: do not use them.
|
|
24
|
+
*/
|
|
25
|
+
declare type $HermesInternalType = {
|
|
26
|
+
// All members are optional because they may not exist when OTA'd to older
|
|
27
|
+
// VMs.
|
|
28
|
+
|
|
29
|
+
+getNumGCs?: () => number,
|
|
30
|
+
+getGCTime?: () => number,
|
|
31
|
+
+getNativeCallTime?: () => number,
|
|
32
|
+
+getNativeCallCount?: () => number,
|
|
33
|
+
+getGCCPUTime?: () => number,
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Hermes can embed an "epilogue" to the bytecode file with arbitrary bytes.
|
|
37
|
+
* At most one epilogue will exist per bytecode module (which can be
|
|
38
|
+
* different than a JS module).
|
|
39
|
+
* Calling this function will return all such epilogues and convert the
|
|
40
|
+
* bytes to numbers in the range of 0-255.
|
|
41
|
+
*/
|
|
42
|
+
+getEpilogues?: () => Array<Array<number>>,
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Query the VM for various statistics about performance.
|
|
46
|
+
* There are no guarantees about what keys exist in it, but they can be
|
|
47
|
+
* printed for informational purposes.
|
|
48
|
+
* @return An object that maps strings to various types of performance
|
|
49
|
+
* statistics.
|
|
50
|
+
*/
|
|
51
|
+
+getInstrumentedStats?: () => {[string]: number | string, ...},
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Query the VM for any sort of runtime properties that it wants to report.
|
|
55
|
+
* There are no guarantees about what keys exist in it, but they can be
|
|
56
|
+
* printed for informational purposes.
|
|
57
|
+
* @return An object that maps strings to various types of runtime properties.
|
|
58
|
+
*/
|
|
59
|
+
+getRuntimeProperties?: () => {
|
|
60
|
+
'OSS Release Version': string,
|
|
61
|
+
Build: string,
|
|
62
|
+
[string]: mixed,
|
|
63
|
+
},
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Tell Hermes that at this point the surface has transitioned from TTI to
|
|
67
|
+
* post-TTI. The VM can change some of its internal behavior to optimize for
|
|
68
|
+
* post-TTI scenarios.
|
|
69
|
+
* This can be called several times but will have no effect after the first
|
|
70
|
+
* call.
|
|
71
|
+
*/
|
|
72
|
+
+ttiReached?: () => void,
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Tell Hermes that at this point the surface has transitioned from TTRC to
|
|
76
|
+
* post-TTRC. The VM can change some of its internal behavior to optimize for
|
|
77
|
+
* post-TTRC scenarios.
|
|
78
|
+
* This can be called several times but will have no effect after the first
|
|
79
|
+
* call.
|
|
80
|
+
*/
|
|
81
|
+
+ttrcReached?: () => void,
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Query the VM to see whether or not it enabled Promise.
|
|
85
|
+
*/
|
|
86
|
+
+hasPromise?: () => boolean,
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Enable promise rejection tracking with the given options.
|
|
90
|
+
* The API mirrored the `promise` npm package, therefore it's typed same as
|
|
91
|
+
* the `enable` function of module `promise/setimmediate/rejection-tracking`
|
|
92
|
+
* declared in ./flow-typed/npm/promise_v8.x.x.js.
|
|
93
|
+
*/
|
|
94
|
+
+enablePromiseRejectionTracker?: (
|
|
95
|
+
options: ?{
|
|
96
|
+
whitelist?: ?Array<mixed>,
|
|
97
|
+
allRejections?: ?boolean,
|
|
98
|
+
onUnhandled?: ?(number, mixed) => void,
|
|
99
|
+
onHandled?: ?(number, mixed) => void,
|
|
100
|
+
},
|
|
101
|
+
) => void,
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Query the VM to see whether or not it use the engine Job queue.
|
|
105
|
+
*/
|
|
106
|
+
+useEngineQueue?: () => boolean,
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Enqueue a JavaScript callback function as a Job into the engine Job queue.
|
|
110
|
+
*/
|
|
111
|
+
+enqueueJob?: <TArguments: Array<mixed>>(
|
|
112
|
+
jobCallback: (...args: TArguments) => mixed,
|
|
113
|
+
) => void,
|
|
114
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @flow strict
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
// This type allows Facebook to internally Override
|
|
12
|
+
// this type to allow our internationalization type which
|
|
13
|
+
// is a string at runtime but Flow doesn't know that.
|
|
14
|
+
declare type Stringish = string;
|