Skip to content
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

merge 0.71 stable to 0.63-stable #36379

Closed
wants to merge 6,333 commits into from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Oct 31, 2022

  1. chore: Unify codegen Flow and TS default case from translateTypeAnnot…

    …ation (facebook#35086)
    
    Summary:
    This PR unifies the Flow and TS `default:` case from codegen `translateTypeAnnotation` function into a single function
    called `translateDefault` inside `parser-commons.js` as requested on facebook#34872.
    
    ## Changelog
    
    [Internal] [Changed] - Unify codegen Flow and TS default case from translateTypeAnnotation
    
    Pull Request resolved: facebook#35086
    
    Test Plan:
    Run `yarn jest react-native-codegen` and ensure CI is green
    
    ![image](https://user-images.githubusercontent.com/11707729/197931439-a0f0f7cd-eee7-4908-a7f1-856b40954178.png)
    
    Reviewed By: cortinico
    
    Differential Revision: D40801612
    
    Pulled By: cipolleschi
    
    fbshipit-source-id: 612768d6fabe091ac428e7d8416c6da059fe1332
    gabrieldonadel authored and facebook-github-bot committed Oct 31, 2022
    Configuration menu
    Copy the full SHA
    ea55e3b View commit details
    Browse the repository at this point in the history
  2. Fix assertGenericTypeAnnotationHasExactlyOneTypeParameter throwing wr…

    …ong error (facebook#35134)
    
    Summary:
    1. I noticed there was a mistake in the [IncorrectlyParameterizedGenericParserError](https://github.com/facebook/react-native/blob/main/packages/react-native-codegen/src/parsers/errors.js#L159):
    ```
    if (
      genericTypeAnnotation.typeParameters.type ===
        'TypeParameterInstantiation' &&
      genericTypeAnnotation.typeParameters.params.length !== 1
    ) {
    ```
    
    Here we should replace ` 'TypeParameterInstantiation'` with ` 'TSTypeParameterInstantiation'` when the language is `TypeScript`.
    
    The result is that we get a ["Couldn't create IncorrectlyParameterizedGenericParserError"](https://github.com/facebook/react-native/blob/main/packages/react-native-codegen/src/parsers/errors.js#L172) error instead of ["Module testModuleName: Generic 'typeAnnotationName' must have exactly one type parameter."](https://github.com/facebook/react-native/blob/main/packages/react-native-codegen/src/parsers/parsers-commons.js#L88).
    
    I added a [test case](facebook@2f16116) to cover this case:
    <img width="1008" alt="Capture d’écran 2022-10-30 à 13 55 56" src="https://user-images.githubusercontent.com/17070498/198879598-ab5a6092-8cbf-422a-9993-2f3f92c9d84c.png">
    
    2. Looking closely at where IncorrectlyParameterizedGenericParserError is used, I noticed that the logic was duplicated in [assertGenericTypeAnnotationHasExactlyOneTypeParameter](https://github.com/facebook/react-native/blob/main/packages/react-native-codegen/src/parsers/parsers-commons.js#L65).
    
    I believe that the logic should reside in `assertGenericTypeAnnotationHasExactlyOneTypeParameter` so I split the `IncorrectlyParameterizedGenericParserError` in 2 different errors.
    
    ## Changelog
    
    <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see:
    https://reactnative.dev/contributing/changelogs-in-pull-requests
    -->
    
    [Internal] [Changed] - Fix assertGenericTypeAnnotationHasExactlyOneTypeParameter throwing wrong error
    
    Pull Request resolved: facebook#35134
    
    Test Plan: I tested using Jest and Flow commands.
    
    Reviewed By: rshest
    
    Differential Revision: D40853200
    
    Pulled By: cipolleschi
    
    fbshipit-source-id: 7040e57e0a2f511ba23fd4c54beae2ccff2fa89d
    Antoine Doubovetzky authored and facebook-github-bot committed Oct 31, 2022
    Configuration menu
    Copy the full SHA
    56d7a87 View commit details
    Browse the repository at this point in the history
  3. Extract isModuleRegistryCall function in parsers/utils (facebook#35139)

    Summary:
    This PR is a task from facebook#34872:
    > Extract the function isModuleRegistryCall ([Flow](https://github.com/facebook/react-native/blob/main/packages/react-native-codegen/src/parsers/flow/utils.js#L175-L211) [TypeScript](https://github.com/facebook/react-native/blob/main/packages/react-native-codegen/src/parsers/typescript/utils.js#L167-L203)) into a single function in the parsers/utils.js file and replace its invocation with this new function.
    
    ## Changelog
    
    <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see:
    https://reactnative.dev/contributing/changelogs-in-pull-requests
    -->
    
    [Internal] [Changed] - Extract the function isModuleRegistryCall in parsers/utils
    
    Pull Request resolved: facebook#35139
    
    Test Plan: I tested using Jest and Flow commands.
    
    Reviewed By: rshest
    
    Differential Revision: D40850471
    
    Pulled By: cipolleschi
    
    fbshipit-source-id: 34ec8ea4d7175e205315d60f200df093f1204b7b
    Antoine Doubovetzky authored and facebook-github-bot committed Oct 31, 2022
    Configuration menu
    Copy the full SHA
    83e2126 View commit details
    Browse the repository at this point in the history
  4. refactor(AsyncStorage): move android files from react-native-github

    Summary:
    ## Changelog:
    [Android] [Removed] - Removed AsyncStorage module
    
    Reviewed By: lunaleaps
    
    Differential Revision: D40175995
    
    fbshipit-source-id: b583579b8c2fa6c502f265ffe464b81672bd7da5
    hoxyq authored and facebook-github-bot committed Oct 31, 2022
    Configuration menu
    Copy the full SHA
    5738fe6 View commit details
    Browse the repository at this point in the history
  5. refactor(AsyncStorage): move iOS files from react-native-github

    Summary:
    ## Changelog:
    [iOS][Removed] - Removed AsyncStorage module
    
    Reviewed By: lunaleaps
    
    Differential Revision: D40283712
    
    fbshipit-source-id: 5e74c71915c2fbba4363e3fc917555039069038e
    hoxyq authored and facebook-github-bot committed Oct 31, 2022
    Configuration menu
    Copy the full SHA
    4de2aab View commit details
    Browse the repository at this point in the history
  6. refactor(react-native-github): remove AsyncStorage from JS

    Summary:
    ## Changelog
    [JS][Removed] - Removed AsyncStorage module from react-native
    
    Reviewed By: NickGerleman
    
    Differential Revision: D40302352
    
    fbshipit-source-id: 9377ea12036e498dde0b4b0f56de5c4fb9bd2461
    hoxyq authored and facebook-github-bot committed Oct 31, 2022
    Configuration menu
    Copy the full SHA
    20eeb1b View commit details
    Browse the repository at this point in the history
  7. Hermes scripts: rename tarball methods to distinguish between source …

    …code and prebuilt artifacts (facebook#35156)
    
    Summary:
    Pull Request resolved: facebook#35156
    
    There are two tarballs: the source code for Hermes that is downloaded from GitHub, and the hermes-runtime-darwin-{}-v{}.tar.gz tarball with prebuilt artifacts that is built in CI.
    Renamed some methods to make it clearer which tarball they work with.
    
    Changelog: [internal]
    
    Reviewed By: cipolleschi, dmytrorykun
    
    Differential Revision: D40812290
    
    fbshipit-source-id: a2c865e1d1461829fe8d468f52deeb55f3565cb0
    hramos authored and facebook-github-bot committed Oct 31, 2022
    Configuration menu
    Copy the full SHA
    8f124be View commit details
    Browse the repository at this point in the history
  8. exact_empty_objects is on by default in 0.191, delete usage in fbsource

    Summary:
    `exact_empty_objects` is on by default in 0.191, delete usage
    
    Changelog: [Internal]
    
    Reviewed By: SamChou19815
    
    Differential Revision: D40822684
    
    fbshipit-source-id: 8e84f0542e6b66049cac34e429f0b724f85a9557
    gkz authored and facebook-github-bot committed Oct 31, 2022
    Configuration menu
    Copy the full SHA
    07bd590 View commit details
    Browse the repository at this point in the history
  9. refactor(rn tester app): change dimensions example to hooks (facebook…

    …#35084)
    
    Summary:
    This pull request migrates the dimensions example to using React Hooks.
    
    ## Changelog
    [General] [Changed] - RNTester: Migrate Dimensions to hooks
    
    Pull Request resolved: facebook#35084
    
    Test Plan: The animation works exactly as it did as when it was a class component
    
    Reviewed By: yungsters
    
    Differential Revision: D40779014
    
    Pulled By: NickGerleman
    
    fbshipit-source-id: e740684d3022a945da5abc33b2e8834c6cfabb97
    Marcoo09 authored and facebook-github-bot committed Oct 31, 2022
    Configuration menu
    Copy the full SHA
    745e262 View commit details
    Browse the repository at this point in the history

Commits on Nov 1, 2022

  1. Back out "Add perftest dev support manager"

    Summary: Changelog: [Internal]
    
    Reviewed By: NickGerleman
    
    Differential Revision: D40879099
    
    fbshipit-source-id: ff302819829aa21a1dd7c19c06ed8c29821ba815
    makovkastar authored and facebook-github-bot committed Nov 1, 2022
    Configuration menu
    Copy the full SHA
    1e6945e View commit details
    Browse the repository at this point in the history
  2. Set C++ version for libs (facebook#35160)

    Summary:
    Pull Request resolved: facebook#35160
    
    With the simplified migration to the new arch, we are offering a function in cocoapods that takes care of configuring all the dependencies for libraries.
    
    That function was not setting the proper version of C++ for the library. This could lead to build problems.
    
    This Diff make sure that the libraries that are created with this function call have the proper C++ version.
    
    NOTE: we already have a post install hook that was setting the the proper C++ version, but that was only working for the project. Plus, we can't read that version from the React-Core podspec because at the podspec definition time, cocoapods has not read that yet. Therefore, I just hardcoded the C++ version on top of the file, so it will be easier to update if we decide to change it.
    
    ## Changelog
    [iOS][Fixed] - Make sure that libraries created with `install_modules_dependencies` has the right C++ version.
    
    Reviewed By: dmytrorykun
    
    Differential Revision: D40894561
    
    fbshipit-source-id: a5187be2d85888a335d4c033f16fdacaf2c945f9
    cipolleschi authored and facebook-github-bot committed Nov 1, 2022
    Configuration menu
    Copy the full SHA
    40ad31e View commit details
    Browse the repository at this point in the history
  3. React Native sync for revisions 54f297a...ab075a2

    Summary:
    This sync includes the following changes:
    - **[ab075a232](facebook/react@ab075a232 )**: Do not unmount layout effects on initial Offscreen mount ([facebook#25592](facebook/react#25592)) //<Samuel Susla>//
    - **[765805bf8](facebook/react@765805bf8 )**: Fix type check for null ([facebook#25595](facebook/react#25595)) //<Sebastian Markbåge>//
    - **[2ac77aab9](facebook/react@2ac77aab9 )**: Clean up vestige of useOpaqueIdentifier ([facebook#25587](facebook/react#25587)) //<Andrew Clark>//
    - **[bdd3d0807](facebook/react@bdd3d0807 )**: Extract logic for detecting bad fallback to helper //<Andrew Clark>//
    - **[952dfff3f](facebook/react@952dfff3f )**: Split suspended work loop logic into separate functions //<Andrew Clark>//
    - **[d2c0ab10d](facebook/react@d2c0ab10d )**: In work loop, add enum of reasons for suspending //<Andrew Clark>//
    - **[5450dd409](facebook/react@5450dd409 )**: Strict Mode: Reuse memoized result from first pass ([facebook#25583](facebook/react#25583)) //<Andrew Clark>//
    - **[d2a0176a1](facebook/react@d2a0176a1 )**: Detect and warn if use(promise) is wrapped with try/catch block ([facebook#25543](facebook/react#25543)) //<Andrew Clark>//
    - **[cf3932be5](facebook/react@cf3932be5 )**: Remove old react-fetch, react-fs and react-pg libraries ([facebook#25577](facebook/react#25577)) //<Sebastian Markbåge>//
    - **[28a574ea8](facebook/react@28a574ea8 )**: Try assigning fetch to globalThis if global assignment fails ([facebook#25571](facebook/react#25571)) //<Sebastian Markbåge>//
    - **[09def5990](facebook/react@09def5990 )**: [Float] handle noscript context for Resources ([facebook#25559](facebook/react#25559)) //<Josh Story>//
    - **[17204056d](facebook/react@17204056d )**: [Float] fix coordination of resource identity and hydration ([facebook#25569](facebook/react#25569)) //<Josh Story>//
    - **[d925a8d0b](facebook/react@d925a8d0b )**: Flight client error stack ([facebook#25560](facebook/react#25560)) //<Josh Story>//
    - **[996b00b78](facebook/react@996b00b78 )**: [Tiny] Fixed incorrect import in `react-server-dom-webpack` ([facebook#25554](facebook/react#25554)) //<Leo Lamprecht>//
    - **[e7c5af45c](facebook/react@e7c5af45c )**: Update cache() and use() to the canary aka next channel ([facebook#25502](facebook/react#25502)) //<Sebastian Markbåge>//
    - **[fa77f52e7](facebook/react@fa77f52e7 )**: Unify promise switch statements //<Andrew Clark>//
    - **[7572e4931](facebook/react@7572e4931 )**: Track thenable state in work loop //<Andrew Clark>//
    - **[7fc3eefd8](facebook/react@7fc3eefd8 )**: Revert yieldy behavior for non-use Suspense (in Flight, too) //<Andrew Clark>//
    - **[61f9b5e97](facebook/react@61f9b5e97 )**: [Float] support <base> as Resource ([facebook#25546](facebook/react#25546)) //<Josh Story>//
    - **[1d3fc9c9c](facebook/react@1d3fc9c9c )**: Bug fix when resolving cache ([facebook#25545](facebook/react#25545)) //<Sebastian Markbåge>//
    - **[cce18e350](facebook/react@cce18e350 )**: [Flight] Use AsyncLocalStorage to extend the scope of the cache to micro tasks ([facebook#25542](facebook/react#25542)) //<Sebastian Markbåge>//
    - **[caa84c8da](facebook/react@caa84c8da )**: Revert fetch instrumentation to only RSC ([facebook#25540](facebook/react#25540)) //<Sebastian Markbåge>//
    - **[0c11baa6a](facebook/react@0c11baa6a )**: add warnings for non-resources rendered outside body or head ([facebook#25532](facebook/react#25532)) //<Josh Story>//
    - **[9236abdb5](facebook/react@9236abdb5 )**: when float is enabled only push title and script as a single unit ([facebook#25536](facebook/react#25536)) //<Josh Story>//
    - **[dd5c20825](facebook/react@dd5c20825 )**: Revert yieldy behavior for non-use Suspense ([facebook#25537](facebook/react#25537)) //<Andrew Clark>//
    - **[934177598](facebook/react@934177598 )**: fix transposed escape functions ([facebook#25534](facebook/react#25534)) //<Josh Story>//
    - **[d1ced9fd5](facebook/react@d1ced9fd5 )**: [Float] support all links as Resources ([facebook#25515](facebook/react#25515)) //<Josh Story>//
    - **[973b90bdf](facebook/react@973b90bdf )**: [Float] support meta tags as Resources ([facebook#25514](facebook/react#25514)) //<Josh Story>//
    - **[79c582981](facebook/react@79c582981 )**: Let ReactDOM initialize in RSC ([facebook#25503](facebook/react#25503)) //<Sebastian Markbåge>//
    - **[1f7a2f577](facebook/react@1f7a2f577 )**: [Float] support title tags as Resources ([facebook#25508](facebook/react#25508)) //<Josh Story>//
    - **[c63580787](facebook/react@c63580787 )**: Support `use` in `act` testing API ([facebook#25523](facebook/react#25523)) //<Andrew Clark>//
    - **[65e32e58b](facebook/react@65e32e58b )**: Add fetch Instrumentation to Dedupe Fetches ([facebook#25516](facebook/react#25516)) //<Sebastian Markbåge>//
    - **[9336e29d9](facebook/react@9336e29d9 )**: [useEvent] Lint for presence of useEvent functions in dependency lists ([facebook#25512](facebook/react#25512)) //<lauren>//
    - **[3cc792bfb](facebook/react@3cc792bfb )**: [useEvent] Non-stable function identity ([facebook#25473](facebook/react#25473)) //<lauren>//
    - **[987292815](facebook/react@987292815 )**: Remove feature flag enableStrictEffects ([facebook#25387](facebook/react#25387)) //<Samuel Susla>//
    - **[8e2bde6f2](facebook/react@8e2bde6f2 )**: Add cache() API ([facebook#25506](facebook/react#25506)) //<Sebastian Markbåge>//
    - **[9cdf8a99e](facebook/react@9cdf8a99e )**: [Codemod] Update copyright header to Meta ([facebook#25315](facebook/react#25315)) //<Andrew Clark>//
    - **[e54015e26](facebook/react@e54015e26 )**: Refactor: fill in the flow missing type ([facebook#25496](facebook/react#25496)) //<c0dedance>//
    - **[3b1fd5767](facebook/react@3b1fd5767 )**: refactor: Flow: typing of Scheduler ([facebook#25485](facebook/react#25485)) //<bubucuo>//
    - **[14072ce64](facebook/react@14072ce64 )**: Add detach to Offscreen component ([facebook#25265](facebook/react#25265)) //<Samuel Susla>//
    - **[3bb71dfd4](facebook/react@3bb71dfd4 )**: Rename react-server-dom-webpack entry points to /client and /server ([facebook#25504](facebook/react#25504)) //<Sebastian Markbåge>//
    - **[71f2c8cf1](facebook/react@71f2c8cf1 )**: move resource acquisition to mutation phase ([facebook#25500](facebook/react#25500)) //<Josh Story>//
    - **[500bea532](facebook/react@500bea532 )**: Add option to load Fizz runtime from external file ([facebook#25499](facebook/react#25499)) //<Andrew Clark>//
    - **[4494f2a86](facebook/react@4494f2a86 )**: [Float] add support for scripts and other enhancements ([facebook#25480](facebook/react#25480)) //<Josh Story>//
    - **[9ecf84ed7](facebook/react@9ecf84ed7 )**: Bugfix: Suspending in shell during discrete update ([facebook#25495](facebook/react#25495)) //<Andrew Clark>//
    
    Changelog:
    [General][Changed] - React Native sync for revisions 54f297a...ab075a2
    
    jest_e2e[run_all_tests]
    
    Reviewed By: kassens
    
    Differential Revision: D40897093
    
    fbshipit-source-id: 6a040315834dea5c0ab994ea94d91f5605b9d6b0
    sammy-SC authored and facebook-github-bot committed Nov 1, 2022
    Configuration menu
    Copy the full SHA
    f49b251 View commit details
    Browse the repository at this point in the history
  4. Integrate Hermes with the Xcode build process

    Summary:
    ## Context
    If React Native is built from *main* of any non-stable commit, then Hermes is built from source. The build is performed by `build-ios-framework.sh` and `build-mac-framework.sh` scripts in `hermes-engine.podspec` `prepare_command` stage. Since those scripts have no access build target information, they build all possible architectures and platforms just in case. That takes ages.
    ## Solution
    The idea is to integrate build script into Xcode *run script* phase, and use build target information to build Hermes for active architecture only.
    ## Implementation
    - Existing behaviour remains unchanged for local tarball and remote prebuild cases.
    - `build-hermesc-xcode.sh` builds Hermesc as `hermes-engine.podspec` `prepare_command`. Default build location is `react-native/sdks/hermes-engine/build_host_hermesc`.
    - `build-hermes-xcode.sh` builds Hermes in 'Build Hermes' Xcode script phase. It uses `$PLATFORM_NAME`, `$CONFIGURATION`, `$ARCHS`, `$IPHONEOS_DEPLOYMENT_TARGET` and `$MACOSX_DEPLOYMENT_TARGET` environment variables to configure cmake project so it builds only active architecture. The script also gets RN version, *cmake* path and *hermesc* path from the podspec.
    - `copy-hermes-xcode.sh` copies Hermes.framework inside the app bundle. This script phase is added to the user app target in a `post_install` hook, after pods are integrated in a user project.
    - `OTHER_LDFLAGS -framework "hermes"` added to the user project to enable linking against Hermes.framework.
    - If `HERMES_OVERRIDE_HERMESC_PATH` is set, then Hermesc building is skipped, and `HERMES_OVERRIDE_HERMESC_PATH` is used for `build-hermes-xcode.sh`.
    - `HERMES_CLI_PATH` is injected into user project config to enable Hermes source maps in `react-native-xcode.sh`.
    ## Things that didn't work
    - *Running build-hermesc-xcode.sh in Xcode run script phase*. This doesn't work because Hermesc is supposed to be built for macos, and if build target is ios, then Xcode configures environment in such a way that Hermesc build fails.
    - *Installing Hermesc into CocoaPods download folder*. So it then ends up in `Pods/hermes-engine/build_host_hermesc`, and all the housekeeping is handled by CocoaPods. This doesn't work because cmake uses absolute paths in a configured project. If configured project is moved to a different location, nothing builds.
    - *Installing Hermesc directly into Pods/hermes-engine*. This doesn't work because CocoaPods runs prepare_command before Pods folder clean up, and everything gets wiped.
    ## Known issue
    -  If `Pods/hermes-engine` is manually removed, then `sdks/hermes-engine/build_host_hermesc` must also be removed before running `pod install`. Otherwise cmake will complain about stale cache:
    ```
    CMake Error: The source "<CocoaPodsCache>/hermes-engine/<hash2>/CMakeLists.txt" does not match the source
    "<CocoaPodsCache>/hermes-engine/<has1>/CMakeLists.txt" used to generate cache.  Re-run cmake with a different source directory.
    ```
    ## Benchmark
    MacBook M1 2021 32 GB.
    ```
    export REACT_NATIVE_PATH=~/fbsource/xplat/js/react-native-github
    cd $REACT_NATIVE_PATH/packages/rn-tester
    pod install
    rm -rf $REACT_NATIVE_PATH/sdks/hermes-engine/build_host_hermesc
    cd $REACT_NATIVE_PATH/packages/rn-tester/Pods/hermes-engine
    echo 't1=$(date +%s); $@; t2=$(date +%s); diff=$(echo "$t2 - $t1" | bc); echo Operation took $diff seconds.' > /tmp/benchmark.sh
    ```
    ```
    # Before
    export BUILD_TYPE=Debug
    export JSI_PATH=$REACT_NATIVE_PATH/ReactCommon/jsi
    export RELEASE_VERSION=1000.0
    export IOS_DEPLOYMENT_TARGET=iphonesimulator
    export MAC_DEPLOYMENT_TARGET=12.6
    cd $REACT_NATIVE_PATH/packages/rn-tester/Pods/hermes-engine
    . /tmp/benchmark.sh $REACT_NATIVE_PATH/sdks/hermes-engine/utils/build-ios-framework.sh
    # Operation took 252 seconds
    . /tmp/benchmark.sh $REACT_NATIVE_PATH/sdks/hermes-engine/utils/build-mac-framework.sh
    # Operation took 179 seconds
    ```
    ```
    # After
    . /tmp/benchmark.sh source $REACT_NATIVE_PATH/sdks/hermes-engine/utils/build-hermesc-xcode.sh $REACT_NATIVE_PATH/sdks/hermes-engine/build_host_hermesc
    # Operation took 59 seconds.
    . /tmp/benchmark.sh xcodebuild -workspace $REACT_NATIVE_PATH/packages/rn-tester/RNTesterPods.xcworkspace -scheme hermes-engine
    # Operation took 106 seconds.
    ```
    |Before|||After|||
    |--|
    |iOS framework (s)|Mac framework (s)|Total (s)|Hermesc (s)|Target-specific framework (s)|Total (s)|
    |252|179|431|59|106|**165 (-266) (-61%)**|
    The performance win is fixed, and does not depend on the project size and structure.
    As an example, this is how these changes affect build time of RNTester.
    |Before||||After|||
    |--|
    ||Pod install (s)|Xcode build (s)|Total (s)|Pod install (s)|Xcode build (s)|Total (s)|
    |Clean build|1219|132|1352|734 (-485)|249(+117)|**983 (-369)**|
    |Incremental build|82|30|112|105 (+23)|**34 (+4)**|139 (+27)|
    The most important values here are the total clean build time and the incremental Xcode build time. The first one went down by 369 seconds, the second one went up by 4 seconds. I consider it a reasonable tradeoff.
    The extra 4 seconds in  the incremental Xcode build time can potentially be mitigated by setting up output file lists for the new script phases.
    
    allow-large-files
    
    Changelog:
    [iOS][Changed] - Hermes is integrated into Xcode build.
    
    Reviewed By: hramos
    
    Differential Revision: D40063686
    
    fbshipit-source-id: e6993d62225789377db769244bc07786cc978a27
    dmytrorykun authored and facebook-github-bot committed Nov 1, 2022
    Configuration menu
    Copy the full SHA
    6b8e13f View commit details
    Browse the repository at this point in the history
  5. Add unit test for ImageView to take null uri in source

    Summary:
    This is a follow up action item from S295231 and T136039462 where we want to make sure null uri in image source is handled properly. This diff adds an unit test to make sure we are using transparent image when uri is null.
    
    Changelog:
    [Android][Internal] - Add unit test to ImageView for null uri in source
    
    Reviewed By: javache
    
    Differential Revision: D40732791
    
    fbshipit-source-id: fd468bfe7c33a4f3f8913ead3e84a1770d7c907f
    Xin Chen authored and facebook-github-bot committed Nov 1, 2022
    Configuration menu
    Copy the full SHA
    58a1cd2 View commit details
    Browse the repository at this point in the history
  6. Adding new markerAnnotateWithMap method

    Summary:
    ## Changelog:
    [Internal] [Added] - Adding new markerAnnotateWithMap to the QPL.
    
    This is part of bigger effort to unify JS QPL interfaces across platforms.
    
    Reviewed By: eddyerburgh
    
    Differential Revision: D40796537
    
    fbshipit-source-id: a75b97c20ca411653552228f7dc2fcbedd8ddca9
    Dmytro Voronkevych authored and facebook-github-bot committed Nov 1, 2022
    Configuration menu
    Copy the full SHA
    e3eeadb View commit details
    Browse the repository at this point in the history
  7. Migrating all qpl.markerAnnotate call sites to the new signature

    Summary:
    As part of unifying JS QPL interface, I'm bringing markerAnnotate to the parity with Web version.
    
    At the moment it supports only string annotations, but I'm adding support for ints, arrays of ints, arrays of strings, etc.
    
    ## Changelog:
    [Internal] [Changed] - Refactored markerAnnotateWithMap -> markerAnnotate
    
    Reviewed By: eddyerburgh
    
    Differential Revision: D40796535
    
    fbshipit-source-id: 9831e353036835b97bb7b2f60085016034c04269
    Dmytro Voronkevych authored and facebook-github-bot committed Nov 1, 2022
    Configuration menu
    Copy the full SHA
    c565a77 View commit details
    Browse the repository at this point in the history
  8. Refactor EventDriverAnimations to customize event match

    Summary:
    Changelog: [Internal] - Refactor match logic on determining whether to run an EventAnimationDriver (drivers for natively animated events) for an Event dispatched.
    
    Previously, drivers were stored by key on the NativeAnimatedNodesManager (based on event handler and viewTag) and has been refactored to be stored in a list for easier matching.
    
    This diff changes it so the match logic for running an EventAnimationDriver happens on the Event instance. This change is motivated by PointerEvents needing custom match logic (done on a following change).
    
    Reviewed By: javache
    
    Differential Revision: D40691002
    
    fbshipit-source-id: e4f6742a2af3b751214aefa1fc069f65e8e71d77
    lunaleaps authored and facebook-github-bot committed Nov 1, 2022
    Configuration menu
    Copy the full SHA
    565a743 View commit details
    Browse the repository at this point in the history
  9. Fix natively driven animated.event for bubbling PointerEvents

    Summary:
    Changelog: [Internal]
    
    Override logic for determining whether a dispatched `Event` triggers a native `EventAnimationDriver`.
    
    Natively driven AnimatedEvents on bubbling events is not supported.  `PointerEvents` requires this and this diff adds custom matching logic such that if a parent specifies an `AnimatedEvent` on `onPointerMove` and a child view dispatches it, the `AnimatedEvent` will still fire.
    
    Reviewed By: javache
    
    Differential Revision: D38722563
    
    fbshipit-source-id: 7cde57eaff9584b33c6ab15f1fe85c0a9bac132e
    lunaleaps authored and facebook-github-bot committed Nov 1, 2022
    Configuration menu
    Copy the full SHA
    cfe811a View commit details
    Browse the repository at this point in the history
  10. Annotate Array.map returns when the implicit return type is widened

    Summary: Changelog: [Internal]
    
    Differential Revision: D40840078
    
    fbshipit-source-id: 0104444060d8d6a1a22066d63579ac06ff715226
    SamChou19815 authored and facebook-github-bot committed Nov 1, 2022
    Configuration menu
    Copy the full SHA
    dbb9252 View commit details
    Browse the repository at this point in the history
  11. hermes-utils: Strip debug symbols during tarball creation (facebook#3…

    …5162)
    
    Summary:
    Pull Request resolved: facebook#35162
    
    The dSYMs for Apple will not be distributed as part of the prebuilts tarball. They can still be included in the tarball by passing a `-d` flag to the create-tarball script.
    
    Changelog: [internal]
    
    Reviewed By: cipolleschi
    
    Differential Revision: D40813679
    
    fbshipit-source-id: 26dee8251684c5ecad649ccd27ce688cfe88ec8f
    hramos authored and facebook-github-bot committed Nov 1, 2022
    Configuration menu
    Copy the full SHA
    d71d0db View commit details
    Browse the repository at this point in the history

Commits on Nov 2, 2022

  1. Codemod cycle annotations for xplat/js

    Summary:
    Add annotations using flow codemod annotate-cycles --write
    
    Changelog: [internal]
    
    Reviewed By: SamChou19815
    
    Differential Revision: D40896688
    
    fbshipit-source-id: 0c32932d17542be070360db29b7797f8e6e5978b
    mvitousek authored and facebook-github-bot committed Nov 2, 2022
    Configuration menu
    Copy the full SHA
    91d58cf View commit details
    Browse the repository at this point in the history
  2. Introduce soft exceptions in the bridgeless core

    Summary: Changelog: [Internal]
    
    Reviewed By: fkgozali
    
    Differential Revision: D40824468
    
    fbshipit-source-id: c840610e923c35cc5c36b37e5c580d0296c1e46b
    RSNara authored and facebook-github-bot committed Nov 2, 2022
    Configuration menu
    Copy the full SHA
    7964d48 View commit details
    Browse the repository at this point in the history
  3. Hermes: Include iOS debug symbols in Hermes XCFramework

    Summary:
    Include dSYMs when building the universal XCFramework for Hermes iOS.
    
    CocoaPods should pick up dSYMs automatically when using `vendored_framework` if:
    - `hermes.framework` has a `hermes.framework.dSYM` in the same base directory
    - `hermes.xcframework` has a `dSYMs` folder with a `hermes.framework.dSYM` in it, for each slice
    
    The dSYMs for the macOS hermes.framework are already being created.
    
    Changelog: [Internal]
    
    Reviewed By: cipolleschi
    
    Differential Revision: D40790250
    
    fbshipit-source-id: 50fcb3492434637b00458c1aa443ac6ec5472fac
    hramos authored and facebook-github-bot committed Nov 2, 2022
    Configuration menu
    Copy the full SHA
    b5bb227 View commit details
    Browse the repository at this point in the history
  4. hermes-utils.js: Add test coverage

    Summary:
    Improving test coverage in anticipation of some changes being made to `hermes-utils.js`.
    
    Moved test scripts to `hermes/__tests__` and grouped related tests.
    
    We have been delegating some of the work to local binaries via `execSync`, which can be hard to mock or test.  We now use a proxy `delegateSync` method that uses `spawnSync` internally to break down the invocation into `command`, `arguments`, `options`. Instead of simply mocking based on the command being executed, we can now conditionally mock based on the arguments being passed.
    
    Added a `createTarballFromDirectory` method. This can be used later when creating different tarballs.
    
    Added `populateMockFilesystemWithHermesBuildArtifacts()` to mock the filesystem state after Hermes has been built.
    
    Changelog: [internal]
    
    Reviewed By: cipolleschi
    
    Differential Revision: D40871802
    
    fbshipit-source-id: 4348d3c38926ec7eb13d794040a9040010879f58
    hramos authored and facebook-github-bot committed Nov 2, 2022
    Configuration menu
    Copy the full SHA
    358b7a4 View commit details
    Browse the repository at this point in the history
  5. Corrected documentation to be more gramatically correct (facebook#35141)

    Summary:
    The documentation for `useColorScheme()` suggested that the user's preferred color scheme will be 'Dark Mode'. Instead suggesting 'Dark Mode' as an example of what the user's preferred color scheme could be is more correct.
    
    ## Changelog
    [INTERNAL] [FIXED] - Edited documentation for `useColorScheme()` hook
    Edited
    ```javascript
    /**
     * A new useColorScheme hook is provided as the preferred way of accessing
     * the user's preferred color scheme (aka Dark Mode).
     */
    export function useColorScheme(): ColorSchemeName;
    ```
    to
    ```javascript
    /**
     * A new useColorScheme hook is provided as the preferred way of accessing
     * the user's preferred color scheme (e.g. Dark Mode).
     */
    export function useColorScheme(): ColorSchemeName;
    ```
    
    Pull Request resolved: facebook#35141
    
    Test Plan: Documentation only - no testing required.
    
    Reviewed By: cipolleschi
    
    Differential Revision: D40934781
    
    Pulled By: rshest
    
    fbshipit-source-id: acac8947c3f99016839be27f505066e8992a20fa
    willsawyerrrr authored and facebook-github-bot committed Nov 2, 2022
    Configuration menu
    Copy the full SHA
    74cb441 View commit details
    Browse the repository at this point in the history
  6. Remove redundant import from TextInputSharedExamples

    Summary:
    changelog: [internal]
    
    Fix lint error
    
    Reviewed By: cipolleschi
    
    Differential Revision: D40936194
    
    fbshipit-source-id: 24987f86f1f95d42f978baaa560bfd57381ca5a4
    sammy-SC authored and facebook-github-bot committed Nov 2, 2022
    Configuration menu
    Copy the full SHA
    64c3906 View commit details
    Browse the repository at this point in the history
  7. Remove misleading comment about RootTag type not being opaque

    Summary: Changelog: [Internal]
    
    Reviewed By: lunaleaps
    
    Differential Revision: D40902247
    
    fbshipit-source-id: 5ed8f69bb46e35d5250bd04898765ead500d7db6
    rshest authored and facebook-github-bot committed Nov 2, 2022
    Configuration menu
    Copy the full SHA
    e89d223 View commit details
    Browse the repository at this point in the history
  8. Link against the app codegen if available (facebook#35176)

    Summary:
    Pull Request resolved: facebook#35176
    
    This commit extends the ReactNative-application.cmake logic so
    that if the app is using codegen at the app level, the generate library
    is properly built and linked.
    
    It helps us simplify the RN Tester setup and makes it easier for app users
    to use the codegen at the app level.
    
    Changelog:
    [Internal] [Changed] - [Android] Link against the app codegen if available
    
    Reviewed By: cipolleschi
    
    Differential Revision: D40936941
    
    fbshipit-source-id: 26fa4d764fb369c987e94e0c3bce61841b982b27
    cortinico authored and facebook-github-bot committed Nov 2, 2022
    Configuration menu
    Copy the full SHA
    0fd282f View commit details
    Browse the repository at this point in the history
  9. fix(local-e2e-script): add logic to handle maven local for iOS and An…

    …droid accordingly (facebook#35104)
    
    Summary:
    This PR is a follow up of facebook#35075 and facebook@1546666 to ensure that even in the local e2e testing scenario the new maven approach is followed - without this, RNTestProject on Android won't work, like so:
    <img width="1905" alt="Screenshot 2022-10-27 at 12 15 38" src="https://user-images.githubusercontent.com/16104054/198334105-30fb2037-4e7c-4814-8c3f-2412ba0bd49f.png">
    
    And iOS will always build everything from source every time.
    
    This PR addresses both by generating the artifacts locally, and passing them to RNTestProject as if they were coming from a url (mimicking as closely as possible the behaviour for the final user)
    
    In doing so, there's been some refactoring to prep the ground for follow up work.
    * refactor CI to rely less on scripts directly in the CircleCI config, but invoke .js ones
    * we should be able to trigger more the "manual" artifacts generation so that it will only happen once between RNTester and RNTestProject, and we can pass existing artifacts to the other flows.
    * once all of this in place, a very good improvement would be to be able to download the maven artifacts kind of like nightlies and stables do. This will only be viable by checking that there's no local changes, after which there needs to be logic to pull down from CircleCI the artifacts based on git commit <-> circleCI job references.
     ---
    
    While at it, I've also fixed the hermes-engine podspec logic for detecting if it's on CI: basically the local e2e script needs to align with the changes done here: facebook@4b51207
    
    but as you can see there, the condition was actually inconsistent across the various files, so realigned to `CI === 'true'`. We probably didn't catch that so far 'cause the other condition in the hermes podspect (existence of `hermestag_file`) is only true on release branches and this new logic has not been in any release branches yet.
    
    ## Changelog
    
    <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see:
    https://reactnative.dev/contributing/changelogs-in-pull-requests
    -->
    
    [Internal] [Fixed] - add logic to local e2e script to handle maven local for iOS and Android accordingly
    
    Pull Request resolved: facebook#35104
    
    Test Plan:
    Run ` yarn test-e2e-local -t RNTestProject -p Android` successfully.
    
    Run ` yarn test-e2e-local -t RNTestProject -p iOS` successfully. On the pod install stage, you will see `[Hermes] Using pre-built Hermes binaries from local path.`
    
    Reviewed By: dmytrorykun
    
    Differential Revision: D40893239
    
    Pulled By: cipolleschi
    
    fbshipit-source-id: a31217ec4f177383c62292d00fabc4cbe4391cfd
    kelset authored and facebook-github-bot committed Nov 2, 2022
    Configuration menu
    Copy the full SHA
    c540ff7 View commit details
    Browse the repository at this point in the history
  10. Add file ReactNativeTypes.d.ts to fix CircleCI (facebook#35173)

    Summary:
    Pull Request resolved: facebook#35173
    
    changelog: [internal]
    
    D40897093 (facebook@f49b251) deleted TypeScript definitions.
    
    Reviewed By: cipolleschi
    
    Differential Revision: D40935747
    
    fbshipit-source-id: 020cba21b8b40c8b0c92bb5ab2dc4f6ba5da610a
    sammy-SC authored and facebook-github-bot committed Nov 2, 2022
    Configuration menu
    Copy the full SHA
    6a23b13 View commit details
    Browse the repository at this point in the history
  11. Fix WebSocketModule not closing connections on reload

    Summary:
    Saw in the logs an ever increasing number of warnings coming from WebSocketModule about requesting an instance that has already gone away.
    
    On module invalidation we should close all outstanding websockets, as they will no longer be able to send events to JS.
    
    Changelog: [Android][Fixed] On instance destroy, websockets are correctly closed
    
    Reviewed By: mdvacca
    
    Differential Revision: D40897255
    
    fbshipit-source-id: 1578de8baa342479d14ee1070c3314d45c7fbd8d
    javache authored and facebook-github-bot committed Nov 2, 2022
    Configuration menu
    Copy the full SHA
    b5ea5a2 View commit details
    Browse the repository at this point in the history
  12. Make sure nightly versions are using the -SNAPSHOT artifacts (faceboo…

    …k#35178)
    
    Summary:
    Pull Request resolved: facebook#35178
    
    I forgot to add the logic to fetch the -SNAPSHOT version when on nightlies.
    This code takes care of it.
    
    Changelog:
    [Internal] [Changed] - Make sure nightly versions are using the -SNAPSHOT artifacts
    
    Reviewed By: cipolleschi
    
    Differential Revision: D40939367
    
    fbshipit-source-id: 29d60cf281d30b3dbd05d7ea1c766541a8fab90a
    cortinico authored and facebook-github-bot committed Nov 2, 2022
    Configuration menu
    Copy the full SHA
    b5405b2 View commit details
    Browse the repository at this point in the history
  13. Fixup TS Organization (facebook#35169)

    Summary:
    Pull Request resolved: facebook#35169
    
    This reorganizes typing structure a bit.
    
    `Utilities.d.ts` was originally added for utilitiy types but I ended up leaving it a grab bag of types that didn't belong to any individual bit of code. Out of what is in it right now, `Insets` was actually public, and seems to have been imported.
    
    We also run into files around the renderer which are [currently overwritten](https://github.com/facebook/react-native/commits/e286da25fc83324363486eb668806aca179f74b3/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts) by the React sync script.
    
    Finally, all of the top-level imports of `Utilities` were auto-generated by VS Code, but fail in real apps. I think this is because our tsconfig sets a `baseUrl` to allow resolution from the types folder, so the tooling in the RN repo will use that, but it breaks in real apps that don't have that mapping.
    
    This splits all these up into a couple separate directories that are hopefully easier to reason about, and removes `Omit` which has been a builtin type for quite some time (we were actually already using built-in `Omit`).
    
    Changelog:
    [General][Fixed] - Fixup TS Organization
    
    Reviewed By: cipolleschi
    
    Differential Revision: D40932319
    
    fbshipit-source-id: 0b6e3e3eda603885b4dc01dcb9f5233aa546d128
    NickGerleman authored and facebook-github-bot committed Nov 2, 2022
    Configuration menu
    Copy the full SHA
    5d26cea View commit details
    Browse the repository at this point in the history
  14. Fix test_buck by not using lambdas inside ReactImagePropertyTest (fac…

    …ebook#35181)
    
    Summary:
    Pull Request resolved: facebook#35181
    
    As the title says, this unblocks `test_buck` by removign the lambdas used inside test.
    
    Changelog:
    [Internal] [Changed] - Fix test_buck by not using lambdas inside ReactImagePropertyTest
    
    Reviewed By: cipolleschi
    
    Differential Revision: D40958412
    
    fbshipit-source-id: 60b8609a25985230dfd6c4dcdf983dc2a8cfaf64
    cortinico authored and facebook-github-bot committed Nov 2, 2022
    Configuration menu
    Copy the full SHA
    46de03a View commit details
    Browse the repository at this point in the history

Commits on Nov 3, 2022

  1. Bump RNGP to 0.71.8

    Summary:
    Just bumping RNGP to make the new sources avialable to the template.
    
    Changelog:
    [Internal] [Changed] - Bump RNGP to 0.71.8
    
    Reviewed By: robhogan
    
    Differential Revision: D40948246
    
    fbshipit-source-id: c6a193fcdc0675be9ef7f1320d63e884b8b65daa
    cortinico authored and facebook-github-bot committed Nov 3, 2022
    Configuration menu
    Copy the full SHA
    e8d3fb8 View commit details
    Browse the repository at this point in the history
  2. Local filenames with colon should be parsed correctly (facebook#35123)

    Summary:
    Pull Request resolved: facebook#35123
    
    **Context**
    
    On RN Desktop, images can be copy/pasted into text inputs.
    When copy/pasting local files w/ semi-colons in the filename (`/downloads/devices:pre-call-IMG_346C38284B2B-1.jpeg`), RN would throw this error.
    
    {F785684529}
    
    The error was due to no having the correct asset loader due to the local file path being parsed incorrectly.
    
    To parse the url, we convert the string URI to a `NSURL` using a custom convertor fn.
    The conversion was matching any `:` and assuming it was a network url scheme:
    https://www.internalfb.com/code/archon_react_native_macos/[fde4113acd89fb13ee11636c48b59eac49c21bae]/React/Base/RCTConvert.m?lines=97-111
    
    When an image path with `:` in the name was passed to this, it was assuming it was a valid network url and not file path.
    
    Because this is a local filepath, the image path needs to be a filesystem url. Since this was parsed as network url, it did not have the `file://` prefix and would not pass this check, causing the loader to throw.l
    https://www.internalfb.com/code/fbsource/%5B60d9d5e67383%5D/xplat/js/react-native-github/Libraries/Image/RCTImageLoader.mm?lines=220-230
    
    ## Changelog
    
    [iOS] [Added] -  Add support for parsing files w/ `:` in filename
    
    Reviewed By: christophpurrer, philIip
    
    Differential Revision: D40729963
    
    fbshipit-source-id: 2f3adcabc8f0f1f22cbfca69c3484e72b1d93d25
    shwanton authored and facebook-github-bot committed Nov 3, 2022
    2 Configuration menu
    Copy the full SHA
    714b22b View commit details
    Browse the repository at this point in the history
  3. Add JS stub for PerformanceObserver specs

    Summary:
    This stubs all the type definitions for the [PerformanceObserver web perf APIs](https://www.w3.org/TR/performance-timeline/#the-performanceobserver-interface).
    
    Changelog: [Internal]
    
    Reviewed By: javache
    
    Differential Revision: D40892974
    
    fbshipit-source-id: 31fe972fc069eb62e51bca82e9cd42ca65811753
    rshest authored and facebook-github-bot committed Nov 3, 2022
    Configuration menu
    Copy the full SHA
    a671d61 View commit details
    Browse the repository at this point in the history
  4. cleanup publish-npm.js: --include-hermes is not used anywhere (facebo…

    …ok#35166)
    
    Summary:
    Pull Request resolved: facebook#35166
    
    The Hermes source code is not included in the RN npm package. This piece of code is a remnant from an early experimentation into integrating Hermes more tightly with React Native. We ended up using a combination of the scripts in `scripts/hermes` to fetch the source code from GitHub and relying on prebuilts for stable releases.
    
    Added `strict()` flag to ensure the script fails immediately if an unrecognized flag is passed.
    
    Avoid logging temp publishing folder value to console when `--help` is used.
    
    Changelog: [internal]
    
    Reviewed By: cortinico
    
    Differential Revision: D40918939
    
    fbshipit-source-id: 2e62ab16467c4c67f03efdf5211a156cb70e0b11
    hramos authored and facebook-github-bot committed Nov 3, 2022
    Configuration menu
    Copy the full SHA
    4f3ca8f View commit details
    Browse the repository at this point in the history
  5. Add atomic registerSegment method to test

    Summary:
    In the top js errors there are 2 mids related to segment fetching:
    - requireForFacebook.js:unknownModuleError (https://www.internalfb.com/logview/details/facebook_android_javascripterrors/ba11461526aff8a6842401b35b02f5a4), 11.64 K vs. 524
    - asyncRequire.js:verifySegment (https://www.internalfb.com/logview/details/facebook_android_javascripterrors/5452ba893b8d9ba8e97e070cf6976b65) 5.39 K vs. 180
    
    Both errors will result in surface not loading.
    
    A lot of traces have logs similar with the following:
    
    ```11-01 19:57:51.166 27735  7626 W fb4a.BridgelessReact: registerSegment(segmentId = "1090", path = "/data/data/com.facebook.katana/app_overtheair/resources/412137089/414433453/hbc-seg-1090__DELIM__main.jsbundle")
    11-01 19:57:51.167 27735  7445 I ReactNativeJS: Module 39122 in segment 0 doesn not exist moduleDefiner
    11-01 19:57:51.171 27735  7445 E ReactNativeJS: Error: Requiring unknown module "39122"., js build: 414433453
    11-01 19:57:51.175 27735  7445 E ReactNativeJS: Error: Segment meta module is not setup properly. Details: segmentId = 1090, metaModule === undefined
    11-01 19:57:51.175 27735  7445 E ReactNativeJS:
    11-01 19:57:51.175 27735  7445 E ReactNativeJS: This error is located at:
    ```
    
    RegisterSegment lives through 3 threads while in bridge there are only 2 threads involved (native & JS):
    - Native thread, log printed (fb4a.BridgelessReact: registerSegment...)
    - Background thread: no log, added in this diff (Finish registerSegment...)
    - JS thread: logs not printed, should print logs here:
    
    https://www.internalfb.com/code/fbsource/[60521987354ed1ef9a0d10bafc60db3c25302ab4]/xplat/ReactNative/venice/ReactInstance.cpp?lines=308-330
    
    Since the JS thread logs aren't printed and there are segment errors right after calling registerSegemnt, I think registerSegment is not done. It could be caused by:
    - ReactInstance being null, I added logs in background thread to verify (Finish registerSegment...) since dispatching to background thread relies on non-nullable ReactInstance.
    - Work on JS thread hasn't been executed when trying to use/verify the segment. I added atomic method ```registerSegmentAtomic``` to make sure JS thread is blocked until segment is fully registered.
    
    ```registerSegmentAtomic``` will be tested behind gating added in D40917444.
    
    Changelog:
    [Android][Changed] - Add feature flag enableAtomicRegisterSegment
    
    Reviewed By: RSNara
    
    Differential Revision: D40921759
    
    fbshipit-source-id: 84221aa81f0c549f931a4847b154187299639ef4
    Lulu Wu authored and facebook-github-bot committed Nov 3, 2022
    Configuration menu
    Copy the full SHA
    f207cfd View commit details
    Browse the repository at this point in the history
  6. Use TypeScript by default for new applications (facebook#35165)

    Summary:
    This change moves the default new application template in OSS from Flow to TypeScript. This better aligns with the communities usage, and aligns to the great work that has been happening for TS codegen and built-in types. This used [`react-native-community/react-native-template-typescript`](https://github.com/react-native-community/react-native-template-typescript) as a main reference, maintained by radko93. A few things are different:
    1. Updated `types/*` devDependencies to match bumped libraries (e.g. Jest 26 to 20).
    2. Removed `types/react-native`
    3. Removed explicit `moduleFileExtensions` to Jest config in package.json (TS and TSX and added by default in current versions)
    4. Removed overrides to eslint config to disable `no-shadow` and `no-undef`, since this was fixed in the underlying eslint config with facebook#32644 and facebook#32655
    5. Re-translated `App.js` to be a direct translation (e.g. still a raw function instead of React.FC which is sometimes discouraged)
    6. Aligns completely to `tsconfig/react-native` maintained configuration (We no longer have the opinionated override of `skipLibCheck`). The important settings are that `strict` is enabled for, but `allowJS` is also enabled to let users import JS modules without anything unexpected. `esModuleInterop` is enabled, which is needed for consistency with Babel import transformations used by Metro. Consistent with our [current documentation](https://reactnative.dev/docs/typescript) built against the community template, `tsc` will typecheck your code without emitting(building) anything.
    
    [Documentation](https://reactnative.dev/docs/typescript) will need to be updated as a followup.
    
    Changelog:
    [General][Changed] - Use TypeScript by default for new applications
    
    Pull Request resolved: facebook#35165
    
    Test Plan: Added usage of `tsc` and `jest` when validating a newly built app. Passes in CircleCI `test_js` job. This also meant removing some cases of copying packages into the users app to pull in the root Metro config (we seem to be able to use the template Metro config consistent with what real apps would get).
    
    Reviewed By: cortinico
    
    Differential Revision: D40911951
    
    Pulled By: NickGerleman
    
    fbshipit-source-id: 15994534235695e91cf994ad06ba2183dfc89a50
    NickGerleman authored and facebook-github-bot committed Nov 3, 2022
    Configuration menu
    Copy the full SHA
    aaf1990 View commit details
    Browse the repository at this point in the history
  7. Add various annotation types to markEvent ReactNative API

    Summary:
    Support various annotations types in QuickPerformanceLogger markEvent for Android.
    
    Changelog:
    [Internal][Changed] - Added support for various markEvent annotation types
    
    Reviewed By: dmitry-voronkevich
    
    Differential Revision: D40852658
    
    fbshipit-source-id: fc4053555f65958653be30a58742c83040a19df1
    Sergei Karpukhin authored and facebook-github-bot committed Nov 3, 2022
    Configuration menu
    Copy the full SHA
    890805d View commit details
    Browse the repository at this point in the history
  8. Hermes version bump for 0.71.0-RC0

    Riccardo Cipolleschi committed Nov 3, 2022
    Configuration menu
    Copy the full SHA
    5f656e9 View commit details
    Browse the repository at this point in the history
  9. feat: make RCTBlobManager TurboModule-compatible

    Summary:
    This diff reverts D40716048 (facebook@279cfec) (facebook#35047) which breaks RCTImageLoader.
    https://pxl.cl/2jKrM
    Those files are auto-generated and are not supposed to be edited manually.
    Changelog: [iOS] [Fixed] - facebook#35047 reverted.
    
    Reviewed By: cipolleschi
    
    Differential Revision: D40979350
    
    fbshipit-source-id: ece2b9c653fe01e209a523e6a99e41a0605fddac
    dmytrorykun authored and facebook-github-bot committed Nov 3, 2022
    Configuration menu
    Copy the full SHA
    94cea1e View commit details
    Browse the repository at this point in the history
  10. Merge pull request facebook#35188 from dmytrorykun/export-D40979350

    Revert: make RCTBlobManager TurboModule-compatible
    Riccardo authored Nov 3, 2022
    Configuration menu
    Copy the full SHA
    151498a View commit details
    Browse the repository at this point in the history
  11. Correctly set -DCMAKE_BUILD_TYPE for Hermes on iOS

    Summary:
    We accidentally added `-DCMAKE_BUILD_TYPE=Debug` for Hermes which is causing
    a really slow engine execution. This fixes it and keep the -DCMAKE_BUILD_TYPE
    aligned with the one used on Android.
    
    Changelog:
    [iOS] [Fixed] - Correctly set -DCMAKE_BUILD_TYPE for Hermes on iOS
    
    Reviewed By: hramos, cipolleschi
    
    Differential Revision: D40980934
    
    fbshipit-source-id: 30f0455990a911b51eb109bebca8272507302650
    cortinico authored and Riccardo Cipolleschi committed Nov 3, 2022
    Configuration menu
    Copy the full SHA
    936d69e View commit details
    Browse the repository at this point in the history
  12. [0.71.0-rc.0] Bump version numbers

    Distiller committed Nov 3, 2022
    Configuration menu
    Copy the full SHA
    f0054e1 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    becb47c View commit details
    Browse the repository at this point in the history
  14. [Fix] Make sure to export a single version for hermes artifacts and w…

    …ipe Podfile.lock while in release
    Riccardo Cipolleschi committed Nov 3, 2022
    Configuration menu
    Copy the full SHA
    41bf725 View commit details
    Browse the repository at this point in the history

Commits on Nov 4, 2022

  1. Bump dependency versions before the branch cut 0.71.0

    Summary: Changelog: [General][Changed] - Bump dependency versions.
    
    Reviewed By: cipolleschi
    
    Differential Revision: D40991336
    
    fbshipit-source-id: 71c8edbeb274d095403b2f17e60f217d16fe01c0
    dmytrorykun authored and Riccardo Cipolleschi committed Nov 4, 2022
    Configuration menu
    Copy the full SHA
    ae677ef View commit details
    Browse the repository at this point in the history
  2. Remove project.android block from rn-tester's CLI config (facebook#35197

    )
    
    Summary:
    The project.android block is unnecessary and contains a wrong path. Let's use the default path which is `./android`.
    
    ## Changelog
    
    [Internal] - Remove project.android block from rn-tester's CLI config
    
    Pull Request resolved: facebook#35197
    
    Test Plan: Tested locally + will wait for a CI run
    
    Reviewed By: robhogan
    
    Differential Revision: D41013193
    
    Pulled By: cortinico
    
    fbshipit-source-id: 5c76c9b571b23ad71a23a8f3f05a9acb4d6e20b9
    cortinico authored and Riccardo Cipolleschi committed Nov 4, 2022
    Configuration menu
    Copy the full SHA
    e59cf2d View commit details
    Browse the repository at this point in the history
  3. fix (deps): add explicitly eslint config to dependencies (facebook#35192

    )
    
    Summary:
    Basically since this change facebook#34423 everything worked ok because in the main branch where the monorepo has the workspace section and everything, `react-native-community/eslint-config` was getting pulled in as a node_module anyway - but when moving to a stable branch and wanting to do a release, as we are now with 0.71, because of what the final package.json looks like for react-native and [the modifications that it goes through](facebook@f0054e1#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519) (ex. the `workspace` section disappears), the fact that it's not directly listed as dependency makes [the CI fails](https://app.circleci.com/pipelines/github/facebook/react-native/17124/workflows/54a4162d-f466-4eab-94ba-ec9fe77e2ecf/jobs/339643) with `Error: Failed to load config "react-native-community" to extend from.`
    
    ## Changelog
    
    <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see:
    https://reactnative.dev/contributing/changelogs-in-pull-requests
    -->
    
    [General] [Fixed] - add explicitly eslint config to dependencies
    
    Pull Request resolved: facebook#35192
    
    Test Plan: In 0.71, add the deps to see the error disappear (it gets replaced by a different one though, looking into that)
    
    Reviewed By: jacdebug, cortinico
    
    Differential Revision: D40988407
    
    Pulled By: cipolleschi
    
    fbshipit-source-id: 38f433a0b4b47a7cb61b59e887459d11182a5b4b
    kelset authored and Riccardo Cipolleschi committed Nov 4, 2022
    Configuration menu
    Copy the full SHA
    49278df View commit details
    Browse the repository at this point in the history
  4. [LOCAL] bump CLI to 10 alpha3

    kelset committed Nov 4, 2022
    Configuration menu
    Copy the full SHA
    741d102 View commit details
    Browse the repository at this point in the history
  5. Revert "[0.71.0-rc.0] Bump version numbers"

    This reverts commit f0054e1.
    Riccardo Cipolleschi committed Nov 4, 2022
    Configuration menu
    Copy the full SHA
    39798cf View commit details
    Browse the repository at this point in the history
  6. [LOCAL] Bump git checkout cache key

    Riccardo Cipolleschi committed Nov 4, 2022
    Configuration menu
    Copy the full SHA
    fd5e282 View commit details
    Browse the repository at this point in the history
  7. [0.71.0-rc.0] Bump version numbers

    Distiller committed Nov 4, 2022
    Configuration menu
    Copy the full SHA
    c9a3c57 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    0f72abf View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    8e3b620 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    b8f8ac0 View commit details
    Browse the repository at this point in the history
  11. Revert "[0.71.0-rc.0] Bump version numbers"

    This reverts commit c9a3c57.
    kelset committed Nov 4, 2022
    Configuration menu
    Copy the full SHA
    c4a7e46 View commit details
    Browse the repository at this point in the history
  12. [0.71.0-rc.0] Bump version numbers

    Distiller committed Nov 4, 2022
    Configuration menu
    Copy the full SHA
    ea9dd43 View commit details
    Browse the repository at this point in the history
  13. [LOCAL] better fix for param

    kelset committed Nov 4, 2022
    Configuration menu
    Copy the full SHA
    32931b1 View commit details
    Browse the repository at this point in the history
  14. Revert "[0.71.0-rc.0] Bump version numbers"

    This reverts commit ea9dd43.
    kelset committed Nov 4, 2022
    Configuration menu
    Copy the full SHA
    4d0be14 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    5c9f160 View commit details
    Browse the repository at this point in the history
  16. [0.71.0-rc.0] Bump version numbers

    Distiller committed Nov 4, 2022
    Configuration menu
    Copy the full SHA
    27c32b2 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    e4f23f4 View commit details
    Browse the repository at this point in the history
  18. Revert "[0.71.0-rc.0] Bump version numbers"

    This reverts commit 27c32b2.
    kelset committed Nov 4, 2022
    Configuration menu
    Copy the full SHA
    94b1165 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    41a80f2 View commit details
    Browse the repository at this point in the history
  20. [0.71.0-rc.0] Bump version numbers

    Distiller committed Nov 4, 2022
    Configuration menu
    Copy the full SHA
    60129ab View commit details
    Browse the repository at this point in the history

Commits on Nov 16, 2022

  1. Incorporate gap space into main axis overflow flag (facebook#1173)

    Summary:
    X-link: facebook/yoga#1173
    
    In facebook#35351 we see incorrect child item height when the flex-wrap is enabled, the cross-axis is to be stretched, and main-axis overflow is caused by gap.
    
    In YGDistributeFreeSpaceSecondPass, if we do not have overflow (determined by flexBasisOverflows), we have stretch cross-alignment, and we reason that nothing can add to main axis dimensions, we know we're a single line and want to take full cross dimensions. and can set YGMeasureModeExactly which uses parent dimensions. Guessing an optimization?
    
    If we do have overflow, then we set YGMeasureModeAtMost to find minimum possible cross-axis dimensions instead.
    
    `flexBasisOverflows` incorporates both computed flex basis, and margin, so it is more generally a flag for whether we will wrap. So we should incorporate gap spacing into it. E.g. it is also used for whether we should the match main axis parent dimension of the overall container. This change does just that, and renames the flag to `mainAxisOverflows`.
    
    We will want to cherry-pick the fix for this into RN 0.71 since we have not yet introduced the community to the incorrect behavior, and we expect a lot of usage of flex-gap.
    
    Changelog:
    [General][Fixed] - Fix incorrect height when gap causes main axis to overflow and cross-axis is stretched
    
    Reviewed By: yungsters
    
    Differential Revision: D41311424
    
    fbshipit-source-id: bd0c3b5aac478a56878703b6da84fc3993cc14da
    NickGerleman committed Nov 16, 2022
    Configuration menu
    Copy the full SHA
    2c26c8f View commit details
    Browse the repository at this point in the history

Commits on Nov 17, 2022

  1. This reverts commit 2c26c8f.

    We need to pick the commits in the same order they were committed on main.
    Riccardo Cipolleschi committed Nov 17, 2022
    Configuration menu
    Copy the full SHA
    229be89 View commit details
    Browse the repository at this point in the history

Commits on Nov 22, 2022

  1. react-native-codegen: Enable C++ TurboModule generation in OpenSource…

    … builds (facebook#35211)
    
    Summary:
    Pull Request resolved: facebook#35211
    
    This enables the generation of C++ TurboModule specs in addition to existing Java/ObjC ones.
    
    An example is shown in facebook#35138
    
    Changelog: [Internal]
    
    Reviewed By: cipolleschi
    
    Differential Revision: D41057630
    
    fbshipit-source-id: 303881a63eb82f0fe8dfe10e533043a6eedb3d11
    christophpurrer authored and kelset committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    83c8163 View commit details
    Browse the repository at this point in the history
  2. TurboModules: Simplify React-bridging usage (facebook#35212)

    Summary:
    Pull Request resolved: facebook#35212
    
    A previous change - facebook#34011 - already fixed basic usage of <react/bridging/.../ imports.
    However that change was only tailored towards the usage of: <react/bridging/CallbackWrapper.h>
    Any other header besides <react/bridging/CallbackWrapper.h> from <react/bridging/... can't be imported at this time in Xcode ... ... which is bad.
    
    For C++ TurboModules we need to be able to access *any* <react/bridging/...> header via the React-Codegen CocoaPod.
    Hence adding bridging now as a sub-spec to the ReactCommon CocoaPod
    
    Changelog: [Internal]
    
    Reviewed By: cipolleschi
    
    Differential Revision: D41057878
    
    fbshipit-source-id: 83c117bc5252d84dd419cdb72f145f65547d23b2
    
    # Conflicts:
    #	scripts/cocoapods/__tests__/codegen_utils-test.rb
    christophpurrer authored and kelset committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    7ef7d99 View commit details
    Browse the repository at this point in the history
  3. Provide easy registration of C++ TurboModules in rn-tester Android (f…

    …acebook#35225)
    
    Summary:
    Pull Request resolved: facebook#35225
    
    Changelog:
    [Android] [Changed] - Provide easy registration of C++ TurboModules in rn-tester Android
    
    Reviewed By: javache
    
    Differential Revision: D41069277
    
    fbshipit-source-id: 450de9302df2916acf324d4c316996b185b2833f
    christophpurrer authored and kelset committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    775d5cd View commit details
    Browse the repository at this point in the history
  4. fix: Change checkout cache strategy (facebook#35259)

    Summary:
    This PR updates he cache strategy for the `checkout_with_cache command`.
    
    The previous strategy was using three keys in descending priority order to restore from the cache:
    * `<< parameters.checkout_base_cache_key >>-{{ arch }}-{{ .Branch }}-{{ .Revision }}`
    * `<< parameters.checkout_base_cache_key >>-{{ arch }}-{{ .Branch }}`
    *`<< parameters.checkout_base_cache_key >>-{{ arch }}`
    
    When it saves, it always saves using the first key.
    
    The restore works as it follows:
    1. It tries to restore the cache using the first key
    2. If it fails, it checks whether there is a cache hit for a key that matches the second key as a pattern
    3. If it fails, it checks whether there is a cache hit for a key that matches the third pattern
    4. Otherwise, it is a cache miss.
    
    This does not work well. Imagine that you submit some code in commit `xxxx` for branch `abc`.
    The CI run the first time, it misses all the three keys and checks out the code normally.
    Then, it stores the checked out code in the `checkout_key-abc-xxxx` key.
    
    Then, you submit a commit `yyyy` in the same branch.
    The CI starts, it tries with the key `checkout_key-abc-yyyy` but it misses
    It tries with the key `checkout_key-abc` and it finds the cache for `checkout_key-abc-xxxx` and it restores it, forgetting about your changes.
    
    While doing the release, we created a tag in a commit X. Then we manually had to remove it, but the CI had a cached version of .git with the tag for
    the `0.71-stable` branch. And the release failed because the tag was already existing.
    
    ### Why this should work
    
    With this solution, we are going to cache using the commit. If there is no cache for a specific commit, it will be a miss. It won't try to be smart and
    retrieve the code from previous caches.
    
    This should prevent stale caches and if we manually remove a tag, and then we do a new commit, it should work.
    
    This is a good trade-off that allows to pay the checkout cost only for the first batch of jobs of the pipeline.
    
    **NOTE:** This still won't work if we don't do a new commit.
    
    ## Changelog
    
    [General] [Fixed] - Change Cache strategy to avoid cache bumps in Release
    
    Pull Request resolved: facebook#35259
    
    Test Plan: 1. CircleCI must be green
    
    Reviewed By: jacdebug
    
    Differential Revision: D41120895
    
    Pulled By: cipolleschi
    
    fbshipit-source-id: 2b45da01803197dbe4a25a313a9dfc53a976d096
    Riccardo Cipolleschi authored and kelset committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    79bb531 View commit details
    Browse the repository at this point in the history
  5. Bump OSS Android build to SDK 33 (facebook#35196)

    Summary:
    Pull Request resolved: facebook#35196
    
    Changelog:
    [Android][Changed] - Bump Android compile and target SDK to 33
    
    Reviewed By: cortinico
    
    Differential Revision: D41007003
    
    fbshipit-source-id: e7866107fdcfafa778faa6c7f31835b8dd15647a
    makovkastar authored and kelset committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    d587e0c View commit details
    Browse the repository at this point in the history
  6. react-native code-gen > Add a C++ only TurboModule example (for Andro…

    …id/iOS/macOS/Windows) (facebook#35138)
    
    Summary:
    Pull Request resolved: facebook#35138
    
    Changelog:
    
    [General][Added] - Add a C++ only TurboModule example (for Android/iOS/macOS/Windows)
    
    react-native@0.69 introduced a new bridging layer to ease integration for pure C++ TurboModules using C++ std:: types directly instead of the lower level jsi:: types:
    https://github.com/facebook/react-native/tree/v0.69.0/ReactCommon/react/bridging
    
    This bridging layer can be used in JSI functions or more conveniently in C++ TurboModules.
    
    Here is a example of an C++ only TurboModule which will work on Android and iOS and macOS/Windows (using microsoft/react-native-macos|windows) only using flow/TypeScript and standard C++ types.
    
    C++ only TurboModules are very handy as they do not require to work with JSI APIs - instead std:: or custom C++ can by used.
    
    Reviewed By: javache
    
    Differential Revision: D39011736
    
    fbshipit-source-id: 84c833d8540671fde8505f1aeb0265074b248730
    christophpurrer authored and kelset committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    c63ea4c View commit details
    Browse the repository at this point in the history
  7. Exclude PerformanceObserver from flow/haste

    Summary:
    [Changelog][Internal]
    
    This is to prevent an accidental use of PerformanceObserver while it's still a work in progress.
    
    PerformanceObserver is also moved into a dedicated folder, `Libraries/WebPerformance`.
    
    Reviewed By: rubennorte
    
    Differential Revision: D40978749
    
    fbshipit-source-id: 09645a95bed72902870ebc00c1b4a3d81ab4c829
    rshest authored and kelset committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    8c488d8 View commit details
    Browse the repository at this point in the history
  8. Refactor PerformanceObserver public API

    Summary:
    Changelog: [Internal]
    
    This is a follow-up to D40892974 (facebook@a671d61), addressing the post-land comments and discussions.
    
    Reviewed By: rubennorte
    
    Differential Revision: D40979654
    
    fbshipit-source-id: 2e7e1d24be8211cc3363a07678745039e5606d8d
    rshest authored and kelset committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    d02b513 View commit details
    Browse the repository at this point in the history
  9. JS side implementation of PerformanceObserver API

    Summary:
    [Changelog][Internal]
    
    This adds module specs for the native part of PerformanceObserver, as well as the interaction logic vs the NativePerformanceObserver API.
    
    See https://fb.quip.com/MdqgAk1Eb2dV for more detail.
    
    Reviewed By: rubennorte
    
    Differential Revision: D40897006
    
    fbshipit-source-id: 77475f21dad9ee9dbe15df5a989eb08d314e6db2
    rshest authored and kelset committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    ea0cd5b View commit details
    Browse the repository at this point in the history
  10. Scaffolding for the PerformanceObserver TurboModule (C++ side) (faceb…

    …ook#35226)
    
    Summary:
    Pull Request resolved: facebook#35226
    
    Changelog: [Internal]
    
    This adds scaffolding for the C++ side of NativePerformanceObserver module.
    
    Thanks to christophpurrer for helping set this up, as this is the first one of this kind inside core/OSS.
    
    Reviewed By: rubennorte
    
    Differential Revision: D41028555
    
    fbshipit-source-id: 4acf0e71a254a42044cbbe5f94f40938342c6aa2
    rshest authored and kelset committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    b310f2b View commit details
    Browse the repository at this point in the history
  11. Fix Cpp codegen handling of optional arguments

    Summary:
    Changelog:
    [General][Fixed] - Codegen for C++ TurboModules of optional method arguments was incorrect
    
    Reviewed By: christophpurrer
    
    Differential Revision: D40979066
    
    fbshipit-source-id: 5bb48dbafc14dcea21b7e0b15e3f4bb527bc8476
    javache authored and kelset committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    df737b0 View commit details
    Browse the repository at this point in the history
  12. refactor(react-native-github): move ImagePickerIOS to internal (faceb…

    …ook#35199)
    
    Summary:
    Pull Request resolved: facebook#35199
    
    **Changelog:**
    [iOS][Removed] - Removed ImagePickerIOS module native sources
    [JS][Removed] - Removed ImagePickerIOS module from react-native
    
    Reviewed By: cortinico
    
    Differential Revision: D40859520
    
    fbshipit-source-id: a6a114a05574d46ea62600999bff95025ba7cdc8
    hoxyq authored and kelset committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    adcdb36 View commit details
    Browse the repository at this point in the history
  13. react-native code-gen > C++ TurboModules struct support (facebook#35265)

    Summary:
    Pull Request resolved: facebook#35265
    
    This adds a templating layer for C++ TurboModules to automatically generate struct templates from TurboModule specs.
    
    You have to define concrete types for those templates to use them in your C++ TurboModule.
    
    E.g. for the JS flow type:
    ```
    export type ObjectStruct = {|
      a: number,
      b: string,
      c?: ?string,
    |};
    ```
    code-gen will now generate the following template code:
    ```
    #pragma mark - NativeCxxModuleExampleCxxBaseObjectStruct
    
    template <typename P0, typename P1, typename P2>
    struct NativeCxxModuleExampleCxxBaseObjectStruct {
      P0 a;
      P1 b;
      P2 c;
      bool operator==(const NativeCxxModuleExampleCxxBaseObjectStruct &other) const {
        return a == other.a && b == other.b && c == other.c;
      }
    };
    
    template <typename P0, typename P1, typename P2>
    struct NativeCxxModuleExampleCxxBaseObjectStructBridging {
      static NativeCxxModuleExampleCxxBaseObjectStruct<P0, P1, P2> fromJs(
          jsi::Runtime &rt,
          const jsi::Object &value,
          const std::shared_ptr<CallInvoker> &jsInvoker) {
        NativeCxxModuleExampleCxxBaseObjectStruct<P0, P1, P2> result{
          bridging::fromJs<P0>(rt, value.getProperty(rt, "a"), jsInvoker),
          bridging::fromJs<P1>(rt, value.getProperty(rt, "b"), jsInvoker),
          bridging::fromJs<P2>(rt, value.getProperty(rt, "c"), jsInvoker)};
        return result;
      }
    
      static jsi::Object toJs(
          jsi::Runtime &rt,
          const NativeCxxModuleExampleCxxBaseObjectStruct<P0, P1, P2> &value) {
        auto result = facebook::jsi::Object(rt);
        result.setProperty(rt, "a", bridging::toJs(rt, value.a));
        result.setProperty(rt, "b", bridging::toJs(rt, value.b));
        if (value.c) {
          result.setProperty(rt, "c", bridging::toJs(rt, value.c.value()));
        }
        return result;
      }
    };
    ```
    and you can use it in our C++ TurboModule for example as:
    ```
    using ObjectStruct = NativeCxxModuleExampleCxxBaseObjectStruct<
        int32_t,
        std::string,
        std::optional<std::string>>;
    
    template <>
    struct Bridging<ObjectStruct>
        : NativeCxxModuleExampleCxxBaseObjectStructBridging<
              int32_t,
              std::string,
              std::optional<std::string>> {};
    ```
    or as
    ```
    using ObjectStruct = NativeCxxModuleExampleCxxBaseObjectStruct<
        float,
        folly::StringPiece,
        std::optional<std::string>>;
    
    template <>
    struct Bridging<ObjectStruct>
        : NativeCxxModuleExampleCxxBaseObjectStructBridging<
              float,
              folly::StringPiece,
              std::optional<std::string>> {};
    ```
    Or as
    ...
    
    Changelog: [Internal]
    
    Reviewed By: rshest
    
    Differential Revision: D41133761
    
    fbshipit-source-id: fdf36e51073cb46c5234f6121842c79a884899c7
    christophpurrer authored and kelset committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    08430bf View commit details
    Browse the repository at this point in the history
  14. deps(cli): "backport" CLI bump into main from 0.71 (facebook#35260)

    Summary:
    This is just a PR to realign main branch (and put it ahead) of a local change we did in 0.71: facebook@741d102
    
    ## Changelog
    
    <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see:
    https://reactnative.dev/contributing/changelogs-in-pull-requests
    -->
    
    [General] [Changed] - Bump CLI to v10 alpha5
    
    Pull Request resolved: facebook#35260
    
    Test Plan: N/A
    
    Reviewed By: christophpurrer
    
    Differential Revision: D41122011
    
    Pulled By: cipolleschi
    
    fbshipit-source-id: 8f01ed94bfd39d58b2e54cd2945fcca5bb8ebd18
    
    # Conflicts:
    #	package.json
    #	yarn.lock
    kelset committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    4eda46f View commit details
    Browse the repository at this point in the history
  15. Fix variable expansion in ReactNative-application.cmake (facebook#35306)

    Summary:
    Hi, while adjusting [react-native-screens](https://github.com/software-mansion/react-native-screens) to `0.71.0-rc.0` I encountered the same problems as reported [here](reactwg/react-native-releases#41 (reply in thread)) by WoLewicki.
    
    Basically inside `CMake`'s `foreach` loop iterator variable is not being expanded to the actual value:
    
    ```cmake
    foreach(autolinked_library ${AUTOLINKED_LIBRARIES})
        target_link_libraries(autolinked_library common_flags) // <-- here we are literally linking to "autolinked_library".
    endforeach()
    ```
    
    ## Changelog
    
    [Android] [Fixed] - Fix Android autolinking failing because of not expanded variable
    
    Pull Request resolved: facebook#35306
    
    Reviewed By: christophpurrer, cipolleschi
    
    Differential Revision: D41220408
    
    Pulled By: rshest
    
    fbshipit-source-id: 12ce993f0c5227ca7d3c2cc272fe3739126930b3
    kkafar authored and kelset committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    99bcbad View commit details
    Browse the repository at this point in the history
  16. Revert "[Fix] Make sure to export a single version for hermes artifac…

    …ts and wipe Podfile.lock while in release"
    
    This reverts commit 41bf725.
    kelset committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    3624b47 View commit details
    Browse the repository at this point in the history
  17. Remove version from the tarball (facebook#35285)

    Summary:
    Pull Request resolved: facebook#35285
    
    While doing the release 0f 0.71.0-RC0, we noticed that having the RN version in the hermes tarball was causing more harm than good.
    
    With the version in the name, we ended up with multiple tarballs for debug and release and we were not able to explicitly pick the right tarball given a build.
    
    This change remove the version from the tarball name.
    
    ## Changelog
    [General][Changed] - Remove React Native version from Hermes tarball name
    
    Reviewed By: lunaleaps
    
    Differential Revision: D41156353
    
    fbshipit-source-id: 8899d5e1e1555bc728d923f3b78d1261e6ff09c7
    cipolleschi authored and kelset committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    5e5d29e View commit details
    Browse the repository at this point in the history
  18. Add Dynamic Type support for iOS (Paper and Fabric) (facebook#35017)

    Summary:
    This adds Dynamic Type support in iOS as described [here](react-native-community/discussions-and-proposals#519).
    
    `Text` elements have a new prop, `dynamicTypeRamp`, that allows users to specify which font ramp a particular `Text` element should take on as the OS's accessibility setting for text size. The different types line up with different values of `UIFontTextStyle`. If not specified, we default to the current behavior.
    
    ~~For the moment, this change is only for Paper. I tried applying a corresponding change to Fabric by adding an additional field to [`facebook::react::TextAttributes`](https://github.com/facebook/react-native/blob/main/ReactCommon/react/renderer/attributedstring/TextAttributes.h) and changing [`RCTEffectiveFontSizeMultiplierFromTextAttributes`](https://github.com/facebook/react-native/blob/afb124dcf0cdf0db525acc7cfd2cea2742c64068/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.mm#L79-L84) to use that new field, but in the process I discovered that this function doesn't seem to ever get called, hence [this bug](facebook#34990
    
    ## Changelog
    
    [iOS] [Added] - Dynamic Type support
    
    Pull Request resolved: facebook#35017
    
    Test Plan:
    Validated with a test page in RNTester. Screenshots follow:
    
    A) Default text size
    B) Largest non-accessibility text size
    C) Largest accessibility text size, split across two screenshots due to size
    
    | A | B | C |
    |-|-|-|
    | ![Simulator Screen Shot - iPad (9th generation) - 2022-10-18 at 16 17 08](https://user-images.githubusercontent.com/717674/196562746-c8bbf53d-3c70-4e55-8600-0cfed8aacf5d.png) | ![Simulator Screen Shot - iPad (9th generation) - 2022-10-18 at 16 17 55](https://user-images.githubusercontent.com/717674/196563051-68bb0e34-c573-47ed-8c19-58ae45a7ce2b.png) | ![Simulator Screen Shot - iPad (9th generation) - 2022-10-18 at 16 18 33](https://user-images.githubusercontent.com/717674/196563185-61ede5ee-e79e-4af5-84a7-8f1e230a25f8.png) |
    ||| ![Simulator Screen Shot - iPad (9th generation) - 2022-10-18 at 16 18 42](https://user-images.githubusercontent.com/717674/196563208-2242efa2-5f24-466d-80f5-eb57a7678a67.png) |
    
    Reviewed By: sammy-SC
    
    Differential Revision: D40779346
    
    Pulled By: NickGerleman
    
    fbshipit-source-id: efc7a8e9810a93afc82c5def97af15a2e8453d90
    
    # Conflicts:
    #	packages/rn-tester/Podfile.lock
    Adam Gleitman authored and kelset committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    8d11cb4 View commit details
    Browse the repository at this point in the history
  19. Incorporate gap space into main axis overflow flag (facebook#1173)

    Summary:
    X-link: facebook/yoga#1173
    
    In facebook#35351 we see incorrect child item height when the flex-wrap is enabled, the cross-axis is to be stretched, and main-axis overflow is caused by gap.
    
    In YGDistributeFreeSpaceSecondPass, if we do not have overflow (determined by flexBasisOverflows), we have stretch cross-alignment, and we reason that nothing can add to main axis dimensions, we know we're a single line and want to take full cross dimensions. and can set YGMeasureModeExactly which uses parent dimensions. Guessing an optimization?
    
    If we do have overflow, then we set YGMeasureModeAtMost to find minimum possible cross-axis dimensions instead.
    
    `flexBasisOverflows` incorporates both computed flex basis, and margin, so it is more generally a flag for whether we will wrap. So we should incorporate gap spacing into it. E.g. it is also used for whether we should the match main axis parent dimension of the overall container. This change does just that, and renames the flag to `mainAxisOverflows`.
    
    We will want to cherry-pick the fix for this into RN 0.71 since we have not yet introduced the community to the incorrect behavior, and we expect a lot of usage of flex-gap.
    
    Changelog:
    [General][Fixed] - Fix incorrect height when gap causes main axis to overflow and cross-axis is stretched
    
    Reviewed By: yungsters
    
    Differential Revision: D41311424
    
    fbshipit-source-id: bd0c3b5aac478a56878703b6da84fc3993cc14da
    NickGerleman authored and kelset committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    41c56db View commit details
    Browse the repository at this point in the history
  20. Configure BlobModule as proper TurboModule

    Summary:
    This change puts back D40716048 (facebook@279cfec) but in the right way, i.e. modifying the script that should generate those changes.
    
    ## Changelog
    [iOS][Added] - Make the blobs proper TM
    
    Reviewed By: dmytrorykun
    
    Differential Revision: D41312160
    
    fbshipit-source-id: 38850a63eb8d66ffd179743b4948a23340c8782e
    cipolleschi authored and kelset committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    adfd21e View commit details
    Browse the repository at this point in the history
  21. Fixup template devDependencies (facebook#35372)

    Summary:
    Fixes missing/incorrect devDependencies in a newly built app. The previous set did not pull in prettier, causing linting to fail.  There was a peerDependency warning on yarn install. We also saw a separate lint warning at runtime specific to TS 4.9 being pulled in now, so we constrain in that version a bit.
    
    Prettier and preset-env versions match the constraints and lockfiles of other RN packages.
    
    ## Changelog
    
    [General] [Fixed] - Fixup template devDependencies
    
    Pull Request resolved: facebook#35372
    
    Test Plan:
    Created a new app targeting 0.71 via `react-native init`.
    
    1. `yarn install --force` no longer shows warnings
    2. `prettier` is installed, `yarn lint` no longer fails, and shows no warnings or errors
    3. ~Tentatively a test step to add tests against linting in new app, but last time doing that in CircleCI led to timeouts with no output  that I didn't have time to debug, so maybe that's fixed now? �‍♀️.~ (edit: still hangs)
    
    Reviewed By: NickGerleman
    
    Differential Revision: D41363021
    
    Pulled By: lunaleaps
    
    fbshipit-source-id: d6163b01e8934d75a231fa0fd849d7bde7b3500c
    NickGerleman authored and kelset committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    ea22ee6 View commit details
    Browse the repository at this point in the history
  22. Resolve android crash on display modal (facebook#35380)

    Summary:
    From exception logging, found crashes due to `Attempt to invoke virtual method 'int android.view.ViewGroup.getChildCount()' on a null object reference`. Tracing through the stack, it appears the constructor for `ViewGroup` conditionally calls `initializeScrollbarsInternal()`, which in turn calls `getChildCount()`.  However `ReactModalHostView` overrides `getChildCount()`, so `getChildCount()` is called before `ReactModalHostView` constructor completes, resulting in null reference when accessing `mHostView` from `getChildCount()`.
    
    ## Changelog
    
    <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see:
    https://reactnative.dev/contributing/changelogs-in-pull-requests
    -->
    
    [Android] [Fixed] - Fix crash on initialize modal
    
    Pull Request resolved: facebook#35380
    
    Test Plan: In the rn-tester project, display a modal.
    
    Reviewed By: javache, cipolleschi
    
    Differential Revision: D41392235
    
    Pulled By: ryancat
    
    fbshipit-source-id: ce78e4d458ad41769e78139ea0a8a038384e830d
    alpha0010 authored and kelset committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    16c32f9 View commit details
    Browse the repository at this point in the history
  23. Void the Maven coordinates for react-native and hermes-engine (facebo…

    …ok#35379)
    
    Summary:
    Pull Request resolved: facebook#35379
    
    This diff moves the publishing coordinates from:
    ```
    com.facebook.react:react-native
    com.facebook.react:hermes-engine
    ```
    
    to
    
    ```
    com.facebook.react:react-android
    com.facebook.react:hermes-android
    ```
    
    I've picked those they are the most layout friendly when building from source, but we can discuss if we want others.
    I've updated the Gradle plugin to have a dependencySubstitution rule + update the template with those changes.
    
    It should now be possible to still use `implementation("com.facebook.react:react-native:+")` inside libraries
    on 0.71+ and RNGP will resolve dependencies correctly.
    
    Changelog:
    [Android] [Changed] - Void the Maven coordinates for react-native and hermes-engine
    
    Reviewed By: cipolleschi
    
    Differential Revision: D41380525
    
    fbshipit-source-id: 91e059fa261acb89bee7ca0c79c30c3d856a2c80
    cortinico authored and kelset committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    e5fba33 View commit details
    Browse the repository at this point in the history
  24. fix(template): reference App.tsx vs App.js in template text (facebook…

    …#35377)
    
    Summary:
    The template has moved to typescript now, the self-reference needed an update
    
    ## Changelog
    
    <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see:
    https://reactnative.dev/contributing/changelogs-in-pull-requests
    -->
    
    [GENERAL] [FIXED] - reference App.tsx vs App.js in text of new typescript template
    
    Pull Request resolved: facebook#35377
    
    Test Plan: It is just a text change - it either makes sense or it doesn't. I think it makes sense?
    
    Reviewed By: cipolleschi
    
    Differential Revision: D41386912
    
    Pulled By: NickGerleman
    
    fbshipit-source-id: 6e62c11567e8fbff70b123446a827b18af43e864
    mikehardy authored and kelset committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    c36c33c View commit details
    Browse the repository at this point in the history
  25. Abort pod install if bad HERMES_ENGINE_TARBALL_PATH is set

    Summary:
    Changelog:
    [iOS][Changed] - Abort pod install if bad HERMES_ENGINE_TARBALL_PATH is set.
    
    Reviewed By: cipolleschi
    
    Differential Revision: D41341471
    
    fbshipit-source-id: 34a3ac154b0a3f795d07dcd10f92361cb9bb4ad6
    dmytrorykun authored and kelset committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    cd87542 View commit details
    Browse the repository at this point in the history
  26. Fix: Avoid path in the template import (facebook#35394)

    Summary:
    Investigating [this comment](reactwg/react-native-releases#41 (comment)), I made some tests.
    It seems like we can simply use `#import <RCTAppDelegate.h>` instead of the `#import <React-RCTAppDelegate/RCTAppDelegate.h>` in both setups:
    - default setup
    - `use_frameworks! :linkage => :static`
    
    ## Changelog
    
    [iOS] [Fixed] - Support `use_framework! :linkage => :static` in template
    
    Pull Request resolved: facebook#35394
    
    Test Plan:
    1. Manually tested with a new app
    2. CircleCI
    3. Sandcastle
    
    Reviewed By: cortinico
    
    Differential Revision: D41402060
    
    Pulled By: cipolleschi
    
    fbshipit-source-id: e1ed8196ed860b3663a88f5283f2745e39b0e944
    Riccardo Cipolleschi authored and kelset committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    61baa75 View commit details
    Browse the repository at this point in the history
  27. Read .ruby-version file in Gemfile (facebook#35410)

    Summary:
    When updating the Ruby version, 2 files are always needed to be updated (`.ruby-version` and `Gemfile`). When not in sync it can lead to an error like `Your Ruby version is 2.7.6, but your Gemfile specified 2.7.5`.
    
    This lessens the files that need to be updated when upgrading the Ruby version and makes it in sync always. It makes the `.ruby-version` the source of truth.
    
    ### Example 1:
    
    <img width="481" alt="Screenshot 2022-11-20 at 13 56 08" src="https://user-images.githubusercontent.com/36528176/202888191-450ab6d0-32a4-4d37-ad82-0beb2b22fa82.png">
    
    When upgrading from `0.70.0` to `0.71.0-rc.0`. 2 files needs to be updated when it could have been just 1.
    
    Source: https://react-native-community.github.io/upgrade-helper/?from=0.70.0&to=0.71.0-rc.0
    
    ### Example 2:
    
    21c8837 updates 4 files (`.ruby-version`, `Gemfile`, `template/Gemfile`, `template/_ruby-version`) when it could have been just 2.
    
    ### Other Sources:
    * https://andycroll.com/ruby/read-ruby-version-in-your-gemfile/
    * https://render.com/docs/ruby-version (Heroku alternative)
    * https://stackoverflow.com/a/35823132/9375533
    
    ## Changelog
    
    [General] [Changed] - Read `.ruby-version` file in `Gemfile`
    
    Pull Request resolved: facebook#35410
    
    Test Plan: Only `.ruby-version` and `template/_ruby-version` needs to be updated when upgrading Ruby version.
    
    Reviewed By: christophpurrer, cipolleschi
    
    Differential Revision: D41429147
    
    Pulled By: rshest
    
    fbshipit-source-id: 9e541a1d84aed5dca1e6f465c61bb0ba15574211
    dcangulo authored and kelset committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    362e197 View commit details
    Browse the repository at this point in the history
  28. Various fixes for Hermes build-from-source behaviour

    Summary:
    Original title: **[RN] Do not encode path to cmake in hermes-engine Pod, build hermesc in prepare_pods**
    
    The result of `#{%x(command -v cmake | tr -d '\n')}` was being encoded into the `hermes-engine` Pod. This can lead to conflicts in the CocoaPods cache when `pod install` is run on different machines.
    
    Instead of running the command during `pod install`, we defer to the actual build scripts so they can find `cmake` when `$CMAKE_BINARY` is not set.
    
    More importantly, this fixes an issue that crept into the Sandcastle CocoaPods offline mirrors, but which would only manifest itself when people run `js1 oss prepare-pods`.
    
    RNTester would not build due to RNTesterPods.xcworkspace being configured to use cmake from an arbitrary path instead of using the cmake from $PATH.
    
    This does not affect Sandcastle due to `CMAKE_BINARY` getting overriden in Sandcastle.
     ---
    
    **Update** by dmytrorykun:
    
    It is impossible to address the problem described in the original title by simply adding `CMAKE_BINARY=${CMAKE_BINARY:-cmake}` to `build-hermes-xcode.sh`. This script is supposed to run from Xcode. Since Xcode doesn't have access to system `PATH` variable, it is unable to locate `cmake`, and build fails.
    
    However this diff contains other useful changes:
    
    1. Remove trailing newline in `cmake` path in `build-hermes-xcode.sh`.
    2. Fix inverted logic in `copy-hermes-xcode.sh`.
    3. Fix typo in `remove xcuserdata` step in Sandcastle.
    4. Remove unused `HERMES_DISABLE_HERMESC_BUILD`.
    
    Changelog:
    [iOS] [Fixed] - Various fixes for Hermes build-from-source behaviour.
    
    Reviewed By: cipolleschi
    
    Differential Revision: D41139384
    
    fbshipit-source-id: 4a4a44a7ac201d279718d84cd02d60b4eaf3956b
    dmytrorykun authored and kelset committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    572ada9 View commit details
    Browse the repository at this point in the history
  29. chore: fail prepare package for release if tag exists (facebook#35305)

    Summary:
    This PR makes sure that the `preapre_package_for_release` script fail fast if there is already a tag for the desired version
    on github.
    
    ## Changelog
    
    [General] [Added] - Make the `prepare_package_for_release` fail if there is already a git tag with that version
    
    Pull Request resolved: facebook#35305
    
    Test Plan:
    Tested manually. The script is currently only invoked during the release process.
    <img width="1238" alt="Screenshot 2022-11-10 at 12 24 03" src="https://user-images.githubusercontent.com/11162307/201090947-274c1b1c-0b6a-4619-bc85-fa60e5eaeee1.png">
    
    Reviewed By: cortinico
    
    Differential Revision: D41403159
    
    Pulled By: cipolleschi
    
    fbshipit-source-id: fb87df345b14568c750482e5c68be53551a9acbb
    
    # Conflicts:
    #	scripts/release-utils.js
    Riccardo Cipolleschi authored and kelset committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    c9fd1dd View commit details
    Browse the repository at this point in the history
  30. Improve version checks to avoid mistakes in the versioning (facebook#…

    …35296)
    
    Summary:
    Pull Request resolved: facebook#35296
    
    This change adds some version checks and enforces that every version matches some specific format based on the build type we are trying to run.
    
    ## Changelog
    [General][Changed] - Improve version checks
    
    Reviewed By: cortinico
    
    Differential Revision: D41161756
    
    fbshipit-source-id: 4172195c5e031c1eaf7b33bb74f381c04e9adaf5
    cipolleschi authored and kelset committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    0ad1c53 View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    05646f8 View commit details
    Browse the repository at this point in the history
  32. [LOCAL] update yarn lock

    kelset committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    ceaebc6 View commit details
    Browse the repository at this point in the history
  33. [LOCAL] fix e2e script

    kelset committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    67c373f View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    e809e4b View commit details
    Browse the repository at this point in the history
  35. Fix avoid forcing podspec versions (facebook#35274)

    Summary:
    This is a backport of [this](facebook@becb47c) local fix we made on
    0.71-stable.
    
    All our podspecs delegates to the main React Native pods script to set up the dependencies properly. The React-Codegen.podspec, which is generated by
    the script itself, was generated with hardcoded dependencies. This PR aligns the versioning with the other podspec.
    
    On a side note, this could create issues in CI and when releaseing, because we are changing the versions to prepare the new release and it breaks some
    steps.
    
    ## Changelog
    
    [iOS] [Fixed] - Make sure that the React-Codegen.podspec does not enforce specific versions of its dependencies.
    
    Pull Request resolved: facebook#35274
    
    Test Plan:
    1. Ruby tests are passing
    2. Manually tested that pods are correctly installed in the following configurations
      - RNTester - Hermes - Old Architecture
      - RNTester - Hermes - New Architecture
      - RNTester - JSC - Old Architecture
      - RNTester - JSC - New Architecture
    
    Reviewed By: christophpurrer
    
    Differential Revision: D41153859
    
    Pulled By: cipolleschi
    
    fbshipit-source-id: 043513866a66ecca3e326f8671bea3ec576422de
    
    # Conflicts:
    #	scripts/cocoapods/codegen_utils.rb
    Riccardo Cipolleschi authored and kelset committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    78c8e49 View commit details
    Browse the repository at this point in the history
  36. Configuration menu
    Copy the full SHA
    6107793 View commit details
    Browse the repository at this point in the history
  37. Configuration menu
    Copy the full SHA
    ba1a9de View commit details
    Browse the repository at this point in the history
  38. [LOCAL] fix copy-hermes-xcode.sh

    Dmitry Rykun committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    fc1dbb8 View commit details
    Browse the repository at this point in the history
  39. [LOCAL] Bump Codegen and RNGP

    Riccardo Cipolleschi committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    a7792da View commit details
    Browse the repository at this point in the history
  40. Remove HERMES_BUILD_FROM_SOURCE flag (facebook#35397)

    Summary:
    Pull Request resolved: facebook#35397
    
    This Diff removes the `HERMES_BUILD_FROM_SOURCE` that was not always propagated to the original script. This lead to some cases where hermesC was built during `pod install` and then removed by the `react_native_post_install`'s `else` branch.
    
    Basically, when the Pods are installed the first time, everything run smoothly. Subsequent invocations of `pod install`, to install other dependencies, for example, will incur in this problem because:
    1. Cocoapods will see that hermes-engine is already installed
    2. the podspec is not executed, given that the pod has been fetched from the cache
    3. The env var is not set (given that the podspec is not executed)
    4. the main script sees the env var as not set, `ENV['HERMES_BUILD_FROM_SOURCE'] == "1"` return false
    5. The `else` branch is executed, and it removes the `hermesc_build_dir` and the `copy Hermes framework` script phase.
    
    [iOS][Changed] - Remove `HERMES_BUILD_FROM_SOURCE` flag
    
    Reviewed By: cortinico, dmytrorykun
    
    Differential Revision: D41373439
    
    fbshipit-source-id: ea4aafd187c0ca3ff5c0d79f8aeaaa46ad50f499
    cipolleschi authored and Riccardo Cipolleschi committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    8f2c7ff View commit details
    Browse the repository at this point in the history
  41. Configuration menu
    Copy the full SHA
    18b847f View commit details
    Browse the repository at this point in the history

Commits on Nov 23, 2022

  1. Configuration menu
    Copy the full SHA
    9979e38 View commit details
    Browse the repository at this point in the history
  2. [0.71.0-rc.1] Bump version numbers

    Distiller committed Nov 23, 2022
    Configuration menu
    Copy the full SHA
    79f7857 View commit details
    Browse the repository at this point in the history

Commits on Nov 24, 2022

  1. Fix removing Copy Hermes Framework script phase

    Summary: Changelog: [iOS][Fixed] - Remove `Copy Hermes Framework` script phase for non-Hermes build.
    
    Reviewed By: hramos
    
    Differential Revision: D41051076
    
    fbshipit-source-id: b4b92330934e950ec3156f39f3807b90f803c1ba
    dmytrorykun authored and Riccardo Cipolleschi committed Nov 24, 2022
    Configuration menu
    Copy the full SHA
    1739139 View commit details
    Browse the repository at this point in the history
  2. Remove hermesc build dir for non-Hermes build

    Summary: Changelog: [iOS][Fixed] - Remove hermesc build dir for non-Hermes build.
    
    Reviewed By: christophpurrer
    
    Differential Revision: D41052884
    
    fbshipit-source-id: c9e85ca06cef79fa35e81972181558d44ca93d90
    dmytrorykun authored and Riccardo Cipolleschi committed Nov 24, 2022
    Configuration menu
    Copy the full SHA
    0d90a44 View commit details
    Browse the repository at this point in the history
  3. [LOCAL] Use the right logic for build from source

    Riccardo Cipolleschi committed Nov 24, 2022
    Configuration menu
    Copy the full SHA
    49c0267 View commit details
    Browse the repository at this point in the history
  4. [LOCAL] Bump Podfile.lock to avoid failures when testing/in ci

    Riccardo Cipolleschi committed Nov 24, 2022
    Configuration menu
    Copy the full SHA
    aa2b243 View commit details
    Browse the repository at this point in the history
  5. [0.71.0-rc.2] Bump version numbers

    Distiller committed Nov 24, 2022
    Configuration menu
    Copy the full SHA
    38465f2 View commit details
    Browse the repository at this point in the history

Commits on Nov 29, 2022

  1. RNGP - Correctly Support Gradle Configuration Cache (facebook#35455)

    Summary:
    Pull Request resolved: facebook#35455
    
    This little change allows to support Gradle Configuration cache in user projects:
    https://docs.gradle.org/current/userguide/configuration_cache.html
    
    It allows to save several seconds on the build time.
    We'll keep it disabled for now, but Gradle plans to enable it by default for everyone
    in the future, so this changes makes us ready for it.
    
    Changelog:
    [Internal] [Changed] - RNGP - Correctly Support Gradle Configuration Cache
    
    Reviewed By: cipolleschi
    
    Differential Revision: D41519506
    
    fbshipit-source-id: 6252546e811deb0777c0aab5332291368be7fa8f
    cortinico committed Nov 29, 2022
    Configuration menu
    Copy the full SHA
    658d7dd View commit details
    Browse the repository at this point in the history
  2. Consolidate hermes-executor-debug and -release inside a single target (

    …facebook#35454)
    
    Summary:
    Pull Request resolved: facebook#35454
    
    Historically, we used to have hermes-executor debug and release as separate dynamic libraries.
    This makes it impossible to prefab this library, so I have to reconcile it into a single library.
    
    This will also help keep the setup consistent with the internal (BUCK) where we have a single target.
    
    Changelog:
    [Internal] [Changed] - Consolidate hermes-executor-debug and -release inside a single target
    
    Reviewed By: cipolleschi
    
    Differential Revision: D41519119
    
    fbshipit-source-id: d9ddc30b72164daa29c735836ea433fd4d917fc8
    cortinico committed Nov 29, 2022
    Configuration menu
    Copy the full SHA
    b1bf8c5 View commit details
    Browse the repository at this point in the history
  3. Expose hermes-executor to be consumed via prefab (facebook#35457)

    Summary:
    Pull Request resolved: facebook#35457
    
    This exposes `hermes-executor` to be consumed via prefab so that
    libraries can depend on it and use its symbols if needed (Expo and Reanimated need it).
    
    Changelog:
    [Internal] [Changed] - Expose `hermes-executor` to be consumed via prefab
    
    Reviewed By: cipolleschi
    
    Differential Revision: D41520019
    
    fbshipit-source-id: d590a043ea89fdd8ff41b0ed20900c9cf381a1e4
    cortinico committed Nov 29, 2022
    Configuration menu
    Copy the full SHA
    b89efc8 View commit details
    Browse the repository at this point in the history
  4. Add prefab for _uimanager _scheduler and _mounting (facebook#35458)

    Summary:
    Pull Request resolved: facebook#35458
    
    We're adding prefab support for those modules as they're needed by Reanimated
    and we're exposing headers for them as well.
    
    Changelog:
    [Internal] [Changed] - Add prefab for _uimanager _scheduler and _mounting
    
    Reviewed By: cipolleschi
    
    Differential Revision: D41520606
    
    fbshipit-source-id: 76f3c81705e99057b92cd9b86d0601a2b1410f95
    cortinico committed Nov 29, 2022
    Configuration menu
    Copy the full SHA
    f279474 View commit details
    Browse the repository at this point in the history
  5. Add missing headers to react_nativemodule_core prefab module (faceb…

    …ook#35460)
    
    Summary:
    Pull Request resolved: facebook#35460
    
    Reanimated reported that `react_nativemodule_core` was missing some headers.
    Specifically the one from ReactAndroid::react_debug, ReactAndroid::react_render_core, ReactAndroid::glog,
    and ReactAndroid::react_render_debug.
    
    I'm adding them here so they get included in the shipped headers for `react_nativemodule_core`
    
    Changelog:
    [Internal] [Changed] - Add missing headers to `react_nativemodule_core` prefab module
    
    Reviewed By: cipolleschi
    
    Differential Revision: D41520751
    
    fbshipit-source-id: 4627a2d0f880d4bb3ff2f0e43cd735cf9a3f2f9a
    cortinico committed Nov 29, 2022
    Configuration menu
    Copy the full SHA
    9628e56 View commit details
    Browse the repository at this point in the history
  6. Allow reactnativejni to be consumed via prefab (facebook#35461)

    Summary:
    Pull Request resolved: facebook#35461
    
    This is another library which is adding prefab support as it's needed by
    Expo libraries and Reanimated.
    
    Changelog:
    [Internal] [Changed] - Allow `reactnativejni` to be consumed via prefab
    
    Reviewed By: cipolleschi
    
    Differential Revision: D41520801
    
    fbshipit-source-id: 91142a5b5051cfba478d93a2475a178eed6fbb29
    cortinico committed Nov 29, 2022
    Configuration menu
    Copy the full SHA
    804d2b5 View commit details
    Browse the repository at this point in the history
  7. Bump AGP to 7.4.x (facebook#35456)

    Summary:
    Pull Request resolved: facebook#35456
    
    Fixes facebook#35439
    
    There is a bug in AGP 7.3.x which is causing assets to don't be copied properly inside the
    final artifact: issuetracker.google.com/issues/237421684
    As AGP 7.4.x is really close to release (is in Beta5, should be released stable in the next weeks)
    we should be fine by bumping to beta5.
    
    This also requires a bump of RNGP
    
    Changelog:
    [Android] [Changed] - Bump AGP to 7.4.x
    
    allow-large-files
    
    Reviewed By: cipolleschi
    
    Differential Revision: D41519549
    
    fbshipit-source-id: 60d568a3e49798a23f1d7bf4839ab58bd5549aba
    cortinico committed Nov 29, 2022
    Configuration menu
    Copy the full SHA
    5cffb4f View commit details
    Browse the repository at this point in the history
  8. Move JSCRuntime into its own folder (facebook#35482)

    Summary:
    Pull Request resolved: facebook#35482
    
    This change moves the JSCRuntime.h/cpp into a `jsc` folder.
    
    This change is required for several reasons:
    1. on iOS, the new `jsi`, `jsidynamic` and `jsc` setup is breaking the `use_frameworks!` with  `:linkage => :static` option with the old architecture. So it is a regression.
    2. JSCRuntime is required by some libraries and needs to be exposed as a prefab and the current setup makes it hard to achieve.
    
    allow-large-files
    
    [General][Changed] - Move JSCRuntime into a separate pod/prefab
    
    Reviewed By: cortinico
    
    Differential Revision: D41533778
    
    fbshipit-source-id: 642240c93a6c124280430d4f196049cb67cb130b
    cipolleschi authored and cortinico committed Nov 29, 2022
    Configuration menu
    Copy the full SHA
    f283877 View commit details
    Browse the repository at this point in the history
  9. Expose jscruntime to be consumed via Prefab

    Summary:
    This is the last library that we should expose via Prefab.
    Thanks to cipolleschi 's work here moving the file to `/ReactCommon/jsc` folder
    we can easily expose it to be consumed by third parties.
    
    Changelog:
    [Internal] [Changed] - Expose `jscruntime` to be consumed via Prefab
    
    Reviewed By: cipolleschi
    
    Differential Revision: D41534564
    
    fbshipit-source-id: fb4b2d801def8caf71638dcb74eb87f8230984d4
    cortinico committed Nov 29, 2022
    Configuration menu
    Copy the full SHA
    a7a43f8 View commit details
    Browse the repository at this point in the history
  10. RNGP - Various improvements needed for 3rd party libs (facebook#35496)

    Summary:
    Pull Request resolved: facebook#35496
    
    This commit includes a series of fixes needed for better integration with libraries for 0.71:
    - I've added an `android/README.md` file as some libraries were failing the build if the folder was missing
    - RNGP now applies dep substitution on app and all the libraries project
    - RNGP now adds repositories on app and all the libraries project
    - I've removed the maven local repo to the `/android` folder as now is empty
    - I've fixed the path for the JSC repo for Windows users
    - I've added a bit of backward compat by re-adding an empty `project.react.ext` block that libraries might read from.
    - I've removed `codegenDir` from the `GenerateCodegenArtifactsTask` which was unused.
    
    Changelog:
    [Internal] [Changed] - RNGP - Various improvements needed for 3rd party libs
    
    Reviewed By: cipolleschi
    
    Differential Revision: D41549489
    
    fbshipit-source-id: 2252da0180ac24fd3fe5a55300527da6781f0f8c
    cortinico committed Nov 29, 2022
    Configuration menu
    Copy the full SHA
    67b74e7 View commit details
    Browse the repository at this point in the history
  11. Rename hermes-* target to don't use dashes (facebook#35506)

    Summary:
    Pull Request resolved: facebook#35506
    
    In our build we had a mixture of `_` and `-` to separate targets.
    Dashes don't play well with Gradle + as we expose them now via Prefab,
    let's stick to use only underscores
    
    Changelog:
    [Internal] [Changed] - Rename target to don't use dashes
    
    Reviewed By: cipolleschi
    
    Differential Revision: D41578938
    
    fbshipit-source-id: 8aa44aa2dc7bf4822b45e5044532837b989817d2
    cortinico committed Nov 29, 2022
    Configuration menu
    Copy the full SHA
    89cac88 View commit details
    Browse the repository at this point in the history
  12. RNGP - Fix DependencyUtils for Windows support (facebook#35508)

    Summary:
    Pull Request resolved: facebook#35508
    
    It turns out that my previous diff hasn't really solved the Windows support.
    The problem is that we're not escaping the URI of the Maven Local repository
    properly on Windows.
    
    To overcome this, I'll instead use the `toURI()` Api of File to properly
    create a valid URI for a given folder.
    
    Changelog:
    [Internal] [Changed] - RNGP - Fix DependencyUtils for Windows support
    
    Reviewed By: cipolleschi
    
    Differential Revision: D41581849
    
    fbshipit-source-id: 7905073c6daaf7c6a97405b3e6fb94b8f382234a
    cortinico committed Nov 29, 2022
    Configuration menu
    Copy the full SHA
    e108e9e View commit details
    Browse the repository at this point in the history

Commits on Nov 30, 2022

  1. Configuration menu
    Copy the full SHA
    4ba52ac View commit details
    Browse the repository at this point in the history
  2. fix(jest-env): pass exportConditions (facebook#35203)

    Summary:
    Like discussed in react-native-community/discussions-and-proposals#509, RN should override the default `node` and `node-addons` conditions.
    
    You might consider supporting (or just setting) [`customExportConditions`](https://github.com/facebook/jest/blob/4670d3be0d80d47844673eb163666253e788f006/packages/jest-environment-node/src/index.ts#L187-L189) instead, but the default of the node env should be overwritten 🙂
    
    ## Changelog
    
    <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see:
    https://reactnative.dev/contributing/changelogs-in-pull-requests
    -->
    
    [General] [Changed] - use `'react-native'` export conditions in Jest environment
    
    Pull Request resolved: facebook#35203
    
    Test Plan: Green CI?
    
    Reviewed By: lunaleaps
    
    Differential Revision: D41081783
    
    Pulled By: jacdebug
    
    fbshipit-source-id: 844c70d92a58c5432ba5b9e5e99c8f50045ef8ac
    SimenB authored and kelset committed Nov 30, 2022
    Configuration menu
    Copy the full SHA
    b34bde2 View commit details
    Browse the repository at this point in the history
  3. Fix hardcoded path to codegen cli for monorepos (facebook#35430)

    Summary:
    Fixes facebook#35429
    
    This fix is fairly straightforward. Instead of hardcoding two separate paths for this repo or a simple user's project, we ask Node to resolve `react-native-codegen`.
    
    Because `react-native-codegen` is moved [into the `/packages/*` folder](https://github.com/facebook/react-native/blob/main/package.json#L104), it's part of a workspace in this repository. That means that this fix works not only for monorepos in general but also resolves the right path within the react native repository.
    
    You can test this out yourself when running this command in either the root, or any other workspace in this repository:
    ```bash
    node --print "require('path').dirname(require.resolve('react-native-codegen/package.json'))"
    ```
    
    I've tested this on Node 16 and 18, and seems to work nicely. Note that you _**have to specify `react-native-codegen/package.json`**_. That's because the `react-native-codegen` package itself is technically invalid; it's missing an entry point within the package (no `main`). When running `node --print "require.resolve('react-native-codegen')"` Node can't resolve the main entry point, and will fail during this process.
    
    ## Changelog
    
    <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see:
    https://reactnative.dev/contributing/changelogs-in-pull-requests
    -->
    
    [iOS] [Fixed] - Fix incorrect codegen CLI paths in monorepo projects
    
    Pull Request resolved: facebook#35430
    
    Test Plan: See PR facebook#35429
    
    Reviewed By: cortinico
    
    Differential Revision: D41475878
    
    Pulled By: cipolleschi
    
    fbshipit-source-id: f0c362b64cf9c3543a3a031d7eaf302c1314e3f0
    byCedric authored and kelset committed Nov 30, 2022
    Configuration menu
    Copy the full SHA
    d7dd641 View commit details
    Browse the repository at this point in the history
  4. fix: update CircleCI config to use the RN version in tarball caching (f…

    …acebook#35471)
    
    Summary:
    This PR updates the Cache strategy for the tarballs to include the React Native version we are building. In this way, when we publish a new Release/RC we are sure that we are going to rebuild a nmew
    tarball. This should fix caching problems like:
    
    - we have misconfigured the build script for the Hermes tarball, we then fix it, but we distribute the wrong cached artifacts
    - the cached artifact has the wrong version
    
    ## Changelog
    
    [Internal] - Fixed Hermes Tarball Cache Logic
    
    Pull Request resolved: facebook#35471
    
    Test Plan:
    1. CircleCI
    The real way to check this is in the next RC cycle or in the next nightly.
    
    Reviewed By: cortinico
    
    Differential Revision: D41530651
    
    Pulled By: cipolleschi
    
    fbshipit-source-id: 45e8fd3b62c8e108d393d9463ff6762dfc6d3ec8
    Riccardo Cipolleschi authored and kelset committed Nov 30, 2022
    Configuration menu
    Copy the full SHA
    d1831a7 View commit details
    Browse the repository at this point in the history
  5. Allow react-native and expo to build when using GNU coreutils (facebo…

    …ok#35382)
    
    Summary:
    See the issue at facebook#32432 (comment)
    
    This fixes a bizarre issue when using the GNU coreutils tools. There are very minor differences in the standard command-line tools on macOS and the GNU coreutils. The `cp` command has slightly different semantics across these operating systems, so this commit normalizes those differences and allows GNU coreutils to be used or the system native version of `cp`.
    
    Fixes facebook#32432
    
    ## Changelog
    
    [General] [Fixed] - Allow GNU coreutils to be used to build projects
    
    Pull Request resolved: facebook#35382
    
    Test Plan: This change allows the use of the system or GNU coreutils verson of `cp`.
    
    Reviewed By: cipolleschi
    
    Differential Revision: D41532472
    
    Pulled By: cortinico
    
    fbshipit-source-id: f0fe5274d3828bf6099deceee797a82a6adfdcab
    shreeve authored and kelset committed Nov 30, 2022
    Configuration menu
    Copy the full SHA
    0f6ec5a View commit details
    Browse the repository at this point in the history
  6. Do not add LongLivedObject wrapper in OSS (facebook#35491)

    Summary:
    This change excludes the `LongLivedObject.h` file from the pod in the ReactCommon library.
    
    The file creates a problem when the `use_frameworks!` option is used in an app because there can't be two files with the same name, despite being in different paths,
    within the same framework. Specifically, this `LongLivedObject` is just a redirect to the other one, so it should be safe to exclude this.
    
    ## Changelog
    
    [iOS][Fixed] - Exclude redirector to `LongLivedObject.h` from ReactCommon podspec
    
    Pull Request resolved: facebook#35491
    
    Test Plan: 1. Manually tested in an app from RC2
    
    Reviewed By: cortinico
    
    Differential Revision: D41548985
    
    Pulled By: cipolleschi
    
    fbshipit-source-id: acc57fccdedb344a3aa105f2968645a049392e07
    Riccardo Cipolleschi authored and kelset committed Nov 30, 2022
    Configuration menu
    Copy the full SHA
    5c41024 View commit details
    Browse the repository at this point in the history
  7. Fix imports in React Bridging for Old Arch and frameworks

    Summary:
    In 0.71.0-RC.2, we had a regression in `use_frameworks!`.
    
    The `use_frameworks! :linkage => :static` use to work fine with the Old Architecture.
    We modified how the `React-bridging` pod is configured and, now those are broken.
    
    This change make sure to use the right imports for React-bridging.
    
    ## Changelog
    [iOS][Changed] - Fix imports in React Bridging for Old Arch and frameworks
    
    Reviewed By: christophpurrer, cortinico
    
    Differential Revision: D41551103
    
    fbshipit-source-id: 4416fde92fef11eb801daf2302a57fe52732e4ef
    cipolleschi authored and kelset committed Nov 30, 2022
    Configuration menu
    Copy the full SHA
    3a21810 View commit details
    Browse the repository at this point in the history
  8. Bring back JSIDynamic and JSI together

    Summary:
    In 0.71.0-RC.2, we had a regression in `use_frameworks!`.
    
    This brings back JSIDynamic and JSI together because the current setup is not compatible with iOS frameworks
    
    ## Changelog
    [iOS][Added] - Bring back JSIDynamic and JSI
    
    Reviewed By: cortinico
    
    Differential Revision: D41557823
    
    fbshipit-source-id: 95eb2fe7df69992861396e41d11cd5182193e1a3
    
    # Conflicts:
    #	ReactCommon/jsi/React-jsidynamic.podspec
    cipolleschi authored and kelset committed Nov 30, 2022
    Configuration menu
    Copy the full SHA
    c8ef846 View commit details
    Browse the repository at this point in the history
  9. Add CircleCI tests for use frameworks (facebook#35497)

    Summary:
    Pull Request resolved: facebook#35497
    
    In 0.71.0-RC.2, we had a regression in `use_frameworks!`.
    
    This adds some CircleCI jobs to make sure we do not regress on those. It also updates the template to support these tests.
    
    ## Changelog
    [iOS][Added] - CircleCI jobs to keep the use_framework! setup in check for the Old Arch
    
    Reviewed By: cortinico
    
    Differential Revision: D41551288
    
    fbshipit-source-id: 531fabb1a7b6aceab2926bb83cf2887129df1776
    cipolleschi authored and kelset committed Nov 30, 2022
    Configuration menu
    Copy the full SHA
    dbdd973 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    4e5fc68 View commit details
    Browse the repository at this point in the history
  11. [LOCAL] Publish RNGP 71.10

    Riccardo Cipolleschi committed Nov 30, 2022
    Configuration menu
    Copy the full SHA
    832c0af View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    13785cf View commit details
    Browse the repository at this point in the history
  13. [0.71.0-rc.3] Bump version numbers

    Distiller committed Nov 30, 2022
    Configuration menu
    Copy the full SHA
    ed895c5 View commit details
    Browse the repository at this point in the history

Commits on Dec 9, 2022

  1. fix: update CircleCI config to use the RN version in Hermes workspace…

    … caching
    Dmitry Rykun committed Dec 9, 2022
    Configuration menu
    Copy the full SHA
    0edcbc3 View commit details
    Browse the repository at this point in the history

Commits on Dec 12, 2022

  1. [LOCAL] fix: use REACT_NATIVE_CI instead of CI envvar (facebook#35605)

    * [LOCAL] fix: use META_CI instead of CI envvar
    
    * META_CI -> REACT_NATIVE_CI
    
    * Rename more occurences of CI to REACT_NATIVE_CI
    
    * Use REACT_NATIVE_CI in rn-tester/Podfile
    
    * Add REACT_NATIVE_CI to prepare_hermes_workspace
    
    * revert: Use REACT_NATIVE_CI in rn-tester/Podfile
    
    * Consume hermes-engine.podspec from sdks/hermes-engine
    
    * Consume hermes-engine.podspec from sdks/hermes-engine. Update tests
    Dmytro Rykun authored Dec 12, 2022
    Configuration menu
    Copy the full SHA
    ed16fdb View commit details
    Browse the repository at this point in the history

Commits on Dec 13, 2022

  1. Configuration menu
    Copy the full SHA
    c6fa633 View commit details
    Browse the repository at this point in the history
  2. Properly expose jscexecutor as a prefab target (facebook#35521)

    Summary:
    Pull Request resolved: facebook#35521
    
    Inside RC3 the jscexecutor target was prepared for prefab consumption
    but not properly exposed.
    This was not caught by the CI as we're not effectively using this target,
    but some of our popular libraries do (i.e. Reanimated). I'm exposing it here.
    
    Changelog:
    [Internal] [Changed] - Properly expose `jscexecutor` as a prefab target
    
    Reviewed By: javache
    
    Differential Revision: D41648349
    
    fbshipit-source-id: 1a04bc21aa50eece304828ce1d99ae795a51af48
    cortinico authored and kelset committed Dec 13, 2022
    Configuration menu
    Copy the full SHA
    c5042e5 View commit details
    Browse the repository at this point in the history
  3. Simplify Template ESLint Configuration (facebook#35529)

    Summary:
    Pull Request resolved: facebook#35529
    
    ESLint configuration is derived from `react-native/eslint-config`, which has supported Flow, vanilla JS, and TypeScript.
    
    react-native-community/react-native-template-typescript#238 and a related PR ended up adding new rules to the TypeScript config, to fix bugs with TS linting. It required a followup change, to specify the parser/plugin, and explicity reference them as devDependencies. react-native-community/react-native-template-typescript#240
    
    `react-native/eslint-config` already includes setting the plugin/parser. But overriding rules requires declaring that again, and directly referencing a plugin means a need for the app to declare dependencies, since ESLint resolves modules from the current config.
    
    The rules overridedn were later fixed in `react-native/eslint-config`, which is really the right place for the fix (e.g. facebook#32644). I noticed this when deriving from the TS template in facebook#32644 and removed the rule overrides, but didn't have the historical context to realize this means we can then:
    1. Remove the explicit parser/plugins since `react-native/eslint-config` already sets them, and we are no longer overriding any rules.
    2. Remove the devDependencies, to let the versions be managed entirely by `react-native/eslint-config`.
    
    Changelog:
    [General][Changed] - Simplify Template ESLint Configuration
    
    Reviewed By: cortinico
    
    Differential Revision: D41652699
    
    fbshipit-source-id: 8e3313dbf27407c5866f3c2432cffc2ecec1b01d
    
    # Conflicts:
    #	template/_eslintrc.js
    NickGerleman authored and kelset committed Dec 13, 2022
    Configuration menu
    Copy the full SHA
    d4220cc View commit details
    Browse the repository at this point in the history
  4. Don't use the internal native_modules.rb script yet (facebook#35531)

    Summary:
    Revert the template `Podfile` to using `react-native-community/cli-platform-ios/native_modules`. The new internal script currently has a hard-coded path to `react-native-community/cli-platform-ios` which may not work in monorepos. The path in the `Podfile` is also hard-coded, but this is a file that the user has access to and can fix themselves if necessary.
    
    ## Changelog
    
    [iOS] [Fixed] - Don't use the internal `native_modules.rb` script yet, as it hides a hard-coded path
    
    Pull Request resolved: facebook#35531
    
    Test Plan: n/a
    
    Reviewed By: rshest
    
    Differential Revision: D41682119
    
    Pulled By: cortinico
    
    fbshipit-source-id: 1822fcd20a794dc9df6e8d6f36615e90b42c1a94
    tido64 authored and kelset committed Dec 13, 2022
    Configuration menu
    Copy the full SHA
    b0eec6d View commit details
    Browse the repository at this point in the history
  5. RN: Upgrade to deprecated-react-native-prop-types@3.0.1 (facebook#35549)

    Summary:
    Pull Request resolved: facebook#35549
    
    Upgrades `react-native` to the newly published `deprecated-react-native-prop-types@3.0.1`, which brings prop-types compatibility up-to-speed with React Native 0.71. (This **is** a release blocker for 0.71.)
    
    Changelog:
    [General][Changed] Updated Prop Types for 0.71: https://github.com/facebook/react-native-deprecated-modules/blob/main/deprecated-react-native-prop-types/CHANGELOG.md
    
    Reviewed By: rickhanlonii
    
    Differential Revision: D41708199
    
    fbshipit-source-id: 0cbcf294753203d5a35c8602d5585c5f2b604c6e
    yungsters authored and kelset committed Dec 13, 2022
    Configuration menu
    Copy the full SHA
    407a8c0 View commit details
    Browse the repository at this point in the history
  6. RNGP - findPackageJsonFile should return null if package.json d…

    …oes not exist (facebook#35566)
    
    Summary:
    `findPackageJsonFile` always returns a path even though `package.json` does not exist. This causes issues in libraries whose repo setups look like:
    
    ```
    react-native-webview
    ├── android
    │   └── build.gradle
    ├── example  <-- Note the lack of `package.json` here
    │   └── App.tsx
    ├── ios
    │   └── RNCWebView.xcodeproj
    ├── macos
    │   └── RNCWebView.xcodeproj
    ├── package.json
    └── src
    ```
    
    When `newArchEnabled=true`, running `yarn android` will fail with the following:
    
    ```
    FAILURE: Build failed with an exception.
    
    * What went wrong:
    Could not determine the dependencies of task ':app:generateCodegenArtifactsFromSchema'.
    > Could not create task ':app:generateCodegenSchemaFromJavaScript'.
       > /~/react-native-webview/example/package.json (No such file or directory)
    ```
    
    ## Changelog
    
    [Android] [Fixed] - `findPackageJsonFile` should return `null` if `package.json` does not exist
    
    Pull Request resolved: facebook#35566
    
    Test Plan:
    ```
    git clone https://github.com/react-native-webview/react-native-webview.git
    cd react-native-webview
    git checkout new-arch-ios
    yarn
    cd example/android
    ./gradlew clean assembleDebug
    ```
    
    Reviewed By: NickGerleman
    
    Differential Revision: D41739176
    
    Pulled By: cortinico
    
    fbshipit-source-id: cab0f1f717db160df244c9bb2769e345d6e19917
    tido64 authored and kelset committed Dec 13, 2022
    Configuration menu
    Copy the full SHA
    05d6574 View commit details
    Browse the repository at this point in the history
  7. chore(cli, metro): bump cli to 10.0.0 and metro to 0.73.5 (facebook#3…

    …5580)
    
    Summary:
    Small PR with bump to the new versions of CLI and Metro in preparation of the stable release for 0.71.
    
    ## Changelog
    
    [General] [Changed] - Bump CLI to 10.0.0 and Metro to 0.73.5
    
    Pull Request resolved: facebook#35580
    
    Test Plan: CI green
    
    Reviewed By: cortinico
    
    Differential Revision: D41800580
    
    Pulled By: jacdebug
    
    fbshipit-source-id: 7bf81308eb41490b004e685b1763574bfd3b27fb
    
    # Conflicts:
    #	package.json
    #	yarn.lock
    thymikee authored and kelset committed Dec 13, 2022
    Configuration menu
    Copy the full SHA
    a0ba567 View commit details
    Browse the repository at this point in the history
  8. Fix TS Type for measureLayout optional parameter

    Summary:
    Encountered this, causing typechecking to fail on an example in the current RN documentation.
    
    `onFail` is an optional parameter (see https://github.com/facebook/react/blob/8e2bde6f2751aa6335f3cef488c05c3ea08e074a/packages/react-native-renderer/src/ReactNativeTypes.js#L106), which is not optional in current TS types. Update the TS typings to match.
    
    Note that "?" here is positioned to be a Flow optional parameter, instead of a maybe type. Which means it accepts undefined, but not null, matching the TS usage of "?" which always means possibly undefined (but never null, like a flow maybe type allows).
    
    Changelog:
    [General][Fixed] - Fix TS Type for measureLayout optional parameter
    
    Reviewed By: lunaleaps
    
    Differential Revision: D41775900
    
    fbshipit-source-id: 8f53428b8077ec9139c7c1bbc60ed20f5fa9f7ea
    NickGerleman authored and kelset committed Dec 13, 2022
    Configuration menu
    Copy the full SHA
    abd615f View commit details
    Browse the repository at this point in the history
  9. Rename POST_NOTIFICATION to POST_NOTIFICATIONS (facebook#35533)

    Summary:
    After adding `<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>` on my `AndroidManifest.xml`, I expected to use `PermissionsAndroid.PERMISSIONS.POST_NOTIFICATIONS` but `POST_NOTIFICATIONS` is `undefined` and is named `POST_NOTIFICATION` instead.
    
    Every other Android permission is 1:1 in spelling except this one where it lacks `S`.
    
    Not sure if this is a welcome change since this can be breaking. Or maybe we can include both with and without `S` to not be a breaking change. Or just keep it as is and close this PR.
    
    ## Changelog
    
    <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see:
    https://reactnative.dev/contributing/changelogs-in-pull-requests
    -->
    
    [Android] [Changed] - Rename `POST_NOTIFICATION` to `POST_NOTIFICATIONS`
    
    Pull Request resolved: facebook#35533
    
    Test Plan: `PermissionsAndroid.PERMISSIONS.POST_NOTIFICATIONS` should not be `undefined`.
    
    Reviewed By: cortinico
    
    Differential Revision: D41705866
    
    Pulled By: philIip
    
    fbshipit-source-id: a0328b174f0196421565f0cd2b2f1eb509428553
    
    # Conflicts:
    #	packages/rn-tester/js/examples/PermissionsAndroid/PermissionsExample.js
    dcangulo authored and kelset committed Dec 13, 2022
    Configuration menu
    Copy the full SHA
    3fb93e1 View commit details
    Browse the repository at this point in the history
  10. Expose ReactAndroid/src/main/jni/react/cxxcomponents via prefab (face…

    …book#35619)
    
    Summary:
    Pull Request resolved: facebook#35619
    
    Reference reactwg/react-native-releases#41 (reply in thread)
    I'm exposing `ReactAndroid/src/main/jni/react/cxxcomponents` to be consumed via prefab.
    It will be available to both: `react_nativemodule_core` and `reactnativejni`
    
    Changelog:
    [Internal] [Changed] - Expose ReactAndroid/src/main/jni/react/cxxcomponents via prefab
    
    Reviewed By: cipolleschi
    
    Differential Revision: D41965512
    
    fbshipit-source-id: 3a5a7473267e2e161d9d7fb0e8dfa74593b47b6e
    cortinico authored and kelset committed Dec 13, 2022
    Configuration menu
    Copy the full SHA
    c9a5090 View commit details
    Browse the repository at this point in the history
  11. [LOCAL] Bump RNGP

    Riccardo Cipolleschi committed Dec 13, 2022
    Configuration menu
    Copy the full SHA
    415d6a8 View commit details
    Browse the repository at this point in the history

Commits on Dec 14, 2022

  1. [0.71.0-rc.4] Bump version numbers

    Distiller committed Dec 14, 2022
    Configuration menu
    Copy the full SHA
    e2e6ee3 View commit details
    Browse the repository at this point in the history

Commits on Dec 19, 2022

  1. De-bump AGP to 7.3.1 and do not use addGeneratedSourceDirectory (fa…

    …cebook#35631)
    
    Summary:
    Pull Request resolved: facebook#35631
    
    Fixes facebook#35592
    I'm de-bumping AGP from 7.4 to 7.3 as per facebook#35592. There is no stable release
    of AGP that is working fine with the `addGeneratedSourceDirectory` API for resources.
    Here I'm reverting to use the older APIs.
    
    Changelog:
    [Internal] [Changed] - De-bump AGP to 7.3.1 and do not use `addGeneratedSourceDirectory`
    
    allow-large-files
    
    Reviewed By: cipolleschi
    
    Differential Revision: D42004813
    
    fbshipit-source-id: f1a2b0f7c2233402749a3e4f3828be80111ad3a7
    cortinico authored and Riccardo Cipolleschi committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    caa79b7 View commit details
    Browse the repository at this point in the history
  2. Fix prefab prefix for fabricjni (facebook#35648)

    Summary:
    Pull Request resolved: facebook#35648
    
    The `fabricjni` prefab module was missing the `react/fabric` prefix.
    I'm adding it here.
    Ref: reactwg/react-native-releases#41 (reply in thread)
    
    Changelog:
    [Internal] [Changed] - Fix prefab prefix for fabricjni
    
    Reviewed By: cipolleschi
    
    Differential Revision: D42047434
    
    fbshipit-source-id: 202db49cd1ada2462652dbd7e56bad6779c263ac
    cortinico authored and Riccardo Cipolleschi committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    621d901 View commit details
    Browse the repository at this point in the history
  3. Remove unnecessary repositories{} block from top level build.gradle (f…

    …acebook#35644)
    
    Summary:
    Pull Request resolved: facebook#35644
    
    The `repositories{}` block in the top level build.gradle is not needed anymore
    The React Native Gradle Plugin is taking care of it.
    Users can still specify if they need to provide custom repositories.
    
    Changelog:
    [Android] [Changed] - Remove unnecessary repositories{} block from top level build.gradle
    
    Reviewed By: cipolleschi
    
    Differential Revision: D42033953
    
    fbshipit-source-id: 8ec1c12147fae68302ab47c60045869c72d1812c
    cortinico authored and Riccardo Cipolleschi committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    f65dfa8 View commit details
    Browse the repository at this point in the history
  4. Expose react_render_animations via prefab. (facebook#35643)

    Summary:
    Pull Request resolved: facebook#35643
    
    The `react_render_animations` was not exposed via prefab. I'm adding it to make possible for
    Reanimated to integrate on top of us via prefab.
    Ref reactwg/react-native-releases#41 (reply in thread)
    
    Changelog:
    [Internal] [Changed] - Expose `react_render_animations` via prefab.
    
    Reviewed By: cipolleschi
    
    Differential Revision: D42033642
    
    fbshipit-source-id: da4b3665f4fb1c7f8266fa6896585176504435c3
    cortinico authored and Riccardo Cipolleschi committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    98ad399 View commit details
    Browse the repository at this point in the history
  5. Add missing type for AnimatedValue.resetAnimation() and AnimatedValue…

    ….animate()
    
    Summary:
    See https://www.internalfb.com/code/fbsource/[d96fd0b6ac13]/xplat/js/react-native-github/Libraries/Animated/nodes/AnimatedValue.js?lines=207
    
    Changelog:
    [General][Fixed] - Add missing type for AnimatedValue.resetAnimation() and AnimatedValue.animate()
    
    Reviewed By: christophpurrer
    
    Differential Revision: D42034719
    
    fbshipit-source-id: 40e25940e04bdf296c8b5e4bf39bee2e4baeae07
    NickGerleman authored and Riccardo Cipolleschi committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    1b5066c View commit details
    Browse the repository at this point in the history
  6. Remove testID from TS ViewStyle

    Summary:
    testID isn't a valid prop to exist on a style.
    
    Changelog:
    [General][Fixed] - Remove testID from TS ViewStyle
    
    Reviewed By: necolas
    
    Differential Revision: D42040627
    
    fbshipit-source-id: d51b0dc7abff14ac72f71753ea1ae708e0858590
    NickGerleman authored and Riccardo Cipolleschi committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    172f23a View commit details
    Browse the repository at this point in the history
  7. Fix type for StyleSheet.compose()

    Summary:
    This was flagged when typechecking the existing examples. The current type enforces that both stylesheets overlap, meaning composed stylesheets with distinct props cause a typechecking error. This changes the signature so that each style can be different, and the intersection type of the two is returned.
    
    Changelog:
    [General][Fixed] - Fix type for `StyleSheet.compose()`
    
    Reviewed By: christophpurrer
    
    Differential Revision: D42008355
    
    fbshipit-source-id: 238971a61b387c09be001d5df50fe3db70df566f
    NickGerleman authored and Riccardo Cipolleschi committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    754524e View commit details
    Browse the repository at this point in the history
  8. Mark scrollToEnd animated as optional

    Summary:
    The flow type and inheriting TS types mark animated as optional, mark it here as well.
    
    Changelog:
    [General][Fixed] - Mark scrollToEnd animated as optional
    
    Reviewed By: christophpurrer
    
    Differential Revision: D42036647
    
    fbshipit-source-id: 59d408adc639ee1e0ca040301511c64d7ba55bfe
    NickGerleman authored and Riccardo Cipolleschi committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    8770b27 View commit details
    Browse the repository at this point in the history
  9. Fix Vibration.vibrate() allowing null params

    Summary:
    The flow type allows these parameters to be optional but not null. Make TS the same.
    
    Changelog:
    [General][Fixed] - Fix Vibration.vibrate() allowing null params
    
    Reviewed By: christophpurrer
    
    Differential Revision: D42046301
    
    fbshipit-source-id: a030d4f141a526dfe2f0fb3a90e36e641fa6d789
    NickGerleman authored and Riccardo Cipolleschi committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    9b76188 View commit details
    Browse the repository at this point in the history
  10. Fix types for deprecated scrollTo fields

    Summary:
    This was renamed in Flow but not in TS.
    
    Changelog:
    [General][Fixed] - Fix types for deprecated scrollTo fields
    
    Reviewed By: christophpurrer
    
    Differential Revision: D42040913
    
    fbshipit-source-id: 5d9746be7b785bea8613f199d39940c4d5d7d138
    NickGerleman authored and Riccardo Cipolleschi committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    f9ab91c View commit details
    Browse the repository at this point in the history
  11. Fix missing animation type (CircleCI Break)

    Summary:
    Accidentally added a reference to a flow type that doesn't exist in TS. This should fix the issue.
    
    Changelog:
    [General][Fixed] - Fix missing animation type
    
    Reviewed By: christophpurrer
    
    Differential Revision: D42043293
    
    fbshipit-source-id: 03470aa25f503337e9e2b79cf74cff96c15a4ad8
    NickGerleman authored and Riccardo Cipolleschi committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    696f4b5 View commit details
    Browse the repository at this point in the history
  12. Add missing types to PushNotificationIOS

    Summary:
    Adds some types referenced on the React Native webpage that aren't part of the typings.
    
    Changelog:
    [General][Fixed] - Add missing types to PushNotificationIOS
    
    Reviewed By: christophpurrer
    
    Differential Revision: D42040583
    
    fbshipit-source-id: be7b86a02e30b99231f3ab35afc3222954f41cf0
    NickGerleman authored and Riccardo Cipolleschi committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    f04f067 View commit details
    Browse the repository at this point in the history
  13. Add type for RootTagContext

    Summary:
    This is exported from the RN entrypoint and documented on the RN website, so we should give types for it.
    
    Changelog:
    [General][Fixed] - Add type for RootTagContext
    
    Reviewed By: christophpurrer
    
    Differential Revision: D42040806
    
    fbshipit-source-id: cb8cdf557098ddbe33c143b7ab5d80bda7f80a6e
    NickGerleman authored and Riccardo Cipolleschi committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    fd28032 View commit details
    Browse the repository at this point in the history
  14. Add missing types for AppRegistry

    Summary:
    These are all documented on the website and seem to likely work in OSS to at least some extent. Add the missing types corresponding to functions exported from AppRegistry.
    
    Changelog:
    [General][Fixed] - Add missing types for AppRegistry
    
    Reviewed By: GijsWeterings
    
    Differential Revision: D42036018
    
    fbshipit-source-id: 0728d6c5602a50e50f1eaf7f76c54ab47dcb0124
    NickGerleman authored and Riccardo Cipolleschi committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    213c26c View commit details
    Browse the repository at this point in the history
  15. Fix virtual list type (facebook#35434)

    Summary:
    Add missing props to virtual list
    
    ## Changelog
    
    <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see:
    https://reactnative.dev/contributing/changelogs-in-pull-requests
    -->
    
    [General] [Fixed] - Virtual list props
    
    Pull Request resolved: facebook#35434
    
    Test Plan:
    relative pull request in DefinitelyTyped
    DefinitelyTyped/DefinitelyTyped#63323
    
    Reviewed By: javache
    
    Differential Revision: D41553396
    
    Pulled By: NickGerleman
    
    fbshipit-source-id: d51a93410ece9ad5f0bb61e2ee51076973e80c8c
    aliakbarazizi authored and Riccardo Cipolleschi committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    1bd3831 View commit details
    Browse the repository at this point in the history
  16. Add missing VirtualizedList Imperative Types

    Summary:
    Adds some imperative VirtualizedList methods to the TS types which are documented on the website and are public enough. Also explicitly add `viewOffset` to `scrollToItem` since `scrollToItem` params are indefinite in flow and are passed to `scrollToIndex` (which supports the prop).
    
    Changelog:
    [General][Fixed] - Add missing VirtualizedList Imperative Types
    
    Reviewed By: GijsWeterings
    
    Differential Revision: D42047674
    
    fbshipit-source-id: 60f7b35b049853d9fcb724918b3a0008a75ea573
    NickGerleman authored and Riccardo Cipolleschi committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    de11363 View commit details
    Browse the repository at this point in the history
  17. Fix Errors with TypeScript Tests

    Summary:
    This fixes some style errors found by dtslint, along with some test cases for StyleSheet.compose() where the recent change made it slightly too permissive when explicit return types are given. I also added runs of the TS tests to a script which runs in sandcastle so we can catch this at diff-submission time in the future.
    
    Changelog:
    [General][Fixed] - Fix Errors with TypeScript Tests
    
    Reviewed By: lunaleaps
    
    Differential Revision: D42085257
    
    fbshipit-source-id: 7e6ca49d3c3aef822c61c97ecc07b55b0a949d51
    NickGerleman authored and Riccardo Cipolleschi committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    ed08edd View commit details
    Browse the repository at this point in the history
  18. Add missing AccessibilityInfo Types to TS Typings

    Summary:
    This adds some missing public methods on AccessibilityInfo.
    
    Changelog:
    [General][Fixed] - Add missing AccessibilityInfo Types to TS Typings
    
    Reviewed By: christophpurrer
    
    Differential Revision: D42113713
    
    fbshipit-source-id: bf1945f310b716ff8584dd47fc27752dc592e473
    NickGerleman authored and Riccardo Cipolleschi committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    dc1b20d View commit details
    Browse the repository at this point in the history
  19. fix: remove gap if its last element in line (fix flex gap extra spaci…

    …ng when children determine parents main axis size) (facebook#1188)
    
    Summary:
    Fixes - facebook#35553
    
    ## Approach
    We're using `betweenMainDim` to add [gap between](https://github.com/intergalacticspacehighway/yoga/blob/bbeede82d36cd89657faf385aaa704f45443c326/yoga/Yoga.cpp#L2495) items in main axis. This is resulting in increased [main axis](https://github.com/intergalacticspacehighway/yoga/blob/bbeede82d36cd89657faf385aaa704f45443c326/yoga/Yoga.cpp#L2598) dimension of the container as it gets added even for the last element. One solution is to keep using it and subtract the gap when last element is reached.
    
    ## Aside
    Mutating this value feels weird, but I think `betweenMainDim` gets initialized for every line so should be fine? I did some manual tests to verify. I tried running tests but I'll have to downgrade the java version. Let me know if anything fails. Thanks! 🙏
    
    X-link: facebook/yoga#1188
    
    Reviewed By: necolas
    
    Differential Revision: D42078162
    
    Pulled By: NickGerleman
    
    fbshipit-source-id: 0e535618350422e001141a8786a83fc81651afe9
    intergalacticspacehighway authored and Riccardo Cipolleschi committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    a0ee98d View commit details
    Browse the repository at this point in the history
  20. Improve Codegen Cleanup (facebook#35642)

    Summary:
    This PR adds a safety check in case the Cocoapod build script is not able to clean the build folder.
    We had evidences where this process failed, and in this way the user has a clear and actionable message to fix its situation.
    
    ## Changelog
    
    [iOS][Added] - Add message with instructions about what to do if the cleanup of the build folder fails.
    
    Pull Request resolved: facebook#35642
    
    Test Plan:
    I was not able to reproduce the issue locally.
    The fix is not destructive, let's see if the amount of issues decreases.
    
    Reviewed By: dmytrorykun
    
    Differential Revision: D42067939
    
    Pulled By: cipolleschi
    
    fbshipit-source-id: 433dbfaec42a1bf460dc9a48051aa51ec6e12d16
    Riccardo Cipolleschi committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    aaa795b View commit details
    Browse the repository at this point in the history
  21. Add compiler flag for the new Arch when enabled. (facebook#35672)

    Summary:
    Pull Request resolved: facebook#35672
    
    While working on some example, I discovered that the helper function `install_module_dependencies` was not adding the proper `-DRCT_NEW_ARCH_ENABLED=1` flag to the compiler flags.
    
    ## Changelog:
    [iOS][Fixed] - Make sure to add the New Arch flag to libraries
    
    Reviewed By: jacdebug
    
    Differential Revision: D42131287
    
    fbshipit-source-id: 68c492150ba4e4a2ec726b3e8b8a9c7842b543bc
    cipolleschi authored and Riccardo Cipolleschi committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    5b32348 View commit details
    Browse the repository at this point in the history
  22. Automatically detect when use frameworks is used (facebook#35636)

    Summary:
    This PR introduce an automatic way to detect whether the user sets its podfile to use frameworks.
    In this way, users don't have to install pods with a specific environment flag but they can rely on the standard Cocoapods usage
    
    ## Changelog
    
    [IOS][ADDED] - Automatically detect whether use_frameworks! is used
    
    Pull Request resolved: facebook#35636
    
    Test Plan:
    - CircleCI is Green
    - Added unit tests
    - Tested locally with an app
    
    Reviewed By: dmytrorykun
    
    Differential Revision: D42029355
    
    Pulled By: cipolleschi
    
    fbshipit-source-id: 76c92133deabbda59603b043a4d542737f10f044
    Riccardo Cipolleschi committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    f7b35c0 View commit details
    Browse the repository at this point in the history
  23. Fix cleanup not working on template app (facebook#35679)

    Summary:
    Pull Request resolved: facebook#35679
    
    The Codegen cleanup step was not always working due to an issue with the codegen folder path. It was working for RNTester, but not for apps created from the Template.
    
    ## Changelog:
    [iOS][Fixed] - Fix path issue to properly run the codegen cleanup step
    
    Reviewed By: jacdebug
    
    Differential Revision: D42137600
    
    fbshipit-source-id: ba4cb03d4c6eb17fda70a4aff383908d2e468429
    cipolleschi authored and Riccardo Cipolleschi committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    ce3eefe View commit details
    Browse the repository at this point in the history
  24. [LOCAL] Fix eslint config for template

    Riccardo Cipolleschi committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    9519a0d View commit details
    Browse the repository at this point in the history
  25. [LOCAL] Bump RNGP

    Riccardo Cipolleschi committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    52df783 View commit details
    Browse the repository at this point in the history
  26. [0.71.0-rc.5] Bump version numbers

    Distiller committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    6ece074 View commit details
    Browse the repository at this point in the history

Commits on Jan 6, 2023

  1. Configuration menu
    Copy the full SHA
    22f920f View commit details
    Browse the repository at this point in the history

Commits on Jan 9, 2023

  1. Update fingerprint for SSH deploy key (facebook#35791)

    Summary:
    Rotating a private SSH key we had left to rotate.
    
    ## Changelog
    
    [INTERNAL] - Update fingerprint for SSH deploy key
    
    Pull Request resolved: facebook#35791
    
    Test Plan: n/a
    
    Reviewed By: cipolleschi
    
    Differential Revision: D42413025
    
    Pulled By: cortinico
    
    fbshipit-source-id: 571f304e8cc2dad19c41e5413ed3c7d4c078ba60
    cortinico authored and kelset committed Jan 9, 2023
    Configuration menu
    Copy the full SHA
    06e8577 View commit details
    Browse the repository at this point in the history
  2. [0.71.0-rc.6] Bump version numbers

    Distiller committed Jan 9, 2023
    Configuration menu
    Copy the full SHA
    7dee5e7 View commit details
    Browse the repository at this point in the history

Commits on Jan 12, 2023

  1. [0.71.0] Bump version numbers

    Distiller committed Jan 12, 2023
    Configuration menu
    Copy the full SHA
    5a251ba View commit details
    Browse the repository at this point in the history

Commits on Jan 13, 2023

  1. Remove PAT_TOKEN and PAT_USERNAME from CircleCI (facebook#35808)

    Summary:
    This is a cleanup change needed after the CircleCI security incident.
    We should be using the `Authorization: Bearer` header to trigger `rn-diff-purge` instead of using username & password authentication.
    
    Source: https://docs.github.com/rest/reference/repos#create-a-repository-dispatch-event
    
    ## Changelog
    
    [INTERNAL] - Remove PAT_TOKEN and PAT_USERNAME from CircleCI
    
    Pull Request resolved: facebook#35808
    
    Test Plan:
    I've tested this locally with:
    
    ```
    curl -X POST https://api.github.com/repos/react-native-community/rn-diff-purge/dispatches \
                        -H "Accept: application/vnd.github.v3+json" \
                        -H "Authorization: Bearer [...]" \
                        -d "{\"event_type\": \"publish\", \"client_payload\": { \"version\": \"test.test.test\" }}"
    ```
    
    and the run was succesfully fired by react-native-bot:
    https://github.com/react-native-community/rn-diff-purge/actions/runs/3894079133
    
    Reviewed By: lunaleaps
    
    Differential Revision: D42456065
    
    Pulled By: cortinico
    
    fbshipit-source-id: 475e9ca80760522cc08bad37d85c5af6727922d3
    cortinico authored and kelset committed Jan 13, 2023
    Configuration menu
    Copy the full SHA
    4f94577 View commit details
    Browse the repository at this point in the history

Commits on Jan 17, 2023

  1. fix(scripts): add logic for version scripts to account for local E2E …

    …test versioning (facebook#35847)
    
    Co-authored-by: Riccardo <cipolleschi@fb.com>
    kelset and Riccardo authored Jan 17, 2023
    Configuration menu
    Copy the full SHA
    5f3c1e1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    df7c92f View commit details
    Browse the repository at this point in the history

Commits on Jan 19, 2023

  1. chore: fix typo in build.gradle (facebook#35209)

    Summary:
    ## Changelog
    
    <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see:
    https://reactnative.dev/contributing/changelogs-in-pull-requests
    -->
    
    [Android] [Fixed] - fixed typo in template build.gradle
    
    Pull Request resolved: facebook#35209
    
    Reviewed By: cipolleschi
    
    Differential Revision: D41080347
    
    Pulled By: cortinico
    
    fbshipit-source-id: d2e36f232f798a636f98843edbc5651730125fc4
    Titozzz authored and kelset committed Jan 19, 2023
    Configuration menu
    Copy the full SHA
    77b977f View commit details
    Browse the repository at this point in the history
  2. Switch order of onSelectionChange and onChange events on iOS (faceboo…

    …k#35603)
    
    Summary:
    Switched order of onSelectionChange and onChange events on iOS
    
    This was already fixed but for fabric only https://github.com/facebook/react-native/blob/main/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm#L36-L46
    
    This PR is a complementary of facebook@7b48899
    
    Fixes facebook#28865
    
    ## Changelog
    
    [IOS] [FIXED] - onSelectionChange() is fired before onChange() on multiline TextInput
    
    Pull Request resolved: facebook#35603
    
    Test Plan:
    Reproduce the minimal example provided here facebook#28865
    Verify that the events order is onChange then onSelectionChange with no duplicates
    
    Reviewed By: cipolleschi
    
    Differential Revision: D41947673
    
    Pulled By: dmytrorykun
    
    fbshipit-source-id: cf452a6101400b1b54295c83fa7735449d91e781
    s77rt authored and kelset committed Jan 19, 2023
    Configuration menu
    Copy the full SHA
    112bfee View commit details
    Browse the repository at this point in the history
  3. Fix build errors when inheriting RCTAppDelegate in Swift modules (fac…

    …ebook#35661)
    
    Summary:
    When inheriting `RCTAppDelegate` in a module with swift code, the compiler will have a build error when it goes through module headers. because swift does not support cxx headers. we found this issue when we try to inherit the class at Expo's [`EXAppDelegateWrapper`](https://github.com/expo/expo/blob/main/packages/expo-modules-core/ios/AppDelegates/EXAppDelegateWrapper.h) with RCTAppDelegate in new architecture mode.
    
    ## Changelog
    
    [IOS][FIXED] - Fix build errors when inheriting RCTAppDelegate in Swift modules
    
    Pull Request resolved: facebook#35661
    
    Test Plan:
    - ci passed
    - tested with expo's setup: expo/expo#20470
    
    Reviewed By: rshest
    
    Differential Revision: D42293851
    
    Pulled By: cipolleschi
    
    fbshipit-source-id: 8a173279db070cc0008c6f8214093951f504dcc1
    Kudo authored and kelset committed Jan 19, 2023
    Configuration menu
    Copy the full SHA
    c6bfbf9 View commit details
    Browse the repository at this point in the history
  4. fix: fix the potential race condition when dismissing and presentatin…

    …g modal (facebook#35705)
    
    Summary:
    `react-native-screens` has a bug about `UIViewControllerHierarchyInconsistency` when dismissing a `react-native` `<Modal>`. Here is the bug software-mansion/react-native-screens#944
    
    After adding `dispatch_async` block, it solves the issue. But I do not know if this is right.
    
    Here is the example repo https://github.com/wood1986/react-native-modal-crash
    
    You can revert my last commit wood1986/react-native-modal-crash@86e7bc1 to reproduce the issue
    
    ## Changelog
    
    <!-- Help reviewers and the release process by writing your own changelog entry.
    
    Pick one each for the category and type tags:
    
    [ANDROID|GENERAL|IOS|INTERNAL] [BREAKING|ADDED|CHANGED|DEPRECATED|REMOVED|FIXED|SECURITY] - Message
    
    For more details, see:
    https://reactnative.dev/contributing/changelogs-in-pull-requests
    -->
    
    [IOS] [FIXED] - fixed the potential race condition when dismissing and presentating modal
    
    Pull Request resolved: facebook#35705
    
    Reviewed By: cipolleschi
    
    Differential Revision: D42253488
    
    Pulled By: makovkastar
    
    fbshipit-source-id: 3e98fa9e719ecdeddeb2a367b0cd364e15136d56
    wood1986 authored and kelset committed Jan 19, 2023
    Configuration menu
    Copy the full SHA
    870ce57 View commit details
    Browse the repository at this point in the history
  5. Null Exception Handling | Input Validation - RCTAlertController - RCT…

    …DevLoadingView (facebook#35689)
    
    Summary:
    Enhancing native iOS modules and preventing crashes inside the RCTAlertController
    
    ## Changelog
    [iOS][Fixed] - Handle properly a `nil` `keyWindows` in the AlertController
    
    <!-- Help reviewers and the release process by writing your own changelog entry.
    
    Pick one each for the category and type tags:
    
    [IOS] [SECURITY] - Message
    
    For more details, see:
    https://reactnative.dev/contributing/changelogs-in-pull-requests
    -->
    
    Pull Request resolved: facebook#35689
    
    Reviewed By: cipolleschi
    
    Differential Revision: D42179169
    
    Pulled By: ryancat
    
    fbshipit-source-id: 05a6788f610db1d222e3c10b3c774c75edaf55f5
    admirsaheta authored and kelset committed Jan 19, 2023
    Configuration menu
    Copy the full SHA
    6bdde47 View commit details
    Browse the repository at this point in the history
  6. Fix RCTAlertController not showing when using SceneDelegate on iOS 13…

    ….0+ (facebook#35716)
    
    Summary:
    On iOS 13.0+, app may use SceneDelegate for multiple windows support or CarPlay support. RCTAlertController can't find the correct root vc in such scene based apps.
    
    ## Changelog
    
    <!-- Help reviewers and the release process by writing your own changelog entry.
    
    Pick one each for the category and type tags:
    
    [ANDROID|GENERAL|IOS|INTERNAL] [BREAKING|ADDED|CHANGED|DEPRECATED|REMOVED|FIXED|SECURITY] - Message
    
    For more details, see:
    https://reactnative.dev/contributing/changelogs-in-pull-requests
    -->
    
    [iOS] [Fixed] - Fix RCTAlertController not showing when using SceneDelegate on iOS 13.0+.
    
    Pull Request resolved: facebook#35716
    
    Reviewed By: cipolleschi
    
    Differential Revision: D42253653
    
    Pulled By: makovkastar
    
    fbshipit-source-id: ae4e833abca2af7af8028f3af9bd8d3f60ebd392
    ouabing authored and kelset committed Jan 19, 2023
    Configuration menu
    Copy the full SHA
    44f81c0 View commit details
    Browse the repository at this point in the history
  7. Add jsinspector prefab target (facebook#35796)

    Summary:
    react-native-v8 requires the `jsinspector` for its js inspector feature. this pr adds the `jsinspector` to the prefab target list.
    
    ## Changelog
    
    [ANDROID][ADDED] - Add `jsinspector` to the prefab target
    
    Pull Request resolved: facebook#35796
    
    Test Plan:
    ```
    $ ./gradlew :ReactAndroid:installArchives
    
    # check prefab files in aar
    
    $ unzip -l android/com/facebook/react/react-android/1000.0.0/react-android-1000.0.0-release.aar | grep 'prefab\/modules\/jsinspector'
    $ unzip -l android/com/facebook/react/react-android/1000.0.0/react-android-1000.0.0-debug.aar | grep 'prefab\/modules\/jsinspector'
    ```
    
    Reviewed By: cipolleschi
    
    Differential Revision: D42430272
    
    Pulled By: cortinico
    
    fbshipit-source-id: fd9a02fd9c33cf5d349e1a79da6f78267196efc8
    Kudo authored and kelset committed Jan 19, 2023
    Configuration menu
    Copy the full SHA
    7bdeed6 View commit details
    Browse the repository at this point in the history
  8. Exclude react-native-flipper when NO_FLIPPER=1 to prevent iOS bui…

    …ld fail (facebook#35686)
    
    Summary:
    - Flipper issue: facebook/flipper#3995 (comment)
    
    iOS build fail with an error:
    
    ```sh
    node_modules/react-native-flipper/ios/FlipperReactNativeJavaScriptPlugin.h:9:9: 'FlipperKit/FlipperConnection.h' file not found
    
    #import <FlipperKit/FlipperConnection.h>
    ```
    
    ## Changelog
    
    [IOS] [FIXED] - Exclude `react-native-flipper` when `NO_FLIPPER=1` to prevent iOS build fail
    
    Pull Request resolved: facebook#35686
    
    Test Plan:
    ```sh
    npx react-native init RN0710RC5 --version 0.71.0-rc.5
    cd RN0710RC5
    yarn add react-native-flipper
    NO_FLIPPER=1 pod install --project-directory=ios
    yarn ios # will fail
    ```
    
    Reviewed By: rshest
    
    Differential Revision: D42368444
    
    Pulled By: cipolleschi
    
    fbshipit-source-id: a8614ccadb98970ebae15d8743136fa60ead318c
    retyui authored and kelset committed Jan 19, 2023
    Configuration menu
    Copy the full SHA
    3d8152e View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    38e5fa6 View commit details
    Browse the repository at this point in the history
  10. feat: add initialProps property to RCTAppDelegate (facebook#35848)

    Summary:
    Hi there,
    
    While upgrading to 0.71 we realised the RCTAppDelegate doesn't offer a way to set custom `initProps` that would depend on `launchOptions`.
    
    This PR adds an `initialProps` property to the RCTAppDelegate. This would let us set this property based on `launchOptions` in our implementation of `didFinishLaunchingWithOptions` before calling `[super didFinishLaunchingWithOptions]`
    
    Thanks !
    
    ## Changelog
    
    [IOS] [ADDED] - Add `initialProps` property to `RCTAppDelegate`
    
    Pull Request resolved: facebook#35848
    
    Reviewed By: rshest
    
    Differential Revision: D42543027
    
    Pulled By: cipolleschi
    
    fbshipit-source-id: 55374914890445f8193c12a06a943b7796edb457
    jblarriviere authored and kelset committed Jan 19, 2023
    Configuration menu
    Copy the full SHA
    89be5ab View commit details
    Browse the repository at this point in the history
  11. RNGP - Honor the --active-arch-only when configuring the NDK (faceboo…

    …k#35860)
    
    Summary:
    Pull Request resolved: facebook#35860
    
    I've just realized that the `--active-arch-only` is not correctly passed down
    to RNGP to set up an abiFilter so users on 0.71 on New Architecture end up
    building all the architectures even if `--active-arch-only` is set.
    
    This fix makes sure the `abiFilters` is applied if the user specified
    either the `--active-arch-only`, the `reactNativeArchitectures` property
    and is not using the Split ABI feature.
    
    Changelog:
    [Android] [Fixed] - RNGP - Honor the --active-arch-only when configuring the NDK
    
    Reviewed By: cipolleschi
    
    Differential Revision: D42547987
    
    fbshipit-source-id: 5a34e7087bb4f89de74cc52f9c505e36896fbf03
    cortinico authored and kelset committed Jan 19, 2023
    Configuration menu
    Copy the full SHA
    e4051c6 View commit details
    Browse the repository at this point in the history
  12. Fix for resources not correctly bundlded on release appbundles (faceb…

    …ook#35872)
    
    Summary:
    Pull Request resolved: facebook#35872
    
    When downgrading from AGP 7.4 to 7.3 we were forced to resort to older APIs
    to bundle resources. It seems like we haven't properly wired the task to make sure
    resources generated by Metro are correctly accounted before the generation of
    release app bundles/apks.
    
    This fixes it. This fix can also be removed once we are on AGP 7.4
    Fixes facebook#35865
    
    Changelog:
    [Android] [Fixed] - Fix for resources not correctly bundlded on release appbundles
    
    Reviewed By: cipolleschi
    
    Differential Revision: D42573450
    
    fbshipit-source-id: a810924315f72e02e4c988ae86112bf0a06a9ce5
    cortinico authored and kelset committed Jan 19, 2023
    Configuration menu
    Copy the full SHA
    1d64766 View commit details
    Browse the repository at this point in the history
  13. Bump CMake to 3.22.1 to properly honor CMAKE_BUILD_TYPE (facebook#35857)

    Summary:
    Pull Request resolved: facebook#35857
    
    It seems like there is an incompatibility between NDK 23 (shipped in 0.71)
    and the usage of custom `CMAKE_BUILD_TYPE` we do for Hermes.
    
    Specifically the `-DCMAKE_BUILD_TYPE=Release` we specify for the debug
    variant of Hermes is partially ignored by the new Android native build toolchain.
    See android/ndk#463 for mentions on how the
    toolchains requires CMake 3.20+
    
    As AGP 7.3 defaults to use CMake 3.18 unless specified, and NDK 23 unless specified.
    AGP 7.4 defaults to use CMake 3.22 unless specified, and NDK 23 unless specified.
    See: https://developer.android.com/studio/releases/gradle-plugin#7-4-0
    
    Here I'm:
    1. Bumping the docker image to an image that contains the CMake 3.22
    2. Updating the logic for building `react-native` & `hermes-engine` to use 3.22
    3. Provide fallbacks if the user specified `CMAKE_VERSION`
    
    Template tests will run on AGP 7.3 and will still use CMake 3.18, but I forecast
    no problem there as the user is not supposed to specify custom `CMAKE_BUILD_TYPE`.
    This is only a problem as we build `hermes-engine` with custom build types.
    
    Changelog:
    [Android] [Fixed] - Bump CMake to 3.22.1 to properly honor CMAKE_BUILD_TYPE
    
    Reviewed By: cipolleschi
    
    Differential Revision: D42544864
    
    fbshipit-source-id: efd0f51120370fb808337c201df31d71f4ddfdbc
    cortinico authored and kelset committed Jan 19, 2023
    Configuration menu
    Copy the full SHA
    36e9d87 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    56423e2 View commit details
    Browse the repository at this point in the history
  15. [LOCAL] bump CLI to 10.1.3

    kelset committed Jan 19, 2023
    Configuration menu
    Copy the full SHA
    b868970 View commit details
    Browse the repository at this point in the history
  16. [LOCAL]Bump RNGP

    Riccardo Cipolleschi committed Jan 19, 2023
    Configuration menu
    Copy the full SHA
    416463c View commit details
    Browse the repository at this point in the history
  17. fix: ReactRootView checkForKeyboardEvents to check if rootInsets are …

    …set (facebook#35869)
    
    Summary:
    react-native-navigation allows to register React components to be included in the navigation top bar as buttons, the way this work is by using the AppRegistry. When the ViewTreeObserver executes the `CustomGlobalLayout` we are checking for the RootWindowInsets in the `checkKeyboardEvents` which in the case for the top bar component it returns null and the **WindowInsetsCompat.toWindowInsetsCompat** function throws if the insets are null causing the app to crash.
    
    Interestingly in the function `checkForKeyboardEventsLegacy` the null value is being checked, so I guess it was overlooked in the newer function.
    
    ## Changelog
    
    [ANDROID] [FIXED] - Fix ReactRootView crash when root view window insets are null
    
    Pull Request resolved: facebook#35869
    
    Test Plan:
    The following videos show how the app crashes as soon as we attempt to pop a screen that contains a react component as a button in the navigation top bar and how it correctly pops to the previous screen after applying the fix
    
    | Crash | Fix |
    | -- | -- |
    | https://user-images.githubusercontent.com/6757047/213116971-fe693989-f978-438c-b8f9-fc56f2a477c8.mp4 | https://user-images.githubusercontent.com/6757047/213118352-fe258f28-07aa-4d17-98d2-97136464ffd5.mp4 |
    
    Reviewed By: cipolleschi
    
    Differential Revision: D42580156
    
    Pulled By: cortinico
    
    fbshipit-source-id: 4dbd656d7c8148df67668a2a50913206bc35c07f
    enahum authored and Riccardo Cipolleschi committed Jan 19, 2023
    Configuration menu
    Copy the full SHA
    6734d92 View commit details
    Browse the repository at this point in the history
  18. [0.71.1] Bump version numbers

    Distiller committed Jan 19, 2023
    Configuration menu
    Copy the full SHA
    3978b7c View commit details
    Browse the repository at this point in the history

Commits on Jan 24, 2023

  1. Configuration menu
    Copy the full SHA
    9ed85c0 View commit details
    Browse the repository at this point in the history

Commits on Jan 25, 2023

  1. Cherry-picking monorepo CI scripts to 0.71-stable (facebook#35946)

    Co-authored-by: Ruslan Lesiutin <hoxy@fb.com>
    hoxyq and Ruslan Lesiutin authored Jan 25, 2023
    Configuration menu
    Copy the full SHA
    a787698 View commit details
    Browse the repository at this point in the history
  2. Remove unused .netrc file from CircleCI (facebook#35785)

    Summary:
    Removing a stale configuration that was configuring username/password before publishing to NPM. This is effectively unused + the Github Token there is invalid therefore can be removed.
    
    ## Changelog
    
    [INTERNAL] - Remove unused .netrc file from CircleCI
    
    Pull Request resolved: facebook#35785
    
    Test Plan: n/a
    
    Reviewed By: cipolleschi
    
    Differential Revision: D42385163
    
    Pulled By: cortinico
    
    fbshipit-source-id: 0dbbf44459d59f792da4221d6100800a2f4efda2
    cortinico authored and Ruslan Lesiutin committed Jan 25, 2023
    Configuration menu
    Copy the full SHA
    0ff82df View commit details
    Browse the repository at this point in the history
  3. Bump node version from 16 to 18 (facebook#35443)

    Summary:
    Node 18: https://nodejs.org/de/blog/announcements/v18-release-announce/
    
    Node 16 EOL: 2023-09-11
    https://nodejs.org/en/blog/announcements/nodejs16-eol/
    
    Node 18 EOL: 2025-04-30
    
    Follow-up
    - facebook#34171
    - facebook#32980
    
    Ref
    - react-native-community/docker-android#187
    
    cc ramonmedel cortinico gengjiawen
    
    ## Changelog
    
    <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see:
    https://reactnative.dev/contributing/changelogs-in-pull-requests
    -->
    
    [JavaScript] [Changed] - Bump node version from 16 to 18
    
    Pull Request resolved: facebook#35443
    
    Test Plan: Everything builds and runs as expected
    
    Reviewed By: cipolleschi
    
    Differential Revision: D41531161
    
    Pulled By: cortinico
    
    fbshipit-source-id: 305888f55ed179f75bef34548aebf22fc2951308
    leotm authored and Ruslan Lesiutin committed Jan 25, 2023
    Configuration menu
    Copy the full SHA
    9f82b9c View commit details
    Browse the repository at this point in the history
  4. fix(setup-verdaccio): save auth token for verdaccio before bootstrapp…

    …ing it
    Ruslan Lesiutin committed Jan 25, 2023
    Configuration menu
    Copy the full SHA
    9382579 View commit details
    Browse the repository at this point in the history

Commits on Jan 26, 2023

  1. Configuration menu
    Copy the full SHA
    a436d44 View commit details
    Browse the repository at this point in the history

Commits on Jan 27, 2023

  1. Configuration menu
    Copy the full SHA
    85efd37 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    681714e View commit details
    Browse the repository at this point in the history

Commits on Jan 30, 2023

  1. Fix invariant violation when nesting VirtualizedList inside ListEmpty…

    …Component (facebook#35875)
    
    Summary:
    Pull Request resolved: facebook#35875
    
    Fixes facebook#35871
    
    Nested VirtualizedLists register to their parents for updates, associated to a specfific cellKey set by VirtualizedListCellContextProvider. This cellKey is usually set when rendering a cell for a data item, but we can also render a nested VirtualizedList by putting one in a ListHeaderComponent/ListFooterComponent/ListEmptyComponent.
    
    D6603342 (facebook@a010a0c) added cellKeys when we render from a header/footer, but not ListEmptyComponent, so that association would silently fail earlier.
    
    D39466677 (facebook@010da67) added extra invariants to child list handling, that are now triggered by this case, complaining because we are trying to unregister a child list we never successfully registered, due to a missing cellKey.
    
    This fixes the issue by providing a cellKey for ListEmptyComponent as well.
    
    Changelog:
    [General][Fixed] - Fix invariant violation when nesting VirtualizedList inside ListEmptyComponent
    
    Reviewed By: christophpurrer
    
    Differential Revision: D42574462
    
    fbshipit-source-id: f76fa795bf471cb8a929c2efdbd814ea51927663
    
    # Conflicts:
    #	Libraries/Lists/VirtualizedList.js
    NickGerleman authored and kelset committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    ac5d743 View commit details
    Browse the repository at this point in the history
  2. Add accessibilityLanguage type (facebook#35882)

    Summary:
    `accessibilityLanguage` is missing from `AccessibilityPropsIOS` TypeScript interface
    
    ## Changelog
    
    [GENERAL] [FIXED] - Added missing `accessibilityLanguage` TypeScript type
    
    <!-- Help reviewers and the release process by writing your own changelog entry.
    
    Pick one each for the category and type tags:
    
    For more details, see:
    https://reactnative.dev/contributing/changelogs-in-pull-requests
    -->
    
    Pull Request resolved: facebook#35882
    
    Test Plan: Ran `yarn test-typescript` and `yarn test-typescript-offline` and there were no errors.
    
    Reviewed By: christophpurrer
    
    Differential Revision: D42604363
    
    Pulled By: NickGerleman
    
    fbshipit-source-id: fb8dd4b5bba78a080473a9dc7b49a07587530229
    DimitarNestorov authored and kelset committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    0193030 View commit details
    Browse the repository at this point in the history
  3. Fix TurboModuleRegistry TS type (facebook#35885)

    Summary:
    TurboModuleRegistry export functions and not a TurboModuleRegistry object. See https://github.com/facebook/react-native/blob/main/Libraries/TurboModule/TurboModuleRegistry.js#L37
    
    ## Changelog
    
    [GENERAL] [FIXED] - Fix TurboModuleRegistry TS type
    
    Pull Request resolved: facebook#35885
    
    Test Plan:
    Tested that the import doesn't generate a type error when used correctly.
    
    ```ts
    import * as TurboModuleRegistry from 'react-native/Libraries/TurboModule/TurboModuleRegistry';
    
    export default TurboModuleRegistry.get<Spec>('RNCSafeAreaContext');
    ```
    
    Reviewed By: christophpurrer
    
    Differential Revision: D42604208
    
    Pulled By: NickGerleman
    
    fbshipit-source-id: e6259df24aaf6e37b32cc4b51947294fd655837e
    janicduplessis authored and kelset committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    3d10511 View commit details
    Browse the repository at this point in the history
  4. Add accessibilityLabelledBy TypeScript type (facebook#35883)

    Summary:
    `accessibilityLabelledBy` is missing from `AccessibilityPropsAndroid` TypeScript interface
    
    ## Changelog
    
    [GENERAL] [FIXED] - Added missing `accessibilityLabelledBy` TypeScript type
    
    <!-- Help reviewers and the release process by writing your own changelog entry.
    
    Pick one each for the category and type tags:
    
    For more details, see:
    https://reactnative.dev/contributing/changelogs-in-pull-requests
    -->
    
    Pull Request resolved: facebook#35883
    
    Test Plan: Ran `yarn test-typescript` and `yarn test-typescript-offline` and there were no errors.
    
    Reviewed By: christophpurrer
    
    Differential Revision: D42604287
    
    Pulled By: NickGerleman
    
    fbshipit-source-id: 476d24d1c0257be787b7e84c2c11bcadc3527979
    DimitarNestorov authored and kelset committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    fb393fb View commit details
    Browse the repository at this point in the history
  5. Do not use WindowInsetsCompat for Keyboard Events (facebook#35897)

    Summary:
    Pull Request resolved: facebook#35897
    
    Fixes facebook#35894
    
    Android 11 added native support for querying whether the IME is present along with its size, as part of the WindowInsets API. D38500859 (facebook@1e48274) changed our logic for Android keyboard events to use it when available, fixing a longstanding issues where we could not reliably tell where the keyboard was open depending on softInputMode.
    
    An androidx library WindowInsetsCompat aimed to backport some of the functionality to older versions of Android, with the same API, documenting IME queries to work down to API level 23 (Android 6). I used this, so that we would be able to remove our own logic for detecting keyboard insets once we supported 23+.
    
    From an issue report, WindowInsetsCompat is not accurately returning whether the IME is open on at least Android 9. So this change makes it so we only use WindowInsets methods when they are provided by the OS (a tested golden path), and otherwise use the previously working heuristics on anything older.
    
    Changelog:
    [Android][Fixed] - Do not use WindowInsetsCompat for Keyboard Events
    
    Reviewed By: christophpurrer
    
    Differential Revision: D42604176
    
    fbshipit-source-id: da6a0bbc34c36f8e6d4e4ac07bc96da048fd6aa8
    NickGerleman authored and kelset committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    e13929e View commit details
    Browse the repository at this point in the history
  6. Adding AlertOptions to ts Alert.prompt function (facebook#35957)

    Summary:
    Bringing the typescript function signature in-line with the js code.
    
    ## Changelog
    
    [GENERAL] [FIXED] - Added AlertOptions argument to the type definition for Alert.prompt to bring it into parity with the js code.
    
    <!-- Help reviewers and the release process by writing your own changelog entry.
    
    Pick one each for the category and type tags:
    
    For more details, see:
    https://reactnative.dev/contributing/changelogs-in-pull-requests
    -->
    
    Pull Request resolved: facebook#35957
    
    Test Plan: Before the change, VS Code would show a typescript error when I pass AlertOptions to Alert.prompt (even though the js would execute successfully and respect the options I passed. After the change, when I use an Alert.prompt in VS code the function signature was recognized without errors.
    
    Reviewed By: christophpurrer
    
    Differential Revision: D42737818
    
    Pulled By: jacdebug
    
    fbshipit-source-id: 4d4318f38f5c7b7302aae62de5ce224db67e088a
    paulmand3l authored and kelset committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    c4a995d View commit details
    Browse the repository at this point in the history
  7. Fix crash by conditional value of aspectRatio style value (facebook#3…

    …5858) (facebook#35859)
    
    Summary:
    fix facebook#35858
    
    ## Changelog
    
    1. Handle not `number` | `string` value passed to `aspectRatio`
    2. Add some tests
    
    <!-- Help reviewers and the release process by writing your own changelog entry.
    
    Pick one each for the category and type tags:
    
    [GENERAL] [FIXED] - Message
    
    For more details, see:
    https://reactnative.dev/contributing/changelogs-in-pull-requests
    -->
    
    Pull Request resolved: facebook#35859
    
    Test Plan:
    ## Sample
    [Sample Repository](https://github.com/mym0404/rn-aspect-ratio-crash-sample)
    
    Video
    
    ![1](https://user-images.githubusercontent.com/33388801/212956921-94b21cda-d841-4588-a05a-d604a82e204c.gif)
    
    Reviewed By: necolas
    
    Differential Revision: D42575942
    
    Pulled By: NickGerleman
    
    fbshipit-source-id: 2f7f46e6e3af85146e4042057477cb6d63b3b279
    mym0404 authored and kelset committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    1f9926f View commit details
    Browse the repository at this point in the history
  8. Mitigation for Samsung TextInput Hangs (facebook#35967)

    Summary:
    Pull Request resolved: facebook#35967
    
    In facebook#35936 we observed that the presence of AbsoluteSizeSpan may lead to hangs when using the Grammarly keyboard on Samsung.
    
    This mitigation makes it so that we do not emit this span in any case where it is sufficient to rely on already set EditText textSize. In simple cases, tested on two devices, it causes typing into the TextInput to no longer hang.
    
    This does not fully resolve the issue for TextInputs which meaningfully use layout-effecting spans (or at least font size), such as non-uniform text size within the input. We instead just try to reduce to minimum AbsoluteSizeSpan possible.
    
    Testing the first commit was able to resolve hangs in some simpler inputs tested, by me and cortinico.
    
    Changelog:
    [Android][Fixed] - Mitigation for Samsung TextInput Hangs
    
    Reviewed By: cortinico
    
    Differential Revision: D42721684
    
    fbshipit-source-id: e0388dfb4617f0217bc1d0b71752c733e10261dd
    NickGerleman authored and kelset committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    4650ef3 View commit details
    Browse the repository at this point in the history
  9. Add TextInput's inputMode TypeScript types (facebook#35987)

    Summary:
    Forward-porting DefinitelyTyped/DefinitelyTyped#64100
    
    ## Changelog
    
    [GENERAL] [FIXED] - Add `TextInput`'s `inputMode` TypeScript types
    
    Pull Request resolved: facebook#35987
    
    Test Plan: - [x] DefinitelyTyped/DefinitelyTyped#64100 green
    
    Reviewed By: christophpurrer
    
    Differential Revision: D42799862
    
    Pulled By: jacdebug
    
    fbshipit-source-id: b387fd8bc53e66d6125fee810862de3e292e6e74
    eps1lon authored and kelset committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    8329cfa View commit details
    Browse the repository at this point in the history
  10. fix: use properly exclude parameter of matrix (facebook#35794)

    Summary:
    Update the CircleCI configuration to use the proper `exclude` parameter of matrix rather then bootstrap a machine and then kill it.
    
    ## Changelog
    
    <!-- Help reviewers and the release process by writing your own changelog entry.
    
    Pick one each for the category and type tags:
    
    [ANDROID|GENERAL|IOS|INTERNAL] [BREAKING|ADDED|CHANGED|DEPRECATED|REMOVED|FIXED|SECURITY] - Message
    
    For more details, see:
    https://reactnative.dev/contributing/changelogs-in-pull-requests
    -->
    ## Changelog
    [Internal] - Use the `exclude` parameter of matrices to avoid spinning up unnecessary machines
    
    Pull Request resolved: facebook#35794
    
    Test Plan: The number of jobs on CircleCI should decrease.
    
    Reviewed By: dmytrorykun
    
    Differential Revision: D42475445
    
    Pulled By: cipolleschi
    
    fbshipit-source-id: 3d733ac459a3bc9747440a62cb2caecb7a235fec
    Riccardo Cipolleschi authored and kelset committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    88196cd View commit details
    Browse the repository at this point in the history
  11. Add Tests in CircleCI to check dynamic frameworks with the old arch (f…

    …acebook#36003)
    
    Summary:
    Pull Request resolved: facebook#36003
    
    This diff adds 4 tests in CircleCI to make sure we don't regress in the support of Dynamic Frameworks for the old architecture.
    
    ## Changelog
    [iOS][Fixed] - Add CircleCI tests for dynamic frameworks with the Old Architecture.
    
    Reviewed By: cortinico
    
    Differential Revision: D42829895
    
    fbshipit-source-id: 5669be45d4f55161a11a6ece161b2a2aa384a644
    cipolleschi authored and kelset committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    1a92cdb View commit details
    Browse the repository at this point in the history
  12. Restore Dynamic framework with JSC in the Old Architecture

    Summary:
    I discovered that 0.69 and 0.70 could run React Native as Dynamic framework with JSC and starting from 0.71 that's not possible anymore.
    This diff restore that possibility.
    
    ## Changelog
    [iOS][Fixed] - Add Back dynamic framework support for the old architecture
    
    Reviewed By: cortinico
    
    Differential Revision: D42829137
    
    fbshipit-source-id: 848672f714d8bab133e42f5e3b80202b350d5261
    cipolleschi authored and kelset committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    4d3e7f8 View commit details
    Browse the repository at this point in the history
  13. Restore Dynamic framework with Hermes in the Old Architecture

    Summary:
    I discovered that 0.69 could run React Native as Dynamic framework with Hermes and starting from 0.70 that's not possible anymore.
    This diff restore that possibility.
    
    Notice that now Hermes provisdes JSI and Dynamic Frameworks requires that all the dependencies are explicitly defined, therefore, whenever we have a pod that depended on `React-jsi`, now it also has to explicitly depends on `hermes-engine`
    
    ## Changelog
    [iOS][Fixed] - Add Back dynamic framework support for the Old Architecture with Hermes
    
    Reviewed By: cortinico
    
    Differential Revision: D42829728
    
    fbshipit-source-id: a660e3b1e346ec6cf3ceb8771dd8bceb0dbcb13a
    cipolleschi authored and kelset committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    5f536be View commit details
    Browse the repository at this point in the history
  14. RNGP - Properly set the jsRootDir default value (facebook#35992)

    Summary:
    Pull Request resolved: facebook#35992
    
    Fixes software-mansion/react-native-gesture-handler#2382
    
    I've just realized that the default value fo `jsRootDir` is not entirely correct.
    That's the root of the folder where the codegen should run.
    
    For apps, it should be defaulted to `root` (i.e. ../../)
    For libraries, it should be defaulted to `../` (currently is root).
    
    This causes a problem where libraries without either a `codegenConfig` or a `react{ jsRootDir = ... }`
    specified in the build.gradle will be invoking the codegen and generating duplicated symbols.
    
    Changelog:
    [Android] [Fixed] - RNGP - Properly set the `jsRootDir` default value
    
    Reviewed By: cipolleschi
    
    Differential Revision: D42806411
    
    fbshipit-source-id: ffe45f9684a22494cc2e4d0a19de9077cb341365
    cortinico authored and kelset committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    76ca8e2 View commit details
    Browse the repository at this point in the history
  15. fix(publishing-bumped-packages): look for status code instaead of std…

    …err (facebook#36004)
    
    Summary:
    Pull Request resolved: facebook#36004
    
    Changelog: [Internal]
    
    This fixes CircleCI job, which is responsible for publishing bumped packages. We should not check for `stderr`, apparently `npm` uses it to store debug information:
    - npm/npm#118 (comment)
    
    So we've tried to use this on 0.71-stable before and it succesfully published one package, but have exited right after it because `stderr` was not empty
    
    Reviewed By: cortinico, cipolleschi
    
    Differential Revision: D42836212
    
    fbshipit-source-id: 6f2a9a512121683268fe6aae6a187fccb8d9dfbc
    hoxyq authored and kelset committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    77936fa View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    9aa9ee7 View commit details
    Browse the repository at this point in the history

Commits on Jan 31, 2023

  1. Configuration menu
    Copy the full SHA
    785bc8d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0b440d5 View commit details
    Browse the repository at this point in the history

Commits on Feb 1, 2023

  1. Configuration menu
    Copy the full SHA
    712efaf View commit details
    Browse the repository at this point in the history
  2. [0.71.2] Bump version numbers

    Distiller committed Feb 1, 2023
    Configuration menu
    Copy the full SHA
    66a47e1 View commit details
    Browse the repository at this point in the history

Commits on Feb 13, 2023

  1. Add missing C++ include for prop conversion of complex array type (fa…

    …cebook#35984)
    
    Summary:
    Pull Request resolved: facebook#35984
    
    [Changelog][Internal]
    
    Codegen for props parsing was failing to add a required include for the case when the type is an array of objects, which in turn use non-trivial types.
    
    Something like:
    ```
    export type NativeProps = $ReadOnly<{
      ...ViewProps,
      bounds: $ReadOnlyArray<
        $ReadOnly<{
          height?: Float,
          left?: Float,
          top?: Float,
          width?: Float,
        }>,
      >,
    }>;
    ```
    
    would cause compilation errors on C++ side, since the required header for the `Float` conversion wasn't included.
    
    Reviewed By: cipolleschi
    
    Differential Revision: D42781128
    
    fbshipit-source-id: d5b133b931a60e414761db0b3ed09893d3fcc9aa
    rshest authored and Riccardo Cipolleschi committed Feb 13, 2023
    Configuration menu
    Copy the full SHA
    92fc32a View commit details
    Browse the repository at this point in the history
  2. RNGP - fix: use relative paths for gradle exec invocations (facebook#…

    …36080)
    
    Summary:
    Pull Request resolved: facebook#36080
    
    For Android release builds on Windows, gradle release build fails if there are spaces in path (facebook#34878). This is due to gradle improperly handling arguments with spaces (this is also [an open issue](gradle/gradle#6072) on Gradle). Since the Hermes compilation and other Gradle exec invocations involve arguments which will contain spaces (if there are spaces in your path), this also means it is hard to get around this by simply escaping the spaces (eg: by using double quotes), since these arguments are not properly handled by Gradle itself.
    
    As a workaround, this PR uses relative paths for all Gradle commands invoked for Android. As long as there aren't any spaces in the react-native directory structure (i.e this repo), this fix should work.
    
    ## Changelog
    
    [Android][Fixed] - Used relative paths for gradle commands
    
    Pull Request resolved: facebook#36076
    
    Test Plan: `npx react-native run-android` builds and runs the app successfully on Android device, when run inside an RN0711 project with a path containing spaces (and with the changes in this PR applied) on Windows. This includes release builds (i.e with the `--variant=release` flag).
    
    Reviewed By: cipolleschi
    
    Differential Revision: D43080177
    
    Pulled By: cortinico
    
    fbshipit-source-id: 7625f3502af47e9b28c6fc7dfe1459d7c7f1362d
    shivenmian authored and Riccardo Cipolleschi committed Feb 13, 2023
    Configuration menu
    Copy the full SHA
    fbe9e2e View commit details
    Browse the repository at this point in the history
  3. update jsc-android to ndk r23 based (facebook#36062)

    Summary:
    the current jsc-android is still built based on ndk r21, and react-native is now built based on ndk r23. the unwinder between r21 and r23 is incompatible (libgcc vs libunwind). if there's exceptions throwing from jsc, other react native libraries cannot catch these exceptions and cause runtime crash.
    
    this pr updates jsc-android to 235231.0.0 which is the same webkitgtk version as 235230.2.1 but only built by ndk r23. the jsc-android pr is from react-native-community/jsc-android-buildscripts#179. note that the jsc is based on ndk r23c and react-native is based on ndk r23b. the reason is that i cannot get jsc building successfully on r23b. hopefully r23b and r23c are abi safe.
    
    there is another crash from libjscexecutor when testing the new jsc-android. to fix the issue, i have to explicitly link libunwind.a from libjscexecutor.so. supposedly ndk r23 should help to link libunwind under the hood, i still not figure out why it doesn't. but after linking libunwind.a, i can get new jsc-android work successfully.
    
    ```
    E/art     ( 2669): dlopen("/data/app/com.test-1/lib/x86_64/libjscexecutor.so", RTLD_LAZY) failed: dlopen failed: cannot locate symbol "_Unwind_Resume" referenced by "/data/app/com.test-1/lib/x86_64/libjscexecutor.so"...
    W/System.err( 2669): java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "_Unwind_Resume" referenced by "/data/app/com.test-1/lib/x86_64/libjscexecutor.so"...
    W/System.err( 2669): 	at java.lang.Runtime.load(Runtime.java:331)
    W/System.err( 2669): 	at java.lang.System.load(System.java:982)
    W/System.err( 2669): 	at com.facebook.soloader.SoLoader$1.load(SoLoader.java:558)
    W/System.err( 2669): 	at com.facebook.soloader.DirectorySoSource.loadLibraryFrom(DirectorySoSource.java:110)
    W/System.err( 2669): 	at com.facebook.soloader.DirectorySoSource.loadLibrary(DirectorySoSource.java:63)
    W/System.err( 2669): 	at com.facebook.soloader.ApplicationSoSource.loadLibrary(ApplicationSoSource.java:91)
    W/System.err( 2669): 	at com.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:1067)
    W/System.err( 2669): 	at com.facebook.soloader.SoLoader.loadLibraryBySoNameImpl(SoLoader.java:943)
    W/System.err( 2669): 	at com.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:855)
    W/System.err( 2669): 	at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:802)
    W/System.err( 2669): 	at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:772)
    W/System.err( 2669): 	at com.facebook.react.jscexecutor.JSCExecutor.loadLibrary(JSCExecutor.java:24)
    W/System.err( 2669): 	at com.facebook.react.jscexecutor.JSCExecutor.<clinit>(JSCExecutor.java:20)
    W/System.err( 2669): 	at com.facebook.react.ReactInstanceManagerBuilder.getDefaultJSExecutorFactory(ReactInstanceManagerBuilder.java:363)
    W/System.err( 2669): 	at com.facebook.react.ReactInstanceManagerBuilder.build(ReactInstanceManagerBuilder.java:316)
    W/System.err( 2669): 	at com.facebook.react.ReactNativeHost.createReactInstanceManager(ReactNativeHost.java:94)
    W/System.err( 2669): 	at com.facebook.react.ReactNativeHost.getReactInstanceManager(ReactNativeHost.java:41)
    W/System.err( 2669): 	at com.test.MainApplication.onCreate(MainApplication.java:60)
    W/System.err( 2669): 	at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1011)
    W/System.err( 2669): 	at androidx.test.runner.MonitoringInstrumentation.callApplicationOnCreate(MonitoringInstrumentation.java:483)
    W/System.err( 2669): 	at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4518)
    W/System.err( 2669): 	at android.app.ActivityThread.access$1500(ActivityThread.java:144)
    W/System.err( 2669): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1339)
    W/System.err( 2669): 	at android.os.Handler.dispatchMessage(Handler.java:102)
    W/System.err( 2669): 	at android.os.Looper.loop(Looper.java:135)
    W/System.err( 2669): 	at android.app.ActivityThread.main(ActivityThread.java:5221)
    W/System.err( 2669): 	at java.lang.reflect.Method.invoke(Native Method)
    W/System.err( 2669): 	at java.lang.reflect.Method.invoke(Method.java:372)
    W/System.err( 2669): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
    W/System.err( 2669): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
    ```
    
    fixes facebook#36052
    
    ## Changelog
    
    [ANDROID][FIXED] - Fixed jscexecutor crash on Android which is caused from NDK incompatibility
    
    Pull Request resolved: facebook#36062
    
    Test Plan: tested on [jsc-android instrumented test](https://github.com/react-native-community/jsc-android-buildscripts/tree/2.26.1/test) (based on react-native 0.71.2)
    
    Reviewed By: cipolleschi
    
    Differential Revision: D43040295
    
    Pulled By: cortinico
    
    fbshipit-source-id: e0e5b8fb7faa8ee5654d4cde5f274bef4b517376
    Kudo authored and Riccardo Cipolleschi committed Feb 13, 2023
    Configuration menu
    Copy the full SHA
    374d874 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ad1ddc2 View commit details
    Browse the repository at this point in the history
  5. [LOCAL] Update podfile.lock

    Riccardo Cipolleschi committed Feb 13, 2023
    Configuration menu
    Copy the full SHA
    e9460f2 View commit details
    Browse the repository at this point in the history
  6. [ci][monorepo] bump package versions

    Riccardo Cipolleschi committed Feb 13, 2023
    Configuration menu
    Copy the full SHA
    60f0a71 View commit details
    Browse the repository at this point in the history
  7. [LOCAL] Bump package versions

    Riccardo Cipolleschi committed Feb 13, 2023
    Configuration menu
    Copy the full SHA
    4b84888 View commit details
    Browse the repository at this point in the history
  8. [LOCAL] Bump codegen package

    Riccardo Cipolleschi committed Feb 13, 2023
    Configuration menu
    Copy the full SHA
    a3f205a View commit details
    Browse the repository at this point in the history

Commits on Feb 14, 2023

  1. [0.71.3] Bump version numbers

    Distiller committed Feb 14, 2023
    Configuration menu
    Copy the full SHA
    d9321c0 View commit details
    Browse the repository at this point in the history

Commits on Feb 28, 2023

  1. fix: update executor for packages publishing workflow

    Summary:
    Changelog: [Internal]
    
    - While working on 0.71.3, it was discovered that `react-native-codegen` package is being published almost empty (without `lib` folder)
    - The reason for it is that `prepare` script is not being executed
    - The main reason for it is npm v6, which requires adding `unsafe-perm` flag for it: https://www.vinayraghu.com/blog/npm-unsafe-perm
    - Instead of using this flag, changing executor to `nodelts`, which has node v18 and npm v8
    - Also adding `run_yarn` before running the script, because `react-native/codegen` uses external dependencies (such as rimraf) for its build scripts
    
    Differential Revision: D43248175
    
    fbshipit-source-id: ea696aae5b75cb284db380d2040e678bb24a0eb4
    hoxyq committed Feb 28, 2023
    Configuration menu
    Copy the full SHA
    411491e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ac635f9 View commit details
    Browse the repository at this point in the history

Commits on Mar 1, 2023

  1. Configuration menu
    Copy the full SHA
    20a6fbd View commit details
    Browse the repository at this point in the history

Commits on Mar 2, 2023

  1. fix: update publishing packages tag message prefix (facebook#36348)

    Summary:
    Pull Request resolved: facebook#36348
    
    Changelog: [Internal]
    
    Turns out that Phabricator strips `@` symbol from `@...` tags when exports commits to GitHub. Proposing to use `#` instead.
    
    #publish-packages-to-npm
    
    Reviewed By: cortinico
    
    Differential Revision: D43712415
    
    fbshipit-source-id: 86fc728eb0cb63afb6a9fe592a9ae998da2ce2e4
    hoxyq committed Mar 2, 2023
    Configuration menu
    Copy the full SHA
    9c4d0a8 View commit details
    Browse the repository at this point in the history
  2. Merge pull request facebook#36323 from hoxyq/pick/fixing-ci-packages-…

    …bumping-scripts
    
    Cherry-picking changes in CI scripts for packages versions bumping
    hoxyq authored Mar 2, 2023
    Configuration menu
    Copy the full SHA
    4a0b11a View commit details
    Browse the repository at this point in the history