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

Conversation

gabrieldonadel
Copy link

@gabrieldonadel gabrieldonadel commented Aug 6, 2025

Summary:

Merge up to the first commit on 0.79-stable branch from upstream (81e4901).

Full list files where conflicts had to be manually resolved
  • .gitignore
  • Gemfile
  • Gemfile.lock
  • README.md
  • package.json
  • packages/assets/package.json
  • packages/babel-plugin-codegen/package.json
  • packages/community-cli-plugin/package.json
  • packages/core-cli-utils/package.json
  • packages/debugger-frontend/package.json
  • packages/dev-middleware/package.json
  • packages/eslint-config-react-native/package.json
  • packages/eslint-plugin-react-native/package.json
  • packages/eslint-plugin-specs/package.json
  • packages/gradle-plugin/package.json
  • packages/helloworld/Gemfile
  • packages/metro-config/package.json
  • packages/normalize-color/package.json
  • packages/polyfills/package.json
  • packages/react-native-babel-preset/package.json
  • packages/react-native-babel-transformer/package.json
  • packages/react-native-codegen-typescript-test/package.json
  • packages/react-native-codegen/package.json
  • packages/react-native-fantom/package.json
  • packages/react-native-popup-menu-android/package.json
  • packages/react-native-test-library/package.json
  • packages/react-native/Libraries/Alert/Alert.js
  • packages/react-native/Libraries/AppDelegate/RCTAppDelegate.h
  • packages/react-native/Libraries/AppDelegate/RCTAppDelegate.mm
  • packages/react-native/Libraries/Components/Button.js
  • packages/react-native/Libraries/Components/Pressable/Pressable.js
  • packages/react-native/Libraries/Components/ScrollView/ScrollView.js
  • packages/react-native/Libraries/Components/TextInput/TextInput.flow.js
  • packages/react-native/Libraries/Components/TextInput/TextInput.js
  • packages/react-native/Libraries/Components/TextInput/TextInputNativeCommands.js
  • packages/react-native/Libraries/Components/Touchable/Touchable.js
  • packages/react-native/Libraries/Components/Touchable/TouchableWithoutFeedback.js
  • packages/react-native/Libraries/Components/View/ViewPropTypes.js
  • packages/react-native/Libraries/Core/setUpAlert.js
  • packages/react-native/Libraries/Image/ImageProps.js
  • packages/react-native/Libraries/Lists/FillRateHelper.js
  • packages/react-native/Libraries/Lists/FlatList.js
  • packages/react-native/Libraries/Lists/SectionList.js
  • packages/react-native/Libraries/Lists/SectionListModern.js
  • packages/react-native/Libraries/Lists/ViewabilityHelper.js
  • packages/react-native/Libraries/Lists/VirtualizeUtils.js
  • packages/react-native/Libraries/Lists/VirtualizedList.js
  • packages/react-native/Libraries/Lists/VirtualizedListContext.js
  • packages/react-native/Libraries/Lists/VirtualizedSectionList.js
  • packages/react-native/Libraries/Modal/Modal.js
  • packages/react-native/Libraries/Network/RCTDataRequestHandler.mm
  • packages/react-native/Libraries/Network/RCTFileRequestHandler.mm
  • packages/react-native/Libraries/Pressability/Pressability.js
  • packages/react-native/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h
  • packages/react-native/Libraries/Text/TextInput/Singleline/RCTUITextField.mm
  • packages/react-native/Libraries/Text/TextProps.js
  • packages/react-native/Libraries/Types/CoreEventTypes.js
  • packages/react-native/Libraries/Utilities/Platform.flow.js
  • packages/react-native/Libraries/Utilities/ReactNativeTestTools.js
  • packages/react-native/Libraries/Utilities/tests/Platform-test.js
  • packages/react-native/Libraries/WebSocket/WebSocket.js
  • packages/react-native/Libraries/tests/snapshots/public-api-test.js.snap
  • packages/react-native/React/CoreModules/RCTAccessibilityManager.mm
  • packages/react-native/React/CoreModules/RCTAppearance.mm
  • packages/react-native/React/CoreModules/RCTDevSettings.mm
  • packages/react-native/React/CoreModules/RCTDeviceInfo.mm
  • packages/react-native/React/CoreModules/RCTPlatform.mm
  • packages/react-native/React/CoreModules/RCTStatusBarManager.mm
  • packages/react-native/React/DevSupport/RCTInspectorDevServerHelper.mm
  • packages/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm
  • packages/react-native/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm
  • packages/react-native/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm
  • packages/react-native/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm
  • packages/react-native/React/Fabric/Utils/RCTBoxShadow.mm
  • packages/react-native/React/Fabric/Utils/RCTLinearGradient.mm
  • packages/react-native/React/UIUtils/RCTUIUtils.h
  • packages/react-native/React/UIUtils/RCTUIUtils.m
  • packages/react-native/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/propsConversions.h
  • packages/react-native/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.mm
  • packages/react-native/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/RCTPlatformColorUtils.h
  • packages/react-native/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/RCTPlatformColorUtils.mm
  • packages/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm
  • packages/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextPrimitivesConversions.h
  • packages/react-native/index.js
  • packages/react-native/package.json
  • packages/react-native/scripts/cocoapods/new_architecture.rb
  • packages/react-native/src/private/inspector/NetworkOverlay.js
  • packages/react-native/src/private/specs_DEPRECATED/modules/NativeAlertManager.js
  • packages/rn-tester/Gemfile
  • packages/rn-tester/Podfile.lock
  • packages/rn-tester/RNTester/AppDelegate.h
  • packages/rn-tester/RNTester/AppDelegate.mm
  • packages/rn-tester/js/examples/FlatList/FlatList-basic.js
  • packages/rn-tester/js/examples/TextInput/TextInputExample.ios.js
  • packages/rn-tester/js/types/RNTesterTypes.js
  • packages/rn-tester/package.json
  • packages/typescript-config/package.json
  • packages/virtualized-lists/Lists/VirtualizedListProps.js
  • packages/virtualized-lists/package.json
  • yarn.lock

Test Plan:

Run RNTester locally

image

iwoplaza and others added 30 commits February 18, 2025 07:37
…49480)

Summary:
Pull Request resolved: facebook#49480

Changelog: [Internal]

Reviewed By: huntie

Differential Revision: D69752685

fbshipit-source-id: 94f70eeaec35c864c15b463f3afce929765f2c40
Summary:
Migrate com.facebook.react.uimanager.ReactClippingViewGroup to Kotlin

## Changelog:

[INTERNAL] - Migrate com.facebook.react.uimanager.ReactClippingViewGroup to Kotlin

Pull Request resolved: facebook#49413

Test Plan:
```bash
yarn test-android
yarn android
```

Reviewed By: rshest

Differential Revision: D69750532

Pulled By: cortinico

fbshipit-source-id: 50ec87a71b3bd523e1a9518b8bd683a027a4b422
Summary:
Pull Request resolved: facebook#49491

Changelog: [General][Breaking] Deep imports to modules inside `Libraries/DevMenu` using `require` may need to be appended with `.default`

Reviewed By: cortinico

Differential Revision: D69778671

fbshipit-source-id: 19362fbb003e53609881fc19e8d2cb96677b3006
Summary:
This task is unused, so we can safely remove it here.

## Changelog:

[INTERNAL] - Remove unused Gradle task `packageReactNdkLibsForBuck`

Pull Request resolved: facebook#49493

Test Plan: N/A

Reviewed By: cipolleschi

Differential Revision: D69781945

Pulled By: cortinico

fbshipit-source-id: cd6487faf1d169f44590a26c18a9f35eef803617
Summary:
Pull Request resolved: facebook#49484

This is the last diff to add support for Gradle Configuration caching.
The last missing part here was the execution of the `config` command during Gradle configuration time.
Using Java processes API is not supported as the correct way to do external commands that are CC-friendly
is through the `.providers.exec` API which I'm using here.

Closes facebook#45154

Changelog:
[Android] [Added] - Add support for Gradle Configuration caching

Reviewed By: cipolleschi

Differential Revision: D69753889

fbshipit-source-id: af1e844b38444659a908abce4029d43ad899c03d
…acebook#49266)

Summary:
Pull Request resolved: facebook#49266

Changelog:
[Internal] - Aligned types of the PushNotificationIOS between Flow and TS

Reviewed By: huntie

Differential Revision: D69309391

fbshipit-source-id: 1e99f6aa6805c25db7ede6c65305b309590ebd6a
Summary:
Pull Request resolved: facebook#49463

We've started accumulating mode-files in many different directories, group them all under xplat/mode/react-native for consistency

Changelog: [Internal]

Reviewed By: lenaic

Differential Revision: D69658995

fbshipit-source-id: 70c842d24886b9b0ef8432d105ca64cac68078db
…ok#49440)

Summary:
Pull Request resolved: facebook#49440

changelog: [internal]

move away from RCTUnsafeExecuteOnMainQueueSync in RCTSafeArea.

Reviewed By: javache, lenaic

Differential Revision: D69662510

fbshipit-source-id: c68e42d6787b1a60ecba46d774ada40163de83fe
Summary:
Pull Request resolved: facebook#49448

I noticed that when inset shadows have a smaller blur radius than spread its wrong and there is a gap between the edge of the box and the shadow. I think the outer rect is just defined incorrectly and we should be adjusting the paddingBox as opposed to the innerRect. The innerRect is just the padding box insetted by the spread, so that is why we see gaps if blur < spread

Changelog: [Android][Fixed] - Fix inset boxShadow when blur < spread

Reviewed By: jorge-cab

Differential Revision: D69688508

fbshipit-source-id: 911258edd9a8403c70992800c3e1a5ea044e1f3b
Summary:
Pull Request resolved: facebook#49507

Implement getDelegateMethod on ReactPopupMenuManager

changelog: [internal] internal

Reviewed By: shwanton

Differential Revision: D69807880

fbshipit-source-id: b0168454b24a1af4e99a46e8c70ebb70162c19d0
Summary: Changelog: [Internal]

Reviewed By: gkz

Differential Revision: D69816782

fbshipit-source-id: c4d1e7bff3333fe8075816542d0b316408363f86
Summary:
Pull Request resolved: facebook#49503

Relanding this change, now checking for the existing of FeatureFlags native module before checking it, with the assumption when the native module is unavailable (legacy arch) we will never do native processing, or even use the SVC.

This aligns with the approach taken in `setupTimers` for the event loop, but is probably not the right long term solution for flags API.

This also inlines a couple fixes originally up the stack, of missing propagation of inline state, and missing the gating in ReactNativeStyleAttributes.

Changelog: [Internal]

Reviewed By: joevilches

Differential Revision: D69804412

fbshipit-source-id: 1f285994132cff75b6845b64cf26fceae37d4c92
…#49504)

Summary:
Pull Request resolved: facebook#49504

We didn't have these cases before.

Changelog: [Internal]

Reviewed By: joevilches

Differential Revision: D69433955

fbshipit-source-id: 3915b63ec6972412f1882d796ae60035bb5192f3
Summary:
Pull Request resolved: facebook#49505

I want to go home 😭.

This is not very pretty, while we are both keeping the old path, and trying to keep the props data types undisturbed for now, and support some of the stranger syntax we ended up supporting as inputs to filters.

Changelog: [Internal]

Reviewed By: joevilches

Differential Revision: D69562718

fbshipit-source-id: db8ff2c240b66e93a52ce2ac98e4a9ff2e7aeb4b
Summary:
Pull Request resolved: facebook#49418

This adds some missing validation for negative blurs which should be considered parse error. Unit tests added for the forked props parsing code to validate more generally.

Changelog: [Internal]

Reviewed By: joevilches

Differential Revision: D69628917

fbshipit-source-id: 1451b53cfa673443f01d38bd0097c4e85c83db8b
…acebook#49500)

Summary:
Pull Request resolved: facebook#49500

changelog: [internal]

When crossing ScrollView boundary, cullingContext.transform must be reset to Transform.identity. Views are only culled within scroll view.

Reviewed By: NickGerleman

Differential Revision: D69787820

fbshipit-source-id: 5d502f764a2b1885ee4b49fc0c9ebb9d27de65dd
Summary:
Pull Request resolved: facebook#49475

changelog: [internal]

RCTNetworking does not need main thread setup, it doesn't access any main thread only resources.

Reviewed By: rshest

Differential Revision: D69744400

fbshipit-source-id: 25652c28d178a9e26fa0ede9b03fb87072094fb0
Summary:
Pull Request resolved: facebook#49424

Changelog: [Internal]

Reviewed By: huntie

Differential Revision: D69655561

fbshipit-source-id: c36036a2abb43dd75c41582f2a27e7f9d3509044
Summary:
Pull Request resolved: facebook#49495

This change extracts the dependencies array to a separate file. This is helpful because we can use this file as cache-key to determines whether we have to rebuild the artifacts or not.

This file is also bound to grow so it will make the script more manageable.

## Changelog:
[Internal] - Move the dependencies for ios prebuilds on a separate file

Reviewed By: cortinico

Differential Revision: D69779522

fbshipit-source-id: 7ce60e426d428859f6f759d8e7b1ea499c36eff9
…#49496)

Summary:
Pull Request resolved: facebook#49496

This change prepare the argument parsing to the prepare-ios-prebuilds so we can customise the behavior to simplify usage in CI.

It also adds the --help command to provide.

##changelog:
[Internal] - adds the help mfunction and argument parsing

Reviewed By: cortinico

Differential Revision: D69779877

fbshipit-source-id: d66bc19ee556229eb7167f2075b77bacce2ad5c4
Summary:
Pull Request resolved: facebook#49497

This change honors the task provided as an argument.

If `all` is passed, we execute all the commands.
If a specific task is passed, we only execute that command.

## Changelog:
[Internal] - Honor the task passed to the preopare-ios-script

Reviewed By: cortinico

Differential Revision: D69787470

fbshipit-source-id: 0dec13ad0b5f2cc23cc72b4a899405ac1acf4f86
Summary:
Pull Request resolved: facebook#49469

This PR updates the changelog for 0.78 by combining all the RC into 0.78.0 stable, in preparation of the release in a couple of days.

This also adds categories to the commits and sort them alphabetically.

## Changelog:
[Internal] - Update vchangelog for 0.78

Reviewed By: cortinico, fabriziocucci

Differential Revision: D69745703

fbshipit-source-id: 825190c7a9573939ec7f1e388448142f8a8caf25
…ain thread setup (facebook#49473)

Summary:
Pull Request resolved: facebook#49473

changelog: [internal]

Add RCTTraitCollectionProxy which synchronises access to current trait collection. This way, RCTAppearance does not need main thread setup and RCTUnsafeExecuteOnMainQueueSync

Reviewed By: javache

Differential Revision: D69750211

fbshipit-source-id: 8457904fa1672d4bf811c04ef69969a8f8f4d87f
Summary:
Pull Request resolved: facebook#49474

changelog: [internal]

Can move setup to the background setup:
1. Use RCTTraitCollectionProxy to access current trait collection to check if force touch is available.
2. UIDevice.currentDevice is thread safe and can be read safely from a background thread.

Reviewed By: rshest

Differential Revision: D69744257

fbshipit-source-id: 8857a827c3d3e03a9b2ced15e6970d728693a043
)

Summary:
Pull Request resolved: facebook#49476

changelog: [internal]

Introduce RCTInitialAppStateProxy to access app initial state in thread safe way.

Reviewed By: javache

Differential Revision: D69745459

fbshipit-source-id: f88a04774e064bf13904183aa3334f93cbcc5283
…49494)

Summary:
Pull Request resolved: facebook#49494

Changelog: [Internal]

Reviewed By: huntie

Differential Revision: D69786939

fbshipit-source-id: 3b0481e83a528afbdf1d29734d2aea9cad740f58
Summary:
Pull Request resolved: facebook#49492

Was looking at more places we could be using `HybridClassBase`, and figured out how to simplify ReadableMapBuffer constructors to remove the need for explicit soloading.

Changelog: [Android][Removed] `RuntimeExecutor` and `RuntimeScheduler` constructors are now private, `MapBufferSoLoader` was removed as no longer required.

Reviewed By: cortinico

Differential Revision: D69776110

fbshipit-source-id: 11eac4c59897a02283e021ac1457ef8299b6f480
…book#49498)

Summary:
Pull Request resolved: facebook#49498

This change handles the destinations and the configurations parameter when passed to the script.

## Changelog:
[Internal] - Handle `configuration` and `destination` parameters

Reviewed By: cortinico

Differential Revision: D69787469

fbshipit-source-id: 5c4ae766dad84640fbf5340efc296355c4944e1c
Summary:
As part of the initiative to reduce the public API surface, this classes can be internalized. I've checked there are no relevant OSS usages:

- [RCTLog](https://github.com/search?type=code&q=NOT+is%3Afork+NOT+org%3Afacebook+NOT+repo%3Areact-native-tvos%2Freact-native-tvos+NOT+repo%3Anuagoz%2Freact-native+NOT+repo%3A2lambda123%2Freact-native+NOT+repo%3Abeanchips%2Ffacebookreactnative+NOT+repo%3AfabOnReact%2Freact-native-notes+NOT+user%3Ahuntie+NOT+repo%3AMaxdev18%2Fpowersync_app+NOT+repo%3Acarter-0%2Finstagram-decompiled+NOT+repo%3Am0mosenpai%2Finstadamn+NOT+repo%3AA-Star100%2FA-Star100-AUG2-2024+NOT+repo%3Alclnrd%2Fdetox-scrollview-reproductible+NOT+repo%3ADionisisChytiris%2FWorldWiseTrivia_Main+NOT+repo%3Apast3l%2Fhi2+NOT+repo%3AoneDotpy%2FCaribouQuest+NOT+repo%3Abejayoharen%2Fdailytodo+NOT+repo%3Amolangning%2Freversing-discord+NOT+repo%3AScottPrzy%2Freact-native+NOT+repo%3Agabrieldonadel%2Freact-native-visionos+NOT+repo%3AGabriel2308%2FTestes-Soft+NOT+repo%3Adawnzs03%2FflakyBuild+NOT+repo%3Acga2351%2Fcode+NOT+repo%3Astreeg%2Ftcc+NOT+repo%3Asoftware-mansion-labs%2Freact-native-swiftui+com.facebook.react.util.RCTLog)
- [ExceptionDataHelper](https://github.com/search?type=code&q=NOT+is%3Afork+NOT+org%3Afacebook+NOT+repo%3Areact-native-tvos%2Freact-native-tvos+NOT+repo%3Anuagoz%2Freact-native+NOT+repo%3A2lambda123%2Freact-native+NOT+repo%3Abeanchips%2Ffacebookreactnative+NOT+repo%3AfabOnReact%2Freact-native-notes+NOT+user%3Ahuntie+NOT+repo%3AMaxdev18%2Fpowersync_app+NOT+repo%3Acarter-0%2Finstagram-decompiled+NOT+repo%3Am0mosenpai%2Finstadamn+NOT+repo%3AA-Star100%2FA-Star100-AUG2-2024+NOT+repo%3Alclnrd%2Fdetox-scrollview-reproductible+NOT+repo%3ADionisisChytiris%2FWorldWiseTrivia_Main+NOT+repo%3Apast3l%2Fhi2+NOT+repo%3AoneDotpy%2FCaribouQuest+NOT+repo%3Abejayoharen%2Fdailytodo+NOT+repo%3Amolangning%2Freversing-discord+NOT+repo%3AScottPrzy%2Freact-native+NOT+repo%3Agabrieldonadel%2Freact-native-visionos+NOT+repo%3AGabriel2308%2FTestes-Soft+NOT+repo%3Adawnzs03%2FflakyBuild+NOT+repo%3Acga2351%2Fcode+NOT+repo%3Astreeg%2Ftcc+NOT+repo%3Asoftware-mansion-labs%2Freact-native-swiftui+com.facebook.react.util.ExceptionDataHelper)

## Changelog:

[INTERNAL] - Make RCTLog & ExceptionDataHelper internal

Pull Request resolved: facebook#49502

Test Plan:
```bash
yarn test-android
yarn android
```

Reviewed By: rshest

Differential Revision: D69836482

Pulled By: cortinico

fbshipit-source-id: 16f37acbd77bf151126bff22a6010201d8174bea
…pdates (facebook#49520)

Summary:
Pull Request resolved: facebook#49520

changelog: [internal]

Adds a new callback to EventBeat that is triggered in EventBeat::induce (that is when the UI thread is about to go IDLE). This will make state updates applied synchronously before the OS has a chance to paint but they will be batched. If two state updates happen in single UI tick, the will be executed at the end of UI's run loop.

The state updates are still not batched into a single commit. If two state updates happen on the same component, they are coalesced. If two state updates happen on two different components, they will generate two transactions. This is a follow up optimisation.

This feature is hidden behind `ReactNativeFeatureFlags::enableSynchronousStateUpdates` which is a preexisting feature flag. The feature flag was not rolled out yet and is not being used in any QEs at the moment.

Reviewed By: rubennorte

Differential Revision: D69848997

fbshipit-source-id: 870fd21f1d9d73d84861ddeac95b932a7fe1f5fe
cipolleschi and others added 8 commits March 3, 2025 02:10
…ok#49760)

Summary:
When downloading artifacts using a pattern, GHA, by default, creates a folder for each artifacts and copies the artifacts in that folder.
This breaks the maven publishing which expects the artifacts in the `artifact` folder and not i a subfolder.

The `merge-multiple` option allow for the artifacts to be downloaded in the specified folder, without the extra folder in the path

## Changelog:
[Internal] - Avoid the creation of intermediate folder when downloading the artifacts

Pull Request resolved: facebook#49760

Test Plan:
GHA

<img width="791" alt="Screenshot 2025-03-02 at 11 08 33" src="https://github.com/user-attachments/assets/cfc85b27-117f-4d21-97ef-67493615a5a1" />

Reviewed By: fabriziocucci

Differential Revision: D70462254

Pulled By: cipolleschi

fbshipit-source-id: ed310a90bcdea55e466d4d71942a25abc6e6986a
…book#49748)

Summary:
This PR makes React Native not relying on the `window` property in AppDelegate. When running in SwiftUI lifecycle mode / SceneDelegate mode there is window property on AppDelegate. This PR fixes crashes that happen because RN asserts window property is there.

## Changelog:

[IOS] [FIXED] - make React Native work without AppDelegate window property

Pull Request resolved: facebook#49748

Test Plan: CI Green

Reviewed By: javache

Differential Revision: D70389691

Pulled By: cipolleschi

fbshipit-source-id: fe39f123b47014ba91a080239ccd298192c92a6a
…acebook#49777)

Summary:
Pull Request resolved: facebook#49777

Changelog: [Internal]

Reviewed By: robhogan

Differential Revision: D70485084

fbshipit-source-id: d6243b3bc607af39c67c3f1cebdf0b53a3502538
Summary:
Pull Request resolved: facebook#49774

Changelog:
[Internal] - Added Text to buildTypes and aligned Flow with TS

Reviewed By: huntie

Differential Revision: D70324061

fbshipit-source-id: 2a032317acdc0a119f5d33da86a40461f8c60ab1
Summary:
Pull Request resolved: facebook#49713

Changelog: [Internal]

Reviewed By: huntie

Differential Revision: D70317013

fbshipit-source-id: f131cb204135a2a41aa7d3bafe13fc7b44446036
…facebook#49705)

Summary:
Upstreaming a fix by ntre that fixes a crash we saw internally related to `[_queue cancelAllOperations]`.

>Calling [_queue cancelAllOperations] will release all references to any active operations.
>If the blocks of those operations have a reference to itself, it will result in dangling pointers, which could conceptually trigger a later crash if there's a race between the operation completing and it being pulled out of the queue.
>
>Add explicit strong reference while block is running.
>For good measure, fix same pattern also in RCTFileRequestHandler.
>
>Note: separately, that this code is passing the op itself as a requestToken to [delegate URLRequest:] methods is suspect. That delegate can retain said token.

## Changelog:

[IOS] [FIXED] - avoid race condition crash in [RCTDataRequestHandler invalidate]

Pull Request resolved: facebook#49705

Test Plan: Tested internally, we no longer saw the crash after this fix.

Reviewed By: javache

Differential Revision: D70314889

Pulled By: cipolleschi

fbshipit-source-id: ebcecb4675bd1dda3d9ee60d69967feb4e05e11b
…#49781)

Summary:
When setting `USE_THIRD_PARTY_JSC=1`, we don't return anything from createJSRuntimeFactory function:

![CleanShot 2025-03-03 at 13 05 24@2x](https://github.com/user-attachments/assets/090ca47a-77f8-4a1b-9171-79b5e4ce91fb)

It's meant to be overwritten, but we must satisfy the compiler.

## Changelog:

[IOS] [FIXED] - return nullptr when USE_THIRD_PARTY_JSC is set to true

Pull Request resolved: facebook#49781

Test Plan: CI Green

Reviewed By: cortinico

Differential Revision: D70486837

Pulled By: cipolleschi

fbshipit-source-id: c09622f75608dc203d41167fc375a000a2f12e37
Summary:
Pull Request resolved: facebook#49784

Changelog: [Internal] - Update `react-native/debugger-frontend` from 3adf51a...97e9912

Resyncs `react-native/debugger-frontend` from GitHub - see `rn-chrome-devtools-frontend` [changelog](facebook/react-native-devtools-frontend@3adf51a...97e9912).

Reviewed By: huntie

Differential Revision: D70487787

fbshipit-source-id: 6f3b47a254f45b770798ff3af8ade1c9a6d7fc64
@gabrieldonadel gabrieldonadel requested a review from a team as a code owner August 6, 2025 19:26
@gabrieldonadel
Copy link
Author

Had to temporarily disable RNTester-visionOS target due to glog error

[!] The platform of the target `RNTester-visionOS` (visionOS 1.0) is not compatible with `glog (0.3.5)`, which does not support `visionOS`.

@gabrieldonadel gabrieldonadel changed the title 0.79 merge chore: merge up to 0.79-stable branch Aug 6, 2025
@gabrieldonadel gabrieldonadel force-pushed the 0.79-merge branch 9 times, most recently from 8311ac5 to a358dd1 Compare August 7, 2025 15:22
@Saadnajmi
Copy link
Collaborator

I'm not sure what's happening with the ci needing constant reapproval and the mandatory files thing, sorry about the friction

.join(' ');

const command = `xcodebuild -create-xcframework ${frameworksArgs} -output ${output} `;
execSync(command, {stdio: 'inherit'});

Check warning

Code scanning / CodeQL

Shell command built from environment values Medium

This shell command depends on an uncontrolled
file name
.
This shell command depends on an uncontrolled
absolute path
.
console.log('Copying symbols to symbols folder...');
const symbolOutput = path.join(rootFolder, 'Symbols');
fs.mkdirSync(symbolOutput, {recursive: true});
symbolPaths.forEach(symbol => execSync(`cp -r ${symbol} ${symbolOutput}`));

Check warning

Code scanning / CodeQL

Shell command built from environment values Medium

This shell command depends on an uncontrolled
file name
.
This shell command depends on an uncontrolled
absolute path
.
}

// A bundle is a directory, so we need to copy the whole directory
execSync(`cp -r ${sourceBundlePath} ${targetBundlePath}`);

Check warning

Code scanning / CodeQL

Shell command built from environment values Medium

This shell command depends on an uncontrolled
file name
.
This shell command depends on an uncontrolled
file name
.
async function cleanFolder(folder /*: string */) {
console.log('✅ Preparing build folder...');
// Remove the build folder if it already exists
await exec(`rm -rf ${folder}`);

Check warning

Code scanning / CodeQL

Shell command built from environment values Medium

This shell command depends on an uncontrolled
absolute path
.
This shell command depends on an uncontrolled
absolute path
.
// Remove the build folder if it already exists
await exec(`rm -rf ${folder}`);
// Create the build folder
await exec(`mkdir -p ${folder}`);

Check warning

Code scanning / CodeQL

Shell command built from environment values Medium

This shell command depends on an uncontrolled
absolute path
.
This shell command depends on an uncontrolled
absolute path
.
fs.mkdirSync(targetFolder, {recursive: true});
console.log(`Extracting ${filename} to ${targetFolder}...`);
await exec(
`tar -xzf ${archiveDestination} -C ${targetFolder} --strip-components 1`,

Check warning

Code scanning / CodeQL

Shell command built from environment values Medium

This shell command depends on an uncontrolled
absolute path
.

if (dependency.prepareScript) {
fs.copyFileSync(dependency.prepareScript, finalPath);
execSync(`${targetFolder}/prepare.sh`, {

Check warning

Code scanning / CodeQL

Shell command built from environment values Medium

This shell command depends on an uncontrolled
absolute path
.

You are not allowed to delete the mandatory files in this repo.

Total execution time: 5.17 seconds

Saadnajmi added a commit that referenced this pull request Aug 11, 2025
## Summary:

Cherry pick
facebook@ef7f714
, so we can merge this separately from #2620 and not block the CI there.

```
Summary:
Pull Request resolved: facebook#48670

The `LICENSE-docs` was needed when this repo was also containing the reactnative.dev docs. As this is not the case anymore, this file is unncessary.

Changelog:
[Internal] [Changed] - Remove unnecessary LICENSE-docs

Reviewed By: cipolleschi

Differential Revision: D68156336

fbshipit-source-id: 489bf2cb95916c20eb61bfb00e34b8e271bc08e3
```

Co-authored-by: Nicola Corti <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.