Skip to content

chore: merge up to 0.79-stable branch #2620

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 913 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
913 commits
Select commit Hold shift + click to select a range
e4e03bd
Trace the import path that leads to an untranslatable file (#49480)
iwoplaza Feb 18, 2025
7f1edbd
Migrate `ReactClippingViewGroup` to Kotlin (#49413)
mateoguzmana Feb 18, 2025
ce84922
Convert DevMenu to use exports syntax (#49491)
j-piasecki Feb 18, 2025
db679f7
Remove unused Gradle task `packageReactNdkLibsForBuck` (#49493)
cortinico Feb 18, 2025
e41887e
Add support for Gradle Configuration caching (#49484)
cortinico Feb 18, 2025
8beae3b
Align types of the Libraries/PushNotificationIOS between Flow and TS …
coado Feb 18, 2025
1954f16
Consolidate mode files in xplat/mode/react-native (#49463)
javache Feb 18, 2025
7f6fe61
migrate RCTSafeArea away from RCTUnsafeExecuteOnMainQueueSync (#49440)
sammy-SC Feb 18, 2025
a3b29e1
Fix inset shadows when blur < spread (#49448)
joevilches Feb 18, 2025
3442b38
Implement getDelegateMethod on ReactPopupMenuManager (#49507)
mdvacca Feb 19, 2025
b53e86b
Deploy 0.261.2 to xplat
SamChou19815 Feb 19, 2025
8a2602f
Reland 2: Wire up native box shadow parsing (#49503)
NickGerleman Feb 19, 2025
b91565d
Add box shadow examples which use objects and PlatformColor (#49504)
NickGerleman Feb 19, 2025
05856b4
Wire up native filter parsing (#49505)
NickGerleman Feb 19, 2025
4fa5169
Filter and Box Shadow Conversion Tests and Fixes (#49418)
NickGerleman Feb 19, 2025
d69874f
reset transformation when crossing ScrollView in Fabric View Culling …
sammy-SC Feb 19, 2025
1705f96
RCTNetworking does not require main thread setup (#49475)
sammy-SC Feb 19, 2025
bae8955
Align press and scroll events with OSS (#49424)
j-piasecki Feb 19, 2025
c0e43ed
Extracted the dependencies array to separate file (#49495)
cipolleschi Feb 19, 2025
ca37f2b
Add argument parsing and help function to prepare ios build (#49496)
cipolleschi Feb 19, 2025
601b2ec
Honor the task provided to prepare-ios-prebuilds (#49497)
cipolleschi Feb 19, 2025
11377d7
Update changelog for 0.78 (#49469)
cipolleschi Feb 19, 2025
29114dd
migrate RCTAppearance away from RCTUnsafeExecuteOnMainQueueSync and m…
sammy-SC Feb 19, 2025
0e54029
remove requirement for main queue setup for RCTPlatform (#49474)
sammy-SC Feb 19, 2025
f4927fc
migrate RCTAppState away from main thread initialization (#49476)
sammy-SC Feb 19, 2025
ee90f2d
Prefer common interface files when building the type graph (#49494)
iwoplaza Feb 19, 2025
6c8ace9
Simplify MapBuffer constructor (#49492)
javache Feb 19, 2025
864d478
Handle configurations and destinations in prepare-ios-prebuilds (#49498)
cipolleschi Feb 19, 2025
e5f08c7
Make `RCTLog` & `ExceptionDataHelper` internal (#49502)
mateoguzmana Feb 19, 2025
236db59
Introduce EventBeat::unstable_setInduceCallback to batch sync state u…
sammy-SC Feb 19, 2025
4bafd47
Migrate `ViewManagerResolver` & `UIManagerModuleListener` to Kotlin (…
mateoguzmana Feb 19, 2025
1a9ec07
warn when user tries to open DevTools, when not in debug mode (#49499)
vzaidman Feb 19, 2025
3f9e474
Align Flow to TS types in Modal (#49521)
coado Feb 19, 2025
e85d70c
Create a CMake executable target (#49526)
andrewdacenko Feb 19, 2025
0f8ef32
initialise RN proxy object in bridge (#49527)
sammy-SC Feb 19, 2025
cdaa1aa
community-cli-plugin: resolve cli-server-api via peer dependency on c…
robhogan Feb 19, 2025
c5b926b
move RCTAccessibilityManager away from main thread initialization (#4…
sammy-SC Feb 19, 2025
470bc40
remove use of RCTUnsafeExecuteOnMainQueueSync and main thread setup f…
sammy-SC Feb 19, 2025
0c1e9ea
Make `DefaultDevSupportManagerFactory`, `InspectorFlags` & `JSDebugge…
mateoguzmana Feb 19, 2025
a1952b6
Revert D69836482: Multisect successfully blamed "D69836482: [react-na…
Feb 19, 2025
d50a3b4
do not call RCTUnsafeExecuteOnMainQueueSync with a lock in RCTWindowS…
sammy-SC Feb 19, 2025
36f29be
Fix force RTL support on new architecture. (#49455)
chrsmys Feb 19, 2025
e137a52
Reland of: Make `RCTLog` & `ExceptionDataHelper` internal (#49536)
mateoguzmana Feb 19, 2025
46ce79b
move RCTInitializeUIKitProxies to RCTFabricSurface init (#49541)
sammy-SC Feb 19, 2025
19c41f1
Use apple platform name for macOS instead of hardcoding iOS (#49542)
shwanton Feb 20, 2025
fefa17a
Sort kotlin modifier to canonical order (#49533)
cortinico Feb 20, 2025
fc325cf
Remove all the redundant `public` visibility modifier (#49532)
cortinico Feb 20, 2025
41b597c
Move U+200E character to first fragment (#49534)
rozele Feb 20, 2025
778382a
RNGP - Add option to disable bundle compression (was: Make all React …
mrousavy Feb 20, 2025
5e63f34
Throw exception with name of TurboModule instead of deadlock during s…
lyahdav Feb 20, 2025
4631f6b
Increase number tokenization precision (#49545)
NickGerleman Feb 20, 2025
c99b717
Add validation to Fabric parsing for transform and transformOrigin ob…
NickGerleman Feb 20, 2025
9ece93e
add unit test for view culling when parent has transform (#49535)
sammy-SC Feb 20, 2025
e49f2d5
Enable Gradle Configuration Caching on CI (#49514)
cortinico Feb 20, 2025
b8af3ad
Cleanup old xcframework (#49524)
cipolleschi Feb 20, 2025
07f05ce
fix typo in configuration check (#49523)
cipolleschi Feb 20, 2025
3ab568d
Add utility function to validate args (#49522)
cipolleschi Feb 20, 2025
feb27cb
js1 publish react-native 0.79.0-main (#49550)
fabriziocucci Feb 20, 2025
3eec4a3
Back out "Throw exception with name of TurboModule instead of deadloc…
cipolleschi Feb 20, 2025
0b67218
Add dummy cpp for renderercss (#49553)
cipolleschi Feb 20, 2025
38190f5
Migrate `StateWrapper` to Kotlin (#49544)
mateoguzmana Feb 20, 2025
3d1c1b5
remove incorrect call of removeObserver from RCTDeviceInfo (#49551)
sammy-SC Feb 20, 2025
94ea10c
Fix implicit cast from double to PointerIndentifier in NativeDOM.cpp …
jonthysell Feb 20, 2025
a5e853b
initialise member variable in RCTWindowSafeAreaProxy startObservingSa…
sammy-SC Feb 20, 2025
c079d52
Partially align Utilities with OSS types (#49471)
j-piasecki Feb 20, 2025
a91cafd
add debuggerSessionIDs fields to debugger events (#49552)
vzaidman Feb 20, 2025
2c4a9d2
chore: make iOS glog script compatible with tvOS (#49539)
douglowder Feb 20, 2025
339297f
Introduce ReactLegacyArchitectureProcessor annotation processor (#49568)
mdvacca Feb 21, 2025
c612662
Mark subset of bridge classes as LegacyArchitecture (#49569)
mdvacca Feb 21, 2025
14bb32f
Create initial version of ReactLegacyArchitectureProcessor (#49570)
mdvacca Feb 21, 2025
e8afcbb
Migrate ReactLegacyArchitectureProcessor to kotlin (#49571)
mdvacca Feb 21, 2025
e6d0ef2
Introduce script to generate list of legacy architecture types (#49579)
mdvacca Feb 21, 2025
bce6aa2
Back out "Migrate `ReactClippingViewGroup` to Kotlin" (#49586)
alanleedev Feb 21, 2025
4535e62
add the event tracking when connection to debugger is closed (#49574)
vzaidman Feb 21, 2025
f200b70
Add Fantom test for synchronous state updates + UI consistency (#49572)
rubennorte Feb 21, 2025
b418aac
Add TouchableWithoutFeedback to buildTypes and align Flow with TS typ…
coado Feb 21, 2025
e96e0de
Add TouchableNativeFeedback to buildTypes and align Flow types (#49561)
coado Feb 21, 2025
f5837bf
Add TouchableHighlight to buildTypes and move comments from TS defini…
coado Feb 21, 2025
ffd426a
Unbreak CI due to AP Kotlin code which fails to compile (#49589)
cortinico Feb 21, 2025
303d379
Make `RedBoxContentView` internal (#49578)
cortinico Feb 21, 2025
5a01b00
Make PerftestDevSupportManager internal (#49577)
cortinico Feb 21, 2025
289dba8
Align InteractionManager and PanResponder types with OSS (#49517)
j-piasecki Feb 21, 2025
fd3b911
chore(community-cli-plugin): Drop shadowed readline module (#49557)
kitten Feb 21, 2025
e7d0271
Revert D69934543: Make `RedBoxContentView` internal
Feb 21, 2025
bd8c197
Revert D69934544: Make PerftestDevSupportManager internal
Feb 21, 2025
4bc2c52
Make `HermesMemoryDumper` internal (#49585)
mateoguzmana Feb 21, 2025
28458a0
chore(dev-middleware): Move `selfsigned` to `package.json:devDependen…
kitten Feb 21, 2025
b0fd9c1
Update androidx app compat to 1.7.0 (#49594)
janicduplessis Feb 21, 2025
55acb42
chore(community-cli-plugin): Remove extraneous `@react-native/metro-b…
kitten Feb 21, 2025
6dbc055
Cleanup enableEventEmitterRetentionDuringGesturesOnAndroid feature fl…
cortinico Feb 21, 2025
0d45428
Add Switch to buildTypes and align Flow with TS types. (#49597)
coado Feb 21, 2025
f85cca0
Back out D69855097 & D69874923 to unblock Twilight headset pairing/di…
Feb 21, 2025
0aa8af9
Migrate `com.facebook.react.modules.network.RequestBodyUtil` to Kotli…
mateoguzmana Feb 21, 2025
441744a
Implement view finding by native id (#49581)
joevilches Feb 21, 2025
07d9cf3
Back out "cleanup feature flag enableFabricCompleteRootInCommitPhase"…
Feb 21, 2025
4bb03f3
Migrate `com.facebook.react.bridge.queue.MessageQueueThreadHandler` t…
mateoguzmana Feb 21, 2025
8cc772d
Make `PackagerStatusCheck` Internal (#49575)
cortinico Feb 21, 2025
50878c2
Reland: Make PerftestDevSupportManager internal (#49595)
cortinico Feb 21, 2025
d65d846
Move text-specific a11y logic in ReactAccessibilityDelegate to subcla…
joevilches Feb 22, 2025
c9e6567
Fix issue where state updating text to remove link would break TalkBack
joevilches Feb 22, 2025
a003be0
Allow text links to be navigatable via keyboard by default v2 (#49381)
joevilches Feb 22, 2025
814e1eb
avoid sync dispatch with locked mutex in RCTKeyWindowValuesProxy (#49…
sammy-SC Feb 22, 2025
1fe8d58
Remove sharedApplication use in SafeAreaProxy (#49612)
sbuggay Feb 22, 2025
021167e
Remove MessageQueueThreadHandler.java to fix CI (#49613)
mateoguzmana Feb 23, 2025
7b5b7b2
Update VirtualizedSectionList props name (#49592)
j-piasecki Feb 24, 2025
56ed15e
Add optional reference to the TouchableHighlight and new types test (…
coado Feb 24, 2025
4e7b77e
create a heartbeat for device, and not only for debugger (#49618)
vzaidman Feb 24, 2025
b060fbe
Add StatusBar to buildTypes and align Flow with TS types (#49598)
coado Feb 24, 2025
53ff613
Re-land: Make `RedBoxContentView` internal (#49596)
cortinico Feb 24, 2025
dcaa33e
Add support for `numberOfLines` for `TextInput` on iOS (#49549)
j-piasecki Feb 24, 2025
0a87f0c
Align ScrollView with the OSS types (#49617)
j-piasecki Feb 24, 2025
14b0c27
remove duplicate call to json stringify (#49621)
vzaidman Feb 24, 2025
e630b2c
Create specific module in RN to define the types for host instances a…
rubennorte Feb 24, 2025
dbc0bf3
Prepare for removal of types in ReactNativeTypes (#49602)
rubennorte Feb 24, 2025
db4086d
Align LayoutConformance types with OSS (#49625)
j-piasecki Feb 24, 2025
3f3066f
Remove unused sample turbo cxx module variants (#49629)
javache Feb 24, 2025
f8627e5
Align ActivityIndicator with OSS types (#49519)
j-piasecki Feb 24, 2025
5c1e01f
Fabric: Fixes shouldRasterizeIOS prop of View not work on iOS (#49615)
zhongwuzw Feb 24, 2025
92e2168
Add RefreshControl to buildTypes and align Flow with TS types (#49564)
coado Feb 24, 2025
e3b176a
fix: set text position should not reset component text (#49450)
Feb 24, 2025
8bce4a3
Change TouchedViewDataAtPoint type in ReactNativeTypes to use support…
hoxyq Feb 24, 2025
c66728d
Add ButtonProps export (#49593)
j-piasecki Feb 24, 2025
b565489
Use implicit namespace to better align Animated module with OSS types…
iwoplaza Feb 24, 2025
6f968f0
Pre-suppress errors ahead of builtin libdef improvements (#49647)
SamChou19815 Feb 24, 2025
929c8e4
Fabric: disable React-Fabric stable_sort strict weak sort check in de…
zhongwuzw Feb 24, 2025
f424b68
Add basic benchmarks for the Performance API (#49638)
rubennorte Feb 24, 2025
8989bc2
Refactor tracing in performance.mark and performance.measure (#49639)
rubennorte Feb 24, 2025
ddf9338
enable owner stacks everywhere (#32376)
rickhanlonii Feb 24, 2025
f17c264
Revert D69849314: Use implicit namespace to better align Animated mod…
Feb 24, 2025
a302fbc
Set ReactSurface and ReactRootView to ReactDelegate when created via …
Feb 24, 2025
8c848b4
Reland: Throw exception with name of TurboModule instead of deadlock …
lyahdav Feb 25, 2025
cccd93b
Fix typo in RCTLegacyViewMangerInteropComponentView (#49652)
realsoelynn Feb 25, 2025
0c6dcfd
Use isEmpty as opposed to .size() > 0 in BaseViewManager.java (#49654)
joevilches Feb 25, 2025
e6af795
Remove some confusing comments in ReactAccessibilityDelegate (#49655)
joevilches Feb 25, 2025
4309a5d
Fix URLSearchParams common interface definition (#49640)
j-piasecki Feb 25, 2025
091f542
Add a pretransform replacing Stringish with string (#49636)
j-piasecki Feb 25, 2025
dee6168
Align Keyboard types with OSS (#49623)
j-piasecki Feb 25, 2025
4e79ca4
Add Touchable to buildTypes and align Flow with TS types (#49562)
coado Feb 25, 2025
721f85a
Set minimum typescript version to 4.9 (#49637)
coado Feb 25, 2025
094c5be
Merge and align global.d.ts and globals.d.ts files (#49516)
coado Feb 25, 2025
e3d607f
Fix new arch refresh control not shown when refreshing on mount (#49240)
High5Apps Feb 25, 2025
91b4354
add arguments to command logs (#49646)
sammy-SC Feb 25, 2025
514fccf
Migrate `ReactMarkerConstants` to Kotlin (#49645)
mateoguzmana Feb 25, 2025
d8df3a6
chore(Android): migrate most of the files under MessageQueue to Kotli…
TheRogue76 Feb 25, 2025
823ede1
Backout D69745459 to resolve more Twilight headset pairing issues (#4…
Feb 25, 2025
acc4c9e
translation auto-update for Apps/Wilde/scripts/intl-config.json on ma…
Feb 25, 2025
a033cf9
fix: remove UISceneDelegate from AppDelegate (#49628)
okwasniewski Feb 25, 2025
4121d24
Update deprecated enums in RCTTextPrimitivesConversions.h (#49648)
joannaquu Feb 25, 2025
4a0a10b
Make `ValueAnimatedNode`, `AnimatedNodeValueListener` & `Interpolatio…
mateoguzmana Feb 25, 2025
edfc73d
Align DrawerLayoutAndroid type definitions with OSS (#49620)
j-piasecki Feb 25, 2025
05e9484
report proxy idle state in heartbeat events (#49635)
vzaidman Feb 25, 2025
f7f3253
Add `ProgressResponseBody` test cases (#48675)
mateoguzmana Feb 25, 2025
dcd103e
Migrate `ProgressiveStringDecoder` to Kotlin (#49149)
mateoguzmana Feb 25, 2025
659004f
add a flag to control if RCTTurboModuleManager._turboModuleManagerDel…
sammy-SC Feb 25, 2025
7856ef8
Add Image and ImageBackground to buildTypes and align Flow with TS de…
coado Feb 25, 2025
7c2687e
Eliminate usage of global React types in ReactNativeTypes.js (#32330)
SamChou19815 Feb 25, 2025
61890fe
Cleanup uses of internal Flow types (#49683)
SamChou19815 Feb 25, 2025
8b4bba8
Mark SynchronousEventReceiver as UnstableReactNativeAPI (#49678)
mdvacca Feb 26, 2025
5019a2e
Fix lints and small refactor on sync events (#49679)
mdvacca Feb 26, 2025
3cd7359
Suppress Flow errors that will be introduced by React sync
rubennorte Feb 26, 2025
52fb1dc
Move definition of public instances to ReactNativePrivateInterface (#…
rubennorte Feb 26, 2025
3758174
Fix import lint in TextProps.js (#49675)
joevilches Feb 26, 2025
0f12f99
Make `SurfaceHandlerBinding` internal (#49677)
mateoguzmana Feb 26, 2025
ca49b51
Back out "remove use of RCTUnsafeExecuteOnMainQueueSync and main thre…
sammy-SC Feb 26, 2025
ac57ec4
Reland: Migrate `ReactClippingViewGroup` to Kotlin (#49413) (#49607)
mateoguzmana Feb 26, 2025
9d92b27
Optional post-transform pipeline for .d.ts files generated by build-t…
iwoplaza Feb 26, 2025
dbbdb98
Add SafeAreaView to buildTypes and align Flow with TS types (#49664)
coado Feb 26, 2025
1fd3806
Bump Node 18 -> 20 to build React Native in OSS (#49658)
cortinico Feb 26, 2025
cd072dc
Migrate HostInstance to an interface (#49633)
rubennorte Feb 26, 2025
1e4c0de
Rename INativeMethods as LegacyHostInstanceMethods (#49687)
rubennorte Feb 26, 2025
7e2487b
Migrate `ProgressRequestBody` to Kotlin (#49682)
mateoguzmana Feb 26, 2025
e314130
Enable DOM APIs by default in Fantom tests (#49690)
rubennorte Feb 26, 2025
f2c1f8b
Provide access to document object in Fantom roots (#49691)
rubennorte Feb 26, 2025
6524299
Align Pressable types with OSS (#49631)
j-piasecki Feb 26, 2025
4a055f3
Fallback to fbsystrace when Perfetto is not available (#49657)
javache Feb 26, 2025
5fcb69e
cleanup usage of HERMES_ENABLE_DEBUGGER and define set of build-time …
hoxyq Feb 26, 2025
a860c55
Extract Flow types and constants (#49614)
chrfalch Feb 26, 2025
6eac2bd
Configure all the third party dependencies we need (#49667)
chrfalch Feb 26, 2025
339b0b5
Add utils: CLI arg validation and folders utils (#49668)
chrfalch Feb 26, 2025
7aa5df3
Refactor `setupDependencies` script (#49670)
chrfalch Feb 26, 2025
f7970cd
Add code to generate the Swift Package
chrfalch Feb 26, 2025
1cf751e
Refactor build script (#49669)
chrfalch Feb 26, 2025
2fdb6c9
Refactor compose-framework script (#49665)
chrfalch Feb 26, 2025
8b984ca
Glue all the scripts together. (#49671)
chrfalch Feb 26, 2025
9e64099
Cleanup script and move the index to release (#49666)
cipolleschi Feb 26, 2025
785249d
Use builtin libdefs from flow-typed (#49702)
SamChou19815 Feb 26, 2025
a6607c0
feat: js runtime switching C API for Swift (#49489)
okwasniewski Feb 26, 2025
bf17ace
Move react type definitions back into global libdefs
SamChou19815 Feb 26, 2025
798f2e4
Remove unnecessary extra prototype from ReactNativeElement (#49699)
rubennorte Feb 26, 2025
8a4a623
Internalize and migrate `DimensionPropConverter` to Kotlin (#49676)
mateoguzmana Feb 27, 2025
2bb6571
Fix `onContentSizeChange` being dispatched too often on iOS (#49695)
j-piasecki Feb 27, 2025
38e1444
Add TouchableOpacity to buildTypes and align Flow with TS types (#49700)
coado Feb 27, 2025
6649583
Type Node.textContent as non-nullable string (#49696)
rubennorte Feb 27, 2025
a6dd18c
Expose new DOM classes in the global scope (#49697)
rubennorte Feb 27, 2025
b95424d
Gradle to 8.13 (#49689)
cortinico Feb 27, 2025
d8bc7c6
fix[LayoutableShadowNode::findNodeAtPoint]: consider layoutMetrics.ov…
hoxyq Feb 27, 2025
e2642d5
Add support for setting internal feature flags (#49693)
Feb 27, 2025
3226c32
Remove unnecessary package data-uri-to-buffer (#49714)
rubennorte Feb 27, 2025
63dea20
Migrate `CxxModuleWrapper` & `DefaultJSExceptionHandler` to Kotlin (#…
mateoguzmana Feb 27, 2025
fa6d5ca
Fabric: Fixes TurboModule method parameter Int32 type not work (#49710)
zhongwuzw Feb 27, 2025
72e745f
Scaffold support for Tracing by jsinspector (#48836)
hoxyq Feb 27, 2025
bf6852d
Report JavaScript thread (#49395)
hoxyq Feb 27, 2025
067c5f9
Record Event Loop tasks (#49436)
hoxyq Feb 27, 2025
1aced32
Serialize Hermes Profile to Tracing Profile (#49082)
hoxyq Feb 27, 2025
290f237
Expose API for registering profiles and profile chunks (#49084)
hoxyq Feb 27, 2025
87d4300
Implement sampling profile serializer (#49191)
hoxyq Feb 27, 2025
13a0b46
Use sampling profile serializer and emit profiles in traces (#48315)
hoxyq Feb 27, 2025
90e27c2
show JSC removal message on Android (#49709)
Kudo Feb 27, 2025
daed8e2
Deploy 0.262.0 to xplat (#49708)
Feb 27, 2025
2062def
Bump AGP to 8.8.2 (#49712)
cortinico Feb 27, 2025
5d5d370
Connect the classes for C++ Module registration to TMManagerDelegate …
cipolleschi Feb 27, 2025
6312360
Improve Codegen to support automatic registration of Cxx TM (#49624)
cipolleschi Feb 27, 2025
ed10664
Rename fantom_internal_flags pragma to fantom_react_fb_flags (#49728)
Feb 27, 2025
13177b3
feat: warn about jsc moving to a separate repo (#49692)
okwasniewski Feb 27, 2025
8698eca
Emit synthetic Trace Events for non-bridgeless to fix trace represent…
hoxyq Feb 27, 2025
ee7514c
Ensure Synchronous events are always dispatched from the UIThread (#4…
mdvacca Feb 27, 2025
19c18eb
Add prerelease staging API for Android (#49649)
jorge-cab Feb 27, 2025
144f44f
Reorder the contents in ReactAccessibilityDelegate.java to be more lo…
joevilches Feb 27, 2025
587d849
Revert D70200854
Feb 27, 2025
d0a101f
Add guard for custom module provider lookup in TMManager (#49738)
shwanton Feb 28, 2025
8919fc3
Set optional ref on View and split View Props (#49725)
coado Feb 28, 2025
c4e952e
Temporarily disable Configuration Caching on CI (#49742)
cortinico Feb 28, 2025
42cea2d
(reattempt) Use implicit namespace to better align Animated module wi…
iwoplaza Feb 28, 2025
be59427
Align ProgressBarAndroid types with OSS (#49663)
j-piasecki Feb 28, 2025
e808011
Move environment types (globals) from flow-typed/environment to src/t…
rubennorte Feb 28, 2025
eb877cb
Remove references to service workers in RN globals (#49727)
rubennorte Feb 28, 2025
52713ee
Refactor IntersectionObserver, MutationObserver and PerformanceObserv…
rubennorte Feb 28, 2025
84a1211
Strip all "bom" types that are actually not defined in RN (#49730)
rubennorte Feb 28, 2025
0289e40
fix race condition in getPages test for device disconnection (#49741)
vzaidman Feb 28, 2025
5fc2484
Align useAnimatedValue with OSS types (#49643)
iwoplaza Feb 28, 2025
2b93377
add e2e test for AppState module (#49680)
sammy-SC Feb 28, 2025
167a1a3
Improve text measurement for multiline TextInput on iOS (#49711)
j-piasecki Feb 28, 2025
3c03e2b
Add prepare prebuild reusable workflow (#49530)
cipolleschi Feb 28, 2025
da88bf0
Add job to build the slices for ios prebuilds (#49528)
cipolleschi Feb 28, 2025
2ff0220
Add job to build the XCFramework for ios prebuilds (#49563)
cipolleschi Feb 28, 2025
c99b2a4
Connect the prebuild-ios workflow with other workflows (#49731)
cipolleschi Feb 28, 2025
33c0112
Configure gradle to publish RNDependencies to Maven (#49749)
cipolleschi Feb 28, 2025
0bb6243
Compress xcframework to let sonatype sign it (#49753)
cipolleschi Feb 28, 2025
42a7c62
Ensure that the artifacts have the right extension (#49755)
cipolleschi Mar 1, 2025
21c85ef
batch debug logging for cdp messages (#49726)
vzaidman Mar 3, 2025
7ccb1e1
Avoid the creation of separate folders for separate artifacts (#49760)
cipolleschi Mar 3, 2025
ae7bbe0
fix: make React Native work without AppDelegate window property (#49748)
okwasniewski Mar 3, 2025
2acb407
Update references to relocated react-native-devtools-frontend repo (#…
huntie Mar 3, 2025
569c01e
Add Text to buildTypes and align Flow with TS (#49774)
coado Mar 3, 2025
13ac1a9
Align FlatList types with OSS (#49713)
j-piasecki Mar 3, 2025
6bc5dde
fix: avoid race condition crash in [RCTDataRequestHandler invalidate]…
Saadnajmi Mar 3, 2025
515ff1e
fix: return nullptr when USE_THIRD_PARTY_JSC is set to true (#49781)
okwasniewski Mar 3, 2025
81e4901
Update debugger-frontend from 3adf51a...97e9912 (#49784)
hoxyq Mar 3, 2025
ad1fec0
Merge commit '81e490164fd98ea2f89ac62bceae1d0c80464bd2' into 0.79-mer…
gabrieldonadel Aug 7, 2025
c362e7f
temporarily disable visionOS target
gabrieldonadel Aug 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 0 additions & 4 deletions .circleci/README.md

This file was deleted.

13 changes: 0 additions & 13 deletions .circleci/config.yml

This file was deleted.

1 change: 1 addition & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ packages/react-native/Libraries/vendor/**/*
node_modules/
packages/*/node_modules
packages/*/dist
packages/*/types_generated
packages/debugger-frontend/dist/**/*
packages/react-native-codegen/lib
tools/eslint/rules/sort-imports.js
Expand Down
10 changes: 10 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,16 @@ module.exports = {
'no-undef': 0,
},
},
{
files: [
'./packages/react-native/**/*.{js,flow}',
'./packages/assets/registry.js',
],
parser: 'hermes-eslint',
rules: {
'lint/no-commonjs-exports': 1,
},
},
{
files: ['package.json'],
parser: 'jsonc-eslint-parser',
Expand Down
3 changes: 2 additions & 1 deletion .flowconfig
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
flow-typed/
packages/react-native/interface.js
packages/react-native/flow/
packages/react-native/src/types/

[options]
enums=true
Expand Down Expand Up @@ -95,4 +96,4 @@ untyped-import
untyped-type-import

[version]
^0.258.1
^0.262.0
6 changes: 3 additions & 3 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,10 +69,10 @@ body:
- type: textarea
id: react-native-info
attributes:
label: Output of `npx react-native info`
description: Run `npx react-native info` in your terminal, copy and paste the results here.
label: Output of `npx @react-native-community/cli info`
description: Run `npx @react-native-community/cli info` in your terminal, copy and paste the results here.
placeholder: |
Paste the output of `npx react-native info` here. The output looks like:
Paste the output of `npx @react-native-community/cli info` here. The output looks like:
...
System:
OS: macOS 14.1.1
Expand Down
6 changes: 3 additions & 3 deletions .github/ISSUE_TEMPLATE/debugger_bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,10 +48,10 @@ body:
- type: textarea
id: react-native-info
attributes:
label: Output of `npx react-native info`
description: Run `npx react-native info` in your terminal, copy and paste the results here.
label: Output of `npx @react-native-community/cli info`
description: Run `npx @react-native-community/cli info` in your terminal, copy and paste the results here.
placeholder: |
Paste the output of `npx react-native info` here. The output looks like:
Paste the output of `npx @react-native-community/cli info` here. The output looks like:
...
System:
OS: macOS 14.1.1
Expand Down
6 changes: 3 additions & 3 deletions .github/ISSUE_TEMPLATE/new_architecture_bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,10 +81,10 @@ body:
- type: textarea
id: react-native-info
attributes:
label: Output of `npx react-native info`
description: Run `npx react-native info` in your terminal, copy and paste the results here.
label: Output of `npx @react-native-community/cli info`
description: Run `npx @react-native-community/cli info` in your terminal, copy and paste the results here.
placeholder: |
Paste the output of `npx react-native info` here. The output looks like:
Paste the output of `npx @react-native-community/cli info` here. The output looks like:
...
System:
OS: macOS 14.1.1
Expand Down
5 changes: 3 additions & 2 deletions .github/actions/build-android/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ inputs:
run-e2e-tests:
default: 'false'
description: If we need to build to run E2E tests. If yes, we need to build also x86.
gradle-cache-encryption-key:
description: "The encryption key needed to store the Gradle Configuration cache"
runs:
using: composite
steps:
Expand All @@ -20,12 +22,11 @@ runs:
- name: Set React Native Version
shell: bash
run: node ./scripts/releases/set-rn-artifacts-version.js --build-type ${{ inputs.release-type }}
# We don't want to re-set the artifacts version if we're on the release branch.
if: ${{ !contains(github.ref, '-stable') }}
- name: Setup gradle
uses: ./.github/actions/setup-gradle
with:
cache-read-only: "false"
cache-encryption-key: ${{ inputs.gradle-cache-encryption-key }}
- name: Restore Android ccache
uses: actions/cache/restore@v4
with:
Expand Down
14 changes: 14 additions & 0 deletions .github/actions/build-npm-package/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ inputs:
required: false
description: The GHA npm token, required only to publish to npm
default: ''
gradle-cache-encryption-key:
description: The encryption key needed to store the Gradle Configuration cache

runs:
using: composite
steps:
Expand Down Expand Up @@ -98,10 +101,21 @@ runs:
cp ${{ inputs.hermes-ws-dir }}/hermes-runtime-darwin/hermes-ios-Release.tar.gz ./packages/react-native/ReactAndroid/external-artifacts/artifacts/hermes-ios-release.tar.gz
cp ${{ inputs.hermes-ws-dir }}/dSYM/Debug/hermes.framework.dSYM ./packages/react-native/ReactAndroid/external-artifacts/artifacts/hermes-framework-dSYM-debug.tar.gz
cp ${{ inputs.hermes-ws-dir }}/dSYM/Release/hermes.framework.dSYM ./packages/react-native/ReactAndroid/external-artifacts/artifacts/hermes-framework-dSYM-release.tar.gz
- name: Download ReactNativeDependencies
uses: actions/download-artifact@v4
with:
pattern: ReactNativeDependencies*
path: ./packages/react-native/ReactAndroid/external-artifacts/artifacts
merge-multiple: true
- name: Print Artifacts Directory
shell: bash
run: ls -lR ./packages/react-native/ReactAndroid/external-artifacts/artifacts/
- name: Setup node.js
uses: ./.github/actions/setup-node
- name: Setup gradle
uses: ./.github/actions/setup-gradle
with:
cache-encryption-key: ${{ inputs.gradle-cache-encryption-key }}
- name: Install dependencies
uses: ./.github/actions/yarn-install
- name: Build packages
Expand Down
13 changes: 6 additions & 7 deletions .github/actions/lint/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ inputs:
node-version:
description: "The node.js version to use"
required: false
default: "18"
default: "20"
github-token:
description: "The GitHub token used by pull-bot"
required: true
Expand All @@ -15,9 +15,8 @@ runs:
uses: ./.github/actions/setup-node
with:
node-version: ${{ inputs.node-version }}
- name: Yarn install
shell: bash
run: yarn install --non-interactive --frozen-lockfile
- name: Run yarn install
uses: ./.github/actions/yarn-install
- name: Run linters against modified files (analysis-bot)
shell: bash
run: yarn lint-ci
Expand All @@ -26,10 +25,10 @@ runs:
GITHUB_PR_NUMBER: ${{ github.event.number }}
- name: Lint code
shell: bash
run: ./scripts/circleci/exec_swallow_error.sh yarn lint --format junit -o ./reports/junit/eslint/results.xml
run: ./.github/workflow-scripts/exec_swallow_error.sh yarn lint --format junit -o ./reports/junit/eslint/results.xml
- name: Lint java
shell: bash
run: ./scripts/circleci/exec_swallow_error.sh yarn lint-java --check
run: ./.github/workflow-scripts/exec_swallow_error.sh yarn lint-java --check
- name: Verify not committing repo after running build
shell: bash
run: yarn run build --check
Expand All @@ -41,7 +40,7 @@ runs:
run: yarn test-typescript
- name: Check license
shell: bash
run: ./scripts/circleci/check_license.sh
run: ./.github/workflow-scripts/check_license.sh
- name: Check formatting
shell: bash
run: yarn run format-check
2 changes: 1 addition & 1 deletion .github/actions/maestro-android/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ runs:
steps:
- name: Installing Maestro
shell: bash
run: export MAESTRO_VERSION=1.39.5; curl -Ls "https://get.maestro.mobile.dev" | bash
run: export MAESTRO_VERSION=1.39.7; curl -Ls "https://get.maestro.mobile.dev" | bash
- name: Set up JDK 17
if: ${{ inputs.install-java == 'true' }}
uses: actions/setup-java@v4
Expand Down
6 changes: 3 additions & 3 deletions .github/actions/maestro-ios/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ runs:
steps:
- name: Installing Maestro
shell: bash
run: export MAESTRO_VERSION=1.39.5; curl -Ls "https://get.maestro.mobile.dev" | bash
run: export MAESTRO_VERSION=1.39.7; curl -Ls "https://get.maestro.mobile.dev" | bash
- name: Installing Maestro dependencies
shell: bash
run: |
Expand All @@ -42,12 +42,12 @@ runs:
with:
java-version: '17'
distribution: 'zulu'
- name: Run yarn install
uses: ./.github/actions/yarn-install
- name: Start Metro in Debug
shell: bash
if: ${{ inputs.flavor == 'Debug' }}
run: |
yarn install

# build codegen or we will see a redbox
./packages/react-native-codegen/scripts/oss/build.sh

Expand Down
7 changes: 5 additions & 2 deletions .github/actions/setup-gradle/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ inputs:
cache-read-only:
description: "Whether the Gradle Cache should be in read-only mode so this job won't be allowed to write to it"
default: "true"
cache-encryption-key:
description: "The encryption key needed to store the Gradle Configuration cache"
runs:
using: "composite"
steps:
Expand All @@ -15,6 +17,7 @@ runs:
cache-read-only: ${{ (github.ref != 'refs/heads/main' && !contains(github.ref, '-stable')) || inputs.cache-read-only == 'true' }}
# Similarly, for those jobs we want to start with a clean cache so it doesn't grow without limits (this is the negation of the previous condition).
cache-write-only: ${{ (github.ref == 'refs/heads/main' || contains(github.ref, '-stable')) && inputs.cache-read-only != 'true' }}
# Temporarily disabling to try resolve a cache cleanup failure
# gradle-home-cache-cleanup: true
add-job-summary-as-pr-comment: on-failure
# Encryption key for the Gradle Configuration Cache.
# See https://docs.gradle.org/8.6/userguide/configuration_cache.html#config_cache:secrets:configuring_encryption_key
cache-encryption-key: ${{ inputs.cache-encryption-key }}
2 changes: 1 addition & 1 deletion .github/actions/setup-node/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ inputs:
node-version:
description: 'The node.js version to use'
required: false
default: '18'
default: '20'
runs:
using: "composite"
steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/test-js/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ inputs:
node-version:
description: "The node.js version to use"
required: false
default: "18"
default: "20"
runs:
using: composite
steps:
Expand Down
15 changes: 14 additions & 1 deletion .github/actions/yarn-install/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,17 @@ runs:
steps:
- name: Install dependencies
shell: bash
run: yarn install --non-interactive --frozen-lockfile
run: |
MAX_ATTEMPTS=2
ATTEMPT=0
WAIT_TIME=20
while [ $ATTEMPT -lt $MAX_ATTEMPTS ]; do
yarn install --non-interactive --frozen-lockfile && break
echo "yarn install failed. Retrying in $WAIT_TIME seconds..."
sleep $WAIT_TIME
ATTEMPT=$((ATTEMPT + 1))
done
if [ $ATTEMPT -eq $MAX_ATTEMPTS ]; then
echo "All attempts to invoke yarn install failed - Aborting the workflow"
exit 1
fi
69 changes: 20 additions & 49 deletions .github/workflow-scripts/__tests__/publishTemplate-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ const {
const mockRun = jest.fn();
const mockSleep = jest.fn();
const mockGetNpmPackageInfo = jest.fn();
const mockVerifyPublishedPackage = jest.fn();
const silence = () => {};

jest.mock('../utils.js', () => ({
Expand All @@ -24,6 +25,10 @@ jest.mock('../utils.js', () => ({
getNpmPackageInfo: mockGetNpmPackageInfo,
}));

jest.mock('../verifyPublishedPackage.js', () => ({
verifyPublishedPackage: mockVerifyPublishedPackage,
}));

const getMockGithub = () => ({
rest: {
actions: {
Expand Down Expand Up @@ -82,77 +87,43 @@ describe('#verifyPublishedTemplate', () => {

it("waits on npm updating for version and not 'latest'", async () => {
const NOT_LATEST = false;
mockGetNpmPackageInfo
// template@<version>
.mockReturnValueOnce(Promise.reject('mock http/404'))
.mockReturnValueOnce(Promise.resolve());
mockSleep.mockReturnValueOnce(Promise.resolve()).mockImplementation(() => {
throw new Error('Should not be called again!');
});

const version = '0.77.0';

await verifyPublishedTemplate(version, NOT_LATEST);

expect(mockGetNpmPackageInfo).toHaveBeenLastCalledWith(
expect(mockVerifyPublishedPackage).toHaveBeenCalledWith(
'@react-native-community/template',
version,
null,
18,
);
});

it('waits on npm updating version and latest tag', async () => {
const IS_LATEST = true;
const version = '0.77.0';
mockGetNpmPackageInfo
// template@latest → unknown tag
.mockReturnValueOnce(Promise.reject('mock http/404'))
// template@latest != version → old tag
.mockReturnValueOnce(Promise.resolve({version: '0.76.5'}))
// template@latest == version → correct tag
.mockReturnValueOnce(Promise.resolve({version}));
mockSleep
.mockReturnValueOnce(Promise.resolve())
.mockReturnValueOnce(Promise.resolve())
.mockImplementation(() => {
throw new Error('Should not be called again!');
});

await verifyPublishedTemplate(version, IS_LATEST);

expect(mockGetNpmPackageInfo).toHaveBeenCalledWith(
expect(mockVerifyPublishedPackage).toHaveBeenCalledWith(
'@react-native-community/template',
version,
'latest',
18,
);
});

describe('timeouts', () => {
let mockProcess;
beforeEach(() => {
mockProcess = jest.spyOn(process, 'exit').mockImplementation(code => {
throw new Error(`process.exit(${code}) called!`);
});
});
afterEach(() => mockProcess.mockRestore());
describe('retries', () => {
it('will timeout if npm does not update package version after a set number of retries', async () => {
const RETRIES = 2;
mockGetNpmPackageInfo.mockReturnValue(Promise.reject('mock http/404'));
mockSleep.mockReturnValue(Promise.resolve());
await expect(() =>
verifyPublishedTemplate('0.77.0', true, RETRIES),
).rejects.toThrowError('process.exit(1) called!');
expect(mockGetNpmPackageInfo).toHaveBeenCalledTimes(RETRIES);
});

it('will timeout if npm does not update latest tag after a set number of retries', async () => {
const RETRIES = 7;
const IS_LATEST = true;
mockGetNpmPackageInfo.mockReturnValue(
Promise.resolve({version: '0.76.5'}),
);
mockSleep.mockReturnValue(Promise.resolve());
await expect(async () => {
await verifyPublishedTemplate('0.77.0', IS_LATEST, RETRIES);
}).rejects.toThrowError('process.exit(1) called!');
expect(mockGetNpmPackageInfo).toHaveBeenCalledTimes(RETRIES);
await verifyPublishedTemplate('0.77.0', true, RETRIES),
expect(mockVerifyPublishedPackage).toHaveBeenCalledWith(
'@react-native-community/template',
'0.77.0',
'latest',
2,
);
});
});
});
Loading
Loading