react-native 0.84.0-nightly-20251203-a5e6addc6 → 0.84.0-nightly-20251204-5bb3a6d68
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/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +186 -186
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
- package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
- package/ReactCommon/jsinspector-modern/tests/TracingTest.cpp +18 -0
- package/ReactCommon/jsinspector-modern/tracing/FrameTimingSequence.h +4 -2
- package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.cpp +14 -1
- package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.cpp +24 -0
- package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.h +13 -1
- package/ReactCommon/react/runtime/ReactInstance.cpp +1 -1
- package/package.json +10 -10
- package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +7 -6
- package/sdks/hermes-engine/version.properties +1 -1
- /package/ReactCommon/jsi/jsi/{hermes.h → hermes-interfaces.h} +0 -0
|
@@ -29,7 +29,7 @@ export default class ReactNativeVersion {
|
|
|
29
29
|
static major: number = 0;
|
|
30
30
|
static minor: number = 84;
|
|
31
31
|
static patch: number = 0;
|
|
32
|
-
static prerelease: string | null = 'nightly-
|
|
32
|
+
static prerelease: string | null = 'nightly-20251204-5bb3a6d68';
|
|
33
33
|
|
|
34
34
|
static getVersionString(): string {
|
|
35
35
|
return `${this.major}.${this.minor}.${this.patch}${this.prerelease != null ? `-${this.prerelease}` : ''}`;
|
package/React/Base/RCTVersion.m
CHANGED
|
@@ -24,7 +24,7 @@ NSDictionary* RCTGetReactNativeVersion(void)
|
|
|
24
24
|
RCTVersionMajor: @(0),
|
|
25
25
|
RCTVersionMinor: @(84),
|
|
26
26
|
RCTVersionPatch: @(0),
|
|
27
|
-
RCTVersionPrerelease: @"nightly-
|
|
27
|
+
RCTVersionPrerelease: @"nightly-20251204-5bb3a6d68",
|
|
28
28
|
};
|
|
29
29
|
});
|
|
30
30
|
return __rnVersion;
|
|
@@ -2046,53 +2046,6 @@ private:
|
|
|
2046
2046
|
};
|
|
2047
2047
|
|
|
2048
2048
|
|
|
2049
|
-
template <typename T>
|
|
2050
|
-
class JSI_EXPORT NativeAppearanceCxxSpec : public TurboModule {
|
|
2051
|
-
public:
|
|
2052
|
-
static constexpr std::string_view kModuleName = "Appearance";
|
|
2053
|
-
|
|
2054
|
-
protected:
|
|
2055
|
-
NativeAppearanceCxxSpec(std::shared_ptr<CallInvoker> jsInvoker) : TurboModule(std::string{NativeAppearanceCxxSpec::kModuleName}, jsInvoker) {
|
|
2056
|
-
methodMap_["getColorScheme"] = MethodMetadata {.argCount = 0, .invoker = __getColorScheme};
|
|
2057
|
-
methodMap_["setColorScheme"] = MethodMetadata {.argCount = 1, .invoker = __setColorScheme};
|
|
2058
|
-
methodMap_["addListener"] = MethodMetadata {.argCount = 1, .invoker = __addListener};
|
|
2059
|
-
methodMap_["removeListeners"] = MethodMetadata {.argCount = 1, .invoker = __removeListeners};
|
|
2060
|
-
}
|
|
2061
|
-
|
|
2062
|
-
private:
|
|
2063
|
-
static jsi::Value __getColorScheme(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
|
|
2064
|
-
static_assert(
|
|
2065
|
-
bridging::getParameterCount(&T::getColorScheme) == 1,
|
|
2066
|
-
"Expected getColorScheme(...) to have 1 parameters");
|
|
2067
|
-
auto result = bridging::callFromJs<std::optional<jsi::String>>(rt, &T::getColorScheme, static_cast<NativeAppearanceCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));return result ? jsi::Value(std::move(*result)) : jsi::Value::null();
|
|
2068
|
-
}
|
|
2069
|
-
|
|
2070
|
-
static jsi::Value __setColorScheme(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
2071
|
-
static_assert(
|
|
2072
|
-
bridging::getParameterCount(&T::setColorScheme) == 2,
|
|
2073
|
-
"Expected setColorScheme(...) to have 2 parameters");
|
|
2074
|
-
bridging::callFromJs<void>(rt, &T::setColorScheme, static_cast<NativeAppearanceCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule),
|
|
2075
|
-
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt));return jsi::Value::undefined();
|
|
2076
|
-
}
|
|
2077
|
-
|
|
2078
|
-
static jsi::Value __addListener(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
2079
|
-
static_assert(
|
|
2080
|
-
bridging::getParameterCount(&T::addListener) == 2,
|
|
2081
|
-
"Expected addListener(...) to have 2 parameters");
|
|
2082
|
-
bridging::callFromJs<void>(rt, &T::addListener, static_cast<NativeAppearanceCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule),
|
|
2083
|
-
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt));return jsi::Value::undefined();
|
|
2084
|
-
}
|
|
2085
|
-
|
|
2086
|
-
static jsi::Value __removeListeners(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
2087
|
-
static_assert(
|
|
2088
|
-
bridging::getParameterCount(&T::removeListeners) == 2,
|
|
2089
|
-
"Expected removeListeners(...) to have 2 parameters");
|
|
2090
|
-
bridging::callFromJs<void>(rt, &T::removeListeners, static_cast<NativeAppearanceCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule),
|
|
2091
|
-
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asNumber());return jsi::Value::undefined();
|
|
2092
|
-
}
|
|
2093
|
-
};
|
|
2094
|
-
|
|
2095
|
-
|
|
2096
2049
|
#pragma mark - NativeAppStateAppState
|
|
2097
2050
|
|
|
2098
2051
|
template <typename P0>
|
|
@@ -2222,6 +2175,53 @@ private:
|
|
|
2222
2175
|
};
|
|
2223
2176
|
|
|
2224
2177
|
|
|
2178
|
+
template <typename T>
|
|
2179
|
+
class JSI_EXPORT NativeAppearanceCxxSpec : public TurboModule {
|
|
2180
|
+
public:
|
|
2181
|
+
static constexpr std::string_view kModuleName = "Appearance";
|
|
2182
|
+
|
|
2183
|
+
protected:
|
|
2184
|
+
NativeAppearanceCxxSpec(std::shared_ptr<CallInvoker> jsInvoker) : TurboModule(std::string{NativeAppearanceCxxSpec::kModuleName}, jsInvoker) {
|
|
2185
|
+
methodMap_["getColorScheme"] = MethodMetadata {.argCount = 0, .invoker = __getColorScheme};
|
|
2186
|
+
methodMap_["setColorScheme"] = MethodMetadata {.argCount = 1, .invoker = __setColorScheme};
|
|
2187
|
+
methodMap_["addListener"] = MethodMetadata {.argCount = 1, .invoker = __addListener};
|
|
2188
|
+
methodMap_["removeListeners"] = MethodMetadata {.argCount = 1, .invoker = __removeListeners};
|
|
2189
|
+
}
|
|
2190
|
+
|
|
2191
|
+
private:
|
|
2192
|
+
static jsi::Value __getColorScheme(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
|
|
2193
|
+
static_assert(
|
|
2194
|
+
bridging::getParameterCount(&T::getColorScheme) == 1,
|
|
2195
|
+
"Expected getColorScheme(...) to have 1 parameters");
|
|
2196
|
+
auto result = bridging::callFromJs<std::optional<jsi::String>>(rt, &T::getColorScheme, static_cast<NativeAppearanceCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));return result ? jsi::Value(std::move(*result)) : jsi::Value::null();
|
|
2197
|
+
}
|
|
2198
|
+
|
|
2199
|
+
static jsi::Value __setColorScheme(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
2200
|
+
static_assert(
|
|
2201
|
+
bridging::getParameterCount(&T::setColorScheme) == 2,
|
|
2202
|
+
"Expected setColorScheme(...) to have 2 parameters");
|
|
2203
|
+
bridging::callFromJs<void>(rt, &T::setColorScheme, static_cast<NativeAppearanceCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule),
|
|
2204
|
+
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt));return jsi::Value::undefined();
|
|
2205
|
+
}
|
|
2206
|
+
|
|
2207
|
+
static jsi::Value __addListener(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
2208
|
+
static_assert(
|
|
2209
|
+
bridging::getParameterCount(&T::addListener) == 2,
|
|
2210
|
+
"Expected addListener(...) to have 2 parameters");
|
|
2211
|
+
bridging::callFromJs<void>(rt, &T::addListener, static_cast<NativeAppearanceCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule),
|
|
2212
|
+
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt));return jsi::Value::undefined();
|
|
2213
|
+
}
|
|
2214
|
+
|
|
2215
|
+
static jsi::Value __removeListeners(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
2216
|
+
static_assert(
|
|
2217
|
+
bridging::getParameterCount(&T::removeListeners) == 2,
|
|
2218
|
+
"Expected removeListeners(...) to have 2 parameters");
|
|
2219
|
+
bridging::callFromJs<void>(rt, &T::removeListeners, static_cast<NativeAppearanceCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule),
|
|
2220
|
+
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asNumber());return jsi::Value::undefined();
|
|
2221
|
+
}
|
|
2222
|
+
};
|
|
2223
|
+
|
|
2224
|
+
|
|
2225
2225
|
#pragma mark - NativeBlobModuleConstants
|
|
2226
2226
|
|
|
2227
2227
|
template <typename P0, typename P1>
|
|
@@ -2380,6 +2380,145 @@ private:
|
|
|
2380
2380
|
};
|
|
2381
2381
|
|
|
2382
2382
|
|
|
2383
|
+
template <typename T>
|
|
2384
|
+
class JSI_EXPORT NativeDevLoadingViewCxxSpec : public TurboModule {
|
|
2385
|
+
public:
|
|
2386
|
+
static constexpr std::string_view kModuleName = "DevLoadingView";
|
|
2387
|
+
|
|
2388
|
+
protected:
|
|
2389
|
+
NativeDevLoadingViewCxxSpec(std::shared_ptr<CallInvoker> jsInvoker) : TurboModule(std::string{NativeDevLoadingViewCxxSpec::kModuleName}, jsInvoker) {
|
|
2390
|
+
methodMap_["showMessage"] = MethodMetadata {.argCount = 4, .invoker = __showMessage};
|
|
2391
|
+
methodMap_["hide"] = MethodMetadata {.argCount = 0, .invoker = __hide};
|
|
2392
|
+
}
|
|
2393
|
+
|
|
2394
|
+
private:
|
|
2395
|
+
static jsi::Value __showMessage(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
2396
|
+
static_assert(
|
|
2397
|
+
bridging::getParameterCount(&T::showMessage) == 5,
|
|
2398
|
+
"Expected showMessage(...) to have 5 parameters");
|
|
2399
|
+
bridging::callFromJs<void>(rt, &T::showMessage, static_cast<NativeDevLoadingViewCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule),
|
|
2400
|
+
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt),
|
|
2401
|
+
count <= 1 || args[1].isNull() || args[1].isUndefined() ? std::nullopt : std::make_optional(args[1].asNumber()),
|
|
2402
|
+
count <= 2 || args[2].isNull() || args[2].isUndefined() ? std::nullopt : std::make_optional(args[2].asNumber()),
|
|
2403
|
+
count <= 3 || args[3].isNull() || args[3].isUndefined() ? std::nullopt : std::make_optional(args[3].asBool()));return jsi::Value::undefined();
|
|
2404
|
+
}
|
|
2405
|
+
|
|
2406
|
+
static jsi::Value __hide(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
|
|
2407
|
+
static_assert(
|
|
2408
|
+
bridging::getParameterCount(&T::hide) == 1,
|
|
2409
|
+
"Expected hide(...) to have 1 parameters");
|
|
2410
|
+
bridging::callFromJs<void>(rt, &T::hide, static_cast<NativeDevLoadingViewCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));return jsi::Value::undefined();
|
|
2411
|
+
}
|
|
2412
|
+
};
|
|
2413
|
+
|
|
2414
|
+
|
|
2415
|
+
template <typename T>
|
|
2416
|
+
class JSI_EXPORT NativeDevSettingsCxxSpec : public TurboModule {
|
|
2417
|
+
public:
|
|
2418
|
+
static constexpr std::string_view kModuleName = "DevSettings";
|
|
2419
|
+
|
|
2420
|
+
protected:
|
|
2421
|
+
NativeDevSettingsCxxSpec(std::shared_ptr<CallInvoker> jsInvoker) : TurboModule(std::string{NativeDevSettingsCxxSpec::kModuleName}, jsInvoker) {
|
|
2422
|
+
methodMap_["reload"] = MethodMetadata {.argCount = 0, .invoker = __reload};
|
|
2423
|
+
methodMap_["reloadWithReason"] = MethodMetadata {.argCount = 1, .invoker = __reloadWithReason};
|
|
2424
|
+
methodMap_["onFastRefresh"] = MethodMetadata {.argCount = 0, .invoker = __onFastRefresh};
|
|
2425
|
+
methodMap_["setHotLoadingEnabled"] = MethodMetadata {.argCount = 1, .invoker = __setHotLoadingEnabled};
|
|
2426
|
+
methodMap_["setProfilingEnabled"] = MethodMetadata {.argCount = 1, .invoker = __setProfilingEnabled};
|
|
2427
|
+
methodMap_["toggleElementInspector"] = MethodMetadata {.argCount = 0, .invoker = __toggleElementInspector};
|
|
2428
|
+
methodMap_["addMenuItem"] = MethodMetadata {.argCount = 1, .invoker = __addMenuItem};
|
|
2429
|
+
methodMap_["openDebugger"] = MethodMetadata {.argCount = 0, .invoker = __openDebugger};
|
|
2430
|
+
methodMap_["addListener"] = MethodMetadata {.argCount = 1, .invoker = __addListener};
|
|
2431
|
+
methodMap_["removeListeners"] = MethodMetadata {.argCount = 1, .invoker = __removeListeners};
|
|
2432
|
+
methodMap_["setIsShakeToShowDevMenuEnabled"] = MethodMetadata {.argCount = 1, .invoker = __setIsShakeToShowDevMenuEnabled};
|
|
2433
|
+
}
|
|
2434
|
+
|
|
2435
|
+
private:
|
|
2436
|
+
static jsi::Value __reload(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
|
|
2437
|
+
static_assert(
|
|
2438
|
+
bridging::getParameterCount(&T::reload) == 1,
|
|
2439
|
+
"Expected reload(...) to have 1 parameters");
|
|
2440
|
+
bridging::callFromJs<void>(rt, &T::reload, static_cast<NativeDevSettingsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));return jsi::Value::undefined();
|
|
2441
|
+
}
|
|
2442
|
+
|
|
2443
|
+
static jsi::Value __reloadWithReason(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
2444
|
+
static_assert(
|
|
2445
|
+
bridging::getParameterCount(&T::reloadWithReason) == 2,
|
|
2446
|
+
"Expected reloadWithReason(...) to have 2 parameters");
|
|
2447
|
+
bridging::callFromJs<void>(rt, &T::reloadWithReason, static_cast<NativeDevSettingsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule),
|
|
2448
|
+
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt));return jsi::Value::undefined();
|
|
2449
|
+
}
|
|
2450
|
+
|
|
2451
|
+
static jsi::Value __onFastRefresh(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
|
|
2452
|
+
static_assert(
|
|
2453
|
+
bridging::getParameterCount(&T::onFastRefresh) == 1,
|
|
2454
|
+
"Expected onFastRefresh(...) to have 1 parameters");
|
|
2455
|
+
bridging::callFromJs<void>(rt, &T::onFastRefresh, static_cast<NativeDevSettingsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));return jsi::Value::undefined();
|
|
2456
|
+
}
|
|
2457
|
+
|
|
2458
|
+
static jsi::Value __setHotLoadingEnabled(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
2459
|
+
static_assert(
|
|
2460
|
+
bridging::getParameterCount(&T::setHotLoadingEnabled) == 2,
|
|
2461
|
+
"Expected setHotLoadingEnabled(...) to have 2 parameters");
|
|
2462
|
+
bridging::callFromJs<void>(rt, &T::setHotLoadingEnabled, static_cast<NativeDevSettingsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule),
|
|
2463
|
+
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asBool());return jsi::Value::undefined();
|
|
2464
|
+
}
|
|
2465
|
+
|
|
2466
|
+
static jsi::Value __setProfilingEnabled(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
2467
|
+
static_assert(
|
|
2468
|
+
bridging::getParameterCount(&T::setProfilingEnabled) == 2,
|
|
2469
|
+
"Expected setProfilingEnabled(...) to have 2 parameters");
|
|
2470
|
+
bridging::callFromJs<void>(rt, &T::setProfilingEnabled, static_cast<NativeDevSettingsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule),
|
|
2471
|
+
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asBool());return jsi::Value::undefined();
|
|
2472
|
+
}
|
|
2473
|
+
|
|
2474
|
+
static jsi::Value __toggleElementInspector(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
|
|
2475
|
+
static_assert(
|
|
2476
|
+
bridging::getParameterCount(&T::toggleElementInspector) == 1,
|
|
2477
|
+
"Expected toggleElementInspector(...) to have 1 parameters");
|
|
2478
|
+
bridging::callFromJs<void>(rt, &T::toggleElementInspector, static_cast<NativeDevSettingsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));return jsi::Value::undefined();
|
|
2479
|
+
}
|
|
2480
|
+
|
|
2481
|
+
static jsi::Value __addMenuItem(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
2482
|
+
static_assert(
|
|
2483
|
+
bridging::getParameterCount(&T::addMenuItem) == 2,
|
|
2484
|
+
"Expected addMenuItem(...) to have 2 parameters");
|
|
2485
|
+
bridging::callFromJs<void>(rt, &T::addMenuItem, static_cast<NativeDevSettingsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule),
|
|
2486
|
+
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt));return jsi::Value::undefined();
|
|
2487
|
+
}
|
|
2488
|
+
|
|
2489
|
+
static jsi::Value __openDebugger(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
|
|
2490
|
+
static_assert(
|
|
2491
|
+
bridging::getParameterCount(&T::openDebugger) == 1,
|
|
2492
|
+
"Expected openDebugger(...) to have 1 parameters");
|
|
2493
|
+
bridging::callFromJs<void>(rt, &T::openDebugger, static_cast<NativeDevSettingsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));return jsi::Value::undefined();
|
|
2494
|
+
}
|
|
2495
|
+
|
|
2496
|
+
static jsi::Value __addListener(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
2497
|
+
static_assert(
|
|
2498
|
+
bridging::getParameterCount(&T::addListener) == 2,
|
|
2499
|
+
"Expected addListener(...) to have 2 parameters");
|
|
2500
|
+
bridging::callFromJs<void>(rt, &T::addListener, static_cast<NativeDevSettingsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule),
|
|
2501
|
+
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt));return jsi::Value::undefined();
|
|
2502
|
+
}
|
|
2503
|
+
|
|
2504
|
+
static jsi::Value __removeListeners(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
2505
|
+
static_assert(
|
|
2506
|
+
bridging::getParameterCount(&T::removeListeners) == 2,
|
|
2507
|
+
"Expected removeListeners(...) to have 2 parameters");
|
|
2508
|
+
bridging::callFromJs<void>(rt, &T::removeListeners, static_cast<NativeDevSettingsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule),
|
|
2509
|
+
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asNumber());return jsi::Value::undefined();
|
|
2510
|
+
}
|
|
2511
|
+
|
|
2512
|
+
static jsi::Value __setIsShakeToShowDevMenuEnabled(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
2513
|
+
static_assert(
|
|
2514
|
+
bridging::getParameterCount(&T::setIsShakeToShowDevMenuEnabled) == 2,
|
|
2515
|
+
"Expected setIsShakeToShowDevMenuEnabled(...) to have 2 parameters");
|
|
2516
|
+
bridging::callFromJs<void>(rt, &T::setIsShakeToShowDevMenuEnabled, static_cast<NativeDevSettingsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule),
|
|
2517
|
+
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asBool());return jsi::Value::undefined();
|
|
2518
|
+
}
|
|
2519
|
+
};
|
|
2520
|
+
|
|
2521
|
+
|
|
2383
2522
|
template <typename T>
|
|
2384
2523
|
class JSI_EXPORT NativeDeviceEventManagerCxxSpec : public TurboModule {
|
|
2385
2524
|
public:
|
|
@@ -2667,145 +2806,6 @@ private:
|
|
|
2667
2806
|
};
|
|
2668
2807
|
|
|
2669
2808
|
|
|
2670
|
-
template <typename T>
|
|
2671
|
-
class JSI_EXPORT NativeDevLoadingViewCxxSpec : public TurboModule {
|
|
2672
|
-
public:
|
|
2673
|
-
static constexpr std::string_view kModuleName = "DevLoadingView";
|
|
2674
|
-
|
|
2675
|
-
protected:
|
|
2676
|
-
NativeDevLoadingViewCxxSpec(std::shared_ptr<CallInvoker> jsInvoker) : TurboModule(std::string{NativeDevLoadingViewCxxSpec::kModuleName}, jsInvoker) {
|
|
2677
|
-
methodMap_["showMessage"] = MethodMetadata {.argCount = 4, .invoker = __showMessage};
|
|
2678
|
-
methodMap_["hide"] = MethodMetadata {.argCount = 0, .invoker = __hide};
|
|
2679
|
-
}
|
|
2680
|
-
|
|
2681
|
-
private:
|
|
2682
|
-
static jsi::Value __showMessage(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
2683
|
-
static_assert(
|
|
2684
|
-
bridging::getParameterCount(&T::showMessage) == 5,
|
|
2685
|
-
"Expected showMessage(...) to have 5 parameters");
|
|
2686
|
-
bridging::callFromJs<void>(rt, &T::showMessage, static_cast<NativeDevLoadingViewCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule),
|
|
2687
|
-
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt),
|
|
2688
|
-
count <= 1 || args[1].isNull() || args[1].isUndefined() ? std::nullopt : std::make_optional(args[1].asNumber()),
|
|
2689
|
-
count <= 2 || args[2].isNull() || args[2].isUndefined() ? std::nullopt : std::make_optional(args[2].asNumber()),
|
|
2690
|
-
count <= 3 || args[3].isNull() || args[3].isUndefined() ? std::nullopt : std::make_optional(args[3].asBool()));return jsi::Value::undefined();
|
|
2691
|
-
}
|
|
2692
|
-
|
|
2693
|
-
static jsi::Value __hide(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
|
|
2694
|
-
static_assert(
|
|
2695
|
-
bridging::getParameterCount(&T::hide) == 1,
|
|
2696
|
-
"Expected hide(...) to have 1 parameters");
|
|
2697
|
-
bridging::callFromJs<void>(rt, &T::hide, static_cast<NativeDevLoadingViewCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));return jsi::Value::undefined();
|
|
2698
|
-
}
|
|
2699
|
-
};
|
|
2700
|
-
|
|
2701
|
-
|
|
2702
|
-
template <typename T>
|
|
2703
|
-
class JSI_EXPORT NativeDevSettingsCxxSpec : public TurboModule {
|
|
2704
|
-
public:
|
|
2705
|
-
static constexpr std::string_view kModuleName = "DevSettings";
|
|
2706
|
-
|
|
2707
|
-
protected:
|
|
2708
|
-
NativeDevSettingsCxxSpec(std::shared_ptr<CallInvoker> jsInvoker) : TurboModule(std::string{NativeDevSettingsCxxSpec::kModuleName}, jsInvoker) {
|
|
2709
|
-
methodMap_["reload"] = MethodMetadata {.argCount = 0, .invoker = __reload};
|
|
2710
|
-
methodMap_["reloadWithReason"] = MethodMetadata {.argCount = 1, .invoker = __reloadWithReason};
|
|
2711
|
-
methodMap_["onFastRefresh"] = MethodMetadata {.argCount = 0, .invoker = __onFastRefresh};
|
|
2712
|
-
methodMap_["setHotLoadingEnabled"] = MethodMetadata {.argCount = 1, .invoker = __setHotLoadingEnabled};
|
|
2713
|
-
methodMap_["setProfilingEnabled"] = MethodMetadata {.argCount = 1, .invoker = __setProfilingEnabled};
|
|
2714
|
-
methodMap_["toggleElementInspector"] = MethodMetadata {.argCount = 0, .invoker = __toggleElementInspector};
|
|
2715
|
-
methodMap_["addMenuItem"] = MethodMetadata {.argCount = 1, .invoker = __addMenuItem};
|
|
2716
|
-
methodMap_["openDebugger"] = MethodMetadata {.argCount = 0, .invoker = __openDebugger};
|
|
2717
|
-
methodMap_["addListener"] = MethodMetadata {.argCount = 1, .invoker = __addListener};
|
|
2718
|
-
methodMap_["removeListeners"] = MethodMetadata {.argCount = 1, .invoker = __removeListeners};
|
|
2719
|
-
methodMap_["setIsShakeToShowDevMenuEnabled"] = MethodMetadata {.argCount = 1, .invoker = __setIsShakeToShowDevMenuEnabled};
|
|
2720
|
-
}
|
|
2721
|
-
|
|
2722
|
-
private:
|
|
2723
|
-
static jsi::Value __reload(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
|
|
2724
|
-
static_assert(
|
|
2725
|
-
bridging::getParameterCount(&T::reload) == 1,
|
|
2726
|
-
"Expected reload(...) to have 1 parameters");
|
|
2727
|
-
bridging::callFromJs<void>(rt, &T::reload, static_cast<NativeDevSettingsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));return jsi::Value::undefined();
|
|
2728
|
-
}
|
|
2729
|
-
|
|
2730
|
-
static jsi::Value __reloadWithReason(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
2731
|
-
static_assert(
|
|
2732
|
-
bridging::getParameterCount(&T::reloadWithReason) == 2,
|
|
2733
|
-
"Expected reloadWithReason(...) to have 2 parameters");
|
|
2734
|
-
bridging::callFromJs<void>(rt, &T::reloadWithReason, static_cast<NativeDevSettingsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule),
|
|
2735
|
-
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt));return jsi::Value::undefined();
|
|
2736
|
-
}
|
|
2737
|
-
|
|
2738
|
-
static jsi::Value __onFastRefresh(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
|
|
2739
|
-
static_assert(
|
|
2740
|
-
bridging::getParameterCount(&T::onFastRefresh) == 1,
|
|
2741
|
-
"Expected onFastRefresh(...) to have 1 parameters");
|
|
2742
|
-
bridging::callFromJs<void>(rt, &T::onFastRefresh, static_cast<NativeDevSettingsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));return jsi::Value::undefined();
|
|
2743
|
-
}
|
|
2744
|
-
|
|
2745
|
-
static jsi::Value __setHotLoadingEnabled(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
2746
|
-
static_assert(
|
|
2747
|
-
bridging::getParameterCount(&T::setHotLoadingEnabled) == 2,
|
|
2748
|
-
"Expected setHotLoadingEnabled(...) to have 2 parameters");
|
|
2749
|
-
bridging::callFromJs<void>(rt, &T::setHotLoadingEnabled, static_cast<NativeDevSettingsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule),
|
|
2750
|
-
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asBool());return jsi::Value::undefined();
|
|
2751
|
-
}
|
|
2752
|
-
|
|
2753
|
-
static jsi::Value __setProfilingEnabled(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
2754
|
-
static_assert(
|
|
2755
|
-
bridging::getParameterCount(&T::setProfilingEnabled) == 2,
|
|
2756
|
-
"Expected setProfilingEnabled(...) to have 2 parameters");
|
|
2757
|
-
bridging::callFromJs<void>(rt, &T::setProfilingEnabled, static_cast<NativeDevSettingsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule),
|
|
2758
|
-
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asBool());return jsi::Value::undefined();
|
|
2759
|
-
}
|
|
2760
|
-
|
|
2761
|
-
static jsi::Value __toggleElementInspector(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
|
|
2762
|
-
static_assert(
|
|
2763
|
-
bridging::getParameterCount(&T::toggleElementInspector) == 1,
|
|
2764
|
-
"Expected toggleElementInspector(...) to have 1 parameters");
|
|
2765
|
-
bridging::callFromJs<void>(rt, &T::toggleElementInspector, static_cast<NativeDevSettingsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));return jsi::Value::undefined();
|
|
2766
|
-
}
|
|
2767
|
-
|
|
2768
|
-
static jsi::Value __addMenuItem(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
2769
|
-
static_assert(
|
|
2770
|
-
bridging::getParameterCount(&T::addMenuItem) == 2,
|
|
2771
|
-
"Expected addMenuItem(...) to have 2 parameters");
|
|
2772
|
-
bridging::callFromJs<void>(rt, &T::addMenuItem, static_cast<NativeDevSettingsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule),
|
|
2773
|
-
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt));return jsi::Value::undefined();
|
|
2774
|
-
}
|
|
2775
|
-
|
|
2776
|
-
static jsi::Value __openDebugger(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
|
|
2777
|
-
static_assert(
|
|
2778
|
-
bridging::getParameterCount(&T::openDebugger) == 1,
|
|
2779
|
-
"Expected openDebugger(...) to have 1 parameters");
|
|
2780
|
-
bridging::callFromJs<void>(rt, &T::openDebugger, static_cast<NativeDevSettingsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));return jsi::Value::undefined();
|
|
2781
|
-
}
|
|
2782
|
-
|
|
2783
|
-
static jsi::Value __addListener(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
2784
|
-
static_assert(
|
|
2785
|
-
bridging::getParameterCount(&T::addListener) == 2,
|
|
2786
|
-
"Expected addListener(...) to have 2 parameters");
|
|
2787
|
-
bridging::callFromJs<void>(rt, &T::addListener, static_cast<NativeDevSettingsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule),
|
|
2788
|
-
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt));return jsi::Value::undefined();
|
|
2789
|
-
}
|
|
2790
|
-
|
|
2791
|
-
static jsi::Value __removeListeners(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
2792
|
-
static_assert(
|
|
2793
|
-
bridging::getParameterCount(&T::removeListeners) == 2,
|
|
2794
|
-
"Expected removeListeners(...) to have 2 parameters");
|
|
2795
|
-
bridging::callFromJs<void>(rt, &T::removeListeners, static_cast<NativeDevSettingsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule),
|
|
2796
|
-
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asNumber());return jsi::Value::undefined();
|
|
2797
|
-
}
|
|
2798
|
-
|
|
2799
|
-
static jsi::Value __setIsShakeToShowDevMenuEnabled(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
2800
|
-
static_assert(
|
|
2801
|
-
bridging::getParameterCount(&T::setIsShakeToShowDevMenuEnabled) == 2,
|
|
2802
|
-
"Expected setIsShakeToShowDevMenuEnabled(...) to have 2 parameters");
|
|
2803
|
-
bridging::callFromJs<void>(rt, &T::setIsShakeToShowDevMenuEnabled, static_cast<NativeDevSettingsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule),
|
|
2804
|
-
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asBool());return jsi::Value::undefined();
|
|
2805
|
-
}
|
|
2806
|
-
};
|
|
2807
|
-
|
|
2808
|
-
|
|
2809
2809
|
#pragma mark - NativeDialogManagerAndroidDialogOptions
|
|
2810
2810
|
|
|
2811
2811
|
template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6>
|
|
@@ -22,7 +22,7 @@ constexpr struct {
|
|
|
22
22
|
int32_t Major = 0;
|
|
23
23
|
int32_t Minor = 84;
|
|
24
24
|
int32_t Patch = 0;
|
|
25
|
-
std::string_view Prerelease = "nightly-
|
|
25
|
+
std::string_view Prerelease = "nightly-20251204-5bb3a6d68";
|
|
26
26
|
} ReactNativeVersion;
|
|
27
27
|
|
|
28
28
|
} // namespace facebook::react
|
|
@@ -95,4 +95,22 @@ TEST_F(TracingTest, EmitsRecordedFrameTimingSequences) {
|
|
|
95
95
|
EXPECT_THAT(allTraceEvents, Contains(AtJsonPtr("/name", "DrawFrame")));
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
+
TEST_F(TracingTest, EmitsScreenshotEventWhenScreenshotValuePassed) {
|
|
99
|
+
InSequence s;
|
|
100
|
+
|
|
101
|
+
startTracing({tracing::Category::Screenshot});
|
|
102
|
+
auto now = HighResTimeStamp::now();
|
|
103
|
+
page_->recordFrameTimings(
|
|
104
|
+
tracing::FrameTimingSequence(
|
|
105
|
+
1, // id
|
|
106
|
+
11, // threadId
|
|
107
|
+
now,
|
|
108
|
+
now + HighResDuration::fromNanoseconds(10),
|
|
109
|
+
now + HighResDuration::fromNanoseconds(50),
|
|
110
|
+
"base64EncodedScreenshotData"));
|
|
111
|
+
|
|
112
|
+
auto allTraceEvents = endTracingAndCollectEvents();
|
|
113
|
+
EXPECT_THAT(allTraceEvents, Contains(AtJsonPtr("/name", "Screenshot")));
|
|
114
|
+
}
|
|
115
|
+
|
|
98
116
|
} // namespace facebook::react::jsinspector_modern
|
|
@@ -13,6 +13,8 @@
|
|
|
13
13
|
|
|
14
14
|
namespace facebook::react::jsinspector_modern::tracing {
|
|
15
15
|
|
|
16
|
+
using FrameSequenceId = uint64_t;
|
|
17
|
+
|
|
16
18
|
/**
|
|
17
19
|
* A struct representing a sequence of frame timings that happened on the Host side.
|
|
18
20
|
*/
|
|
@@ -20,7 +22,7 @@ struct FrameTimingSequence {
|
|
|
20
22
|
FrameTimingSequence() = delete;
|
|
21
23
|
|
|
22
24
|
FrameTimingSequence(
|
|
23
|
-
|
|
25
|
+
FrameSequenceId id,
|
|
24
26
|
ThreadId threadId,
|
|
25
27
|
HighResTimeStamp beginDrawingTimestamp,
|
|
26
28
|
HighResTimeStamp commitTimestamp,
|
|
@@ -38,7 +40,7 @@ struct FrameTimingSequence {
|
|
|
38
40
|
/**
|
|
39
41
|
* Unique ID of the sequence, used by Chrome DevTools Frontend to identify the events that form one sequence.
|
|
40
42
|
*/
|
|
41
|
-
|
|
43
|
+
FrameSequenceId id;
|
|
42
44
|
|
|
43
45
|
/**
|
|
44
46
|
* The ID of the native thread that is associated with the frame.
|
|
@@ -100,7 +100,7 @@ constexpr int FALLBACK_LAYER_TREE_ID = 1;
|
|
|
100
100
|
chunk.push_back(
|
|
101
101
|
TraceEventSerializer::serialize(std::move(setLayerTreeIdEvent)));
|
|
102
102
|
|
|
103
|
-
for (
|
|
103
|
+
for (auto&& frameTimingSequence : frameTimings) {
|
|
104
104
|
if (chunk.size() >= chunkSize) {
|
|
105
105
|
chunkCallback(std::move(chunk));
|
|
106
106
|
chunk = generateNewChunk(chunkSize);
|
|
@@ -121,6 +121,19 @@ constexpr int FALLBACK_LAYER_TREE_ID = 1;
|
|
|
121
121
|
chunk.push_back(TraceEventSerializer::serialize(std::move(commitEvent)));
|
|
122
122
|
chunk.push_back(
|
|
123
123
|
TraceEventSerializer::serialize(std::move(endDrawingEvent)));
|
|
124
|
+
|
|
125
|
+
if (frameTimingSequence.screenshot.has_value()) {
|
|
126
|
+
auto screenshotEvent = TraceEventGenerator::createScreenshotEvent(
|
|
127
|
+
frameTimingSequence.id,
|
|
128
|
+
FALLBACK_LAYER_TREE_ID,
|
|
129
|
+
std::move(frameTimingSequence.screenshot.value()),
|
|
130
|
+
frameTimingSequence.endDrawingTimestamp,
|
|
131
|
+
processId,
|
|
132
|
+
frameTimingSequence.threadId);
|
|
133
|
+
|
|
134
|
+
chunk.push_back(
|
|
135
|
+
TraceEventSerializer::serialize(std::move(screenshotEvent)));
|
|
136
|
+
}
|
|
124
137
|
}
|
|
125
138
|
|
|
126
139
|
if (!chunk.empty()) {
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
#include "TraceEventGenerator.h"
|
|
9
|
+
#include "Timing.h"
|
|
9
10
|
#include "TracingCategory.h"
|
|
10
11
|
|
|
11
12
|
namespace facebook::react::jsinspector_modern::tracing {
|
|
@@ -77,4 +78,27 @@ TraceEventGenerator::createFrameTimingsEvents(
|
|
|
77
78
|
return {std::move(beginEvent), std::move(commitEvent), std::move(drawEvent)};
|
|
78
79
|
}
|
|
79
80
|
|
|
81
|
+
/* static */ TraceEvent TraceEventGenerator::createScreenshotEvent(
|
|
82
|
+
FrameSequenceId frameSequenceId,
|
|
83
|
+
int sourceId,
|
|
84
|
+
std::string&& snapshot,
|
|
85
|
+
HighResTimeStamp expectedDisplayTime,
|
|
86
|
+
ProcessId processId,
|
|
87
|
+
ThreadId threadId) {
|
|
88
|
+
folly::dynamic args = folly::dynamic::object("snapshot", std::move(snapshot))(
|
|
89
|
+
"source_id", sourceId)("frame_sequence", frameSequenceId)(
|
|
90
|
+
"expected_display_time",
|
|
91
|
+
highResTimeStampToTracingClockTimeStamp(expectedDisplayTime));
|
|
92
|
+
|
|
93
|
+
return TraceEvent{
|
|
94
|
+
.name = "Screenshot",
|
|
95
|
+
.cat = {Category::Screenshot},
|
|
96
|
+
.ph = 'O',
|
|
97
|
+
.ts = expectedDisplayTime,
|
|
98
|
+
.pid = processId,
|
|
99
|
+
.tid = threadId,
|
|
100
|
+
.args = std::move(args),
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
|
|
80
104
|
}; // namespace facebook::react::jsinspector_modern::tracing
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
#include "TraceEvent.h"
|
|
11
11
|
|
|
12
|
+
#include <jsinspector-modern/tracing/FrameTimingSequence.h>
|
|
12
13
|
#include <react/timing/primitives.h>
|
|
13
14
|
|
|
14
15
|
#include <tuple>
|
|
@@ -35,13 +36,24 @@ class TraceEventGenerator {
|
|
|
35
36
|
* Creates canonical "BeginFrame", "Commit", "DrawFrame" trace events.
|
|
36
37
|
*/
|
|
37
38
|
static std::tuple<TraceEvent, TraceEvent, TraceEvent> createFrameTimingsEvents(
|
|
38
|
-
|
|
39
|
+
FrameSequenceId sequenceId,
|
|
39
40
|
int layerTreeId,
|
|
40
41
|
HighResTimeStamp beginDrawingTimestamp,
|
|
41
42
|
HighResTimeStamp commitTimestamp,
|
|
42
43
|
HighResTimeStamp endDrawingTimestamp,
|
|
43
44
|
ProcessId processId,
|
|
44
45
|
ThreadId threadId);
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Creates canonical "Screenshot" trace event.
|
|
49
|
+
*/
|
|
50
|
+
static TraceEvent createScreenshotEvent(
|
|
51
|
+
FrameSequenceId frameSequenceId,
|
|
52
|
+
int sourceId,
|
|
53
|
+
std::string &&snapshot,
|
|
54
|
+
HighResTimeStamp expectedDisplayTime,
|
|
55
|
+
ProcessId processId,
|
|
56
|
+
ThreadId threadId);
|
|
45
57
|
};
|
|
46
58
|
|
|
47
59
|
}; // namespace facebook::react::jsinspector_modern::tracing
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
#include <cxxreact/TraceSection.h>
|
|
16
16
|
#include <glog/logging.h>
|
|
17
17
|
#include <jsi/JSIDynamic.h>
|
|
18
|
-
#include <jsi/hermes.h>
|
|
18
|
+
#include <jsi/hermes-interfaces.h>
|
|
19
19
|
#include <jsi/instrumentation.h>
|
|
20
20
|
#include <jsinspector-modern/HostTarget.h>
|
|
21
21
|
#include <react/featureflags/ReactNativeFeatureFlags.h>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native",
|
|
3
|
-
"version": "0.84.0-nightly-
|
|
3
|
+
"version": "0.84.0-nightly-20251204-5bb3a6d68",
|
|
4
4
|
"description": "A framework for building native apps using React",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -160,13 +160,13 @@
|
|
|
160
160
|
},
|
|
161
161
|
"dependencies": {
|
|
162
162
|
"@jest/create-cache-key-function": "^29.7.0",
|
|
163
|
-
"@react-native/assets-registry": "0.84.0-nightly-
|
|
164
|
-
"@react-native/codegen": "0.84.0-nightly-
|
|
165
|
-
"@react-native/community-cli-plugin": "0.84.0-nightly-
|
|
166
|
-
"@react-native/gradle-plugin": "0.84.0-nightly-
|
|
167
|
-
"@react-native/js-polyfills": "0.84.0-nightly-
|
|
168
|
-
"@react-native/normalize-colors": "0.84.0-nightly-
|
|
169
|
-
"@react-native/virtualized-lists": "0.84.0-nightly-
|
|
163
|
+
"@react-native/assets-registry": "0.84.0-nightly-20251204-5bb3a6d68",
|
|
164
|
+
"@react-native/codegen": "0.84.0-nightly-20251204-5bb3a6d68",
|
|
165
|
+
"@react-native/community-cli-plugin": "0.84.0-nightly-20251204-5bb3a6d68",
|
|
166
|
+
"@react-native/gradle-plugin": "0.84.0-nightly-20251204-5bb3a6d68",
|
|
167
|
+
"@react-native/js-polyfills": "0.84.0-nightly-20251204-5bb3a6d68",
|
|
168
|
+
"@react-native/normalize-colors": "0.84.0-nightly-20251204-5bb3a6d68",
|
|
169
|
+
"@react-native/virtualized-lists": "0.84.0-nightly-20251204-5bb3a6d68",
|
|
170
170
|
"abort-controller": "^3.0.0",
|
|
171
171
|
"anser": "^1.4.9",
|
|
172
172
|
"ansi-regex": "^5.0.0",
|
|
@@ -175,8 +175,7 @@
|
|
|
175
175
|
"base64-js": "^1.5.1",
|
|
176
176
|
"commander": "^12.0.0",
|
|
177
177
|
"flow-enums-runtime": "^0.0.6",
|
|
178
|
-
"
|
|
179
|
-
"hermes-compiler": "0.14.0-commitly-202512022111-b17bcdb50",
|
|
178
|
+
"hermes-compiler": "0.14.0-commitly-202512030604-3713fb12a",
|
|
180
179
|
"invariant": "^2.2.4",
|
|
181
180
|
"jest-environment-node": "^29.7.0",
|
|
182
181
|
"memoize-one": "^5.0.0",
|
|
@@ -191,6 +190,7 @@
|
|
|
191
190
|
"scheduler": "0.27.0",
|
|
192
191
|
"semver": "^7.1.3",
|
|
193
192
|
"stacktrace-parser": "^0.1.10",
|
|
193
|
+
"tinyglobby": "^0.2.15",
|
|
194
194
|
"whatwg-fetch": "^3.0.0",
|
|
195
195
|
"ws": "^7.5.10",
|
|
196
196
|
"yargs": "^17.6.2"
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
const CodegenUtils = require('../codegen-utils');
|
|
14
14
|
const {codegenLog} = require('./utils');
|
|
15
15
|
const fs = require('fs');
|
|
16
|
-
const glob = require('glob');
|
|
17
16
|
const path = require('path');
|
|
17
|
+
const {globSync} = require('tinyglobby');
|
|
18
18
|
|
|
19
19
|
function generateSchemaInfos(
|
|
20
20
|
libraries /*: $ReadOnlyArray<$FlowFixMe> */,
|
|
@@ -57,17 +57,18 @@ function extractSupportedApplePlatforms(
|
|
|
57
57
|
dependencyPath /*: string */,
|
|
58
58
|
) /*: ?{[string]: boolean} */ {
|
|
59
59
|
codegenLog('Searching for podspec in the project dependencies.', true);
|
|
60
|
-
const podspecs =
|
|
60
|
+
const podspecs = globSync('*.podspec', {
|
|
61
|
+
cwd: dependencyPath,
|
|
62
|
+
onlyFiles: true,
|
|
63
|
+
absolute: true,
|
|
64
|
+
});
|
|
61
65
|
|
|
62
66
|
if (podspecs.length === 0) {
|
|
63
67
|
return;
|
|
64
68
|
}
|
|
65
69
|
|
|
66
70
|
// Take the first podspec found
|
|
67
|
-
const podspec = fs.readFileSync(
|
|
68
|
-
path.join(dependencyPath, podspecs[0]),
|
|
69
|
-
'utf8',
|
|
70
|
-
);
|
|
71
|
+
const podspec = fs.readFileSync(podspecs[0], 'utf8');
|
|
71
72
|
|
|
72
73
|
/**
|
|
73
74
|
* Podspec can have platforms defined in two ways:
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
HERMES_VERSION_NAME=0.14.0-commitly-
|
|
1
|
+
HERMES_VERSION_NAME=0.14.0-commitly-202512030604-3713fb12a
|
|
2
2
|
HERMES_V1_VERSION_NAME=250829098.0.4
|
|
File without changes
|