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 up to January 2nd upstream #2013

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

Commits on Nov 28, 2023

  1. Kotlin to 1.8.22 (facebook#41661)

    Summary:
    Pull Request resolved: facebook#41661
    
    This aligns the Kotlin version used inside fbsource to the one used for React Native GitHub
    
    Changelog:
    [Internal] [Changed] - Kotlin to 1.8.22
    
    Reviewed By: NickGerleman
    
    Differential Revision: D51587726
    
    fbshipit-source-id: 5f985bd50c7688e4d369184b79dbf1bdc799876e
    cortinico authored and facebook-github-bot committed Nov 28, 2023
    Configuration menu
    Copy the full SHA
    4f3094a View commit details
    Browse the repository at this point in the history
  2. Fix several build warnings on RN Tester Android (facebook#41660)

    Summary:
    Pull Request resolved: facebook#41660
    
    While working on other things, I noticed those warnings firing on console which I'm fixing here.
    
    Changelog:
    [Internal] [Changed] - Fix several build warnings on RN Tester Android
    
    Reviewed By: cipolleschi
    
    Differential Revision: D51589072
    
    fbshipit-source-id: 1ddb29afd0d150f1ccbc7a8def9f27ecedb69724
    cortinico authored and facebook-github-bot committed Nov 28, 2023
    Configuration menu
    Copy the full SHA
    25196ba View commit details
    Browse the repository at this point in the history
  3. do not use ShadowNode::defaultSharedProps in UIManager::clone (facebo…

    …ok#41667)
    
    Summary:
    Pull Request resolved: facebook#41667
    
    changelog: [internal]
    
    I made a mistake during refactor in D51471667 where I removed the check if rawProps is nullptr. We must check if props are empty during `UIManager::clone`, leaving the check for `ConcreteComponentDescriptor::cloneProps` does not lead to the same result.
    
    There is a deeper problem here that needs to be analysed but this should resolve the lunch blocker.
    
    Reviewed By: javache
    
    Differential Revision: D51614396
    
    fbshipit-source-id: 055694c4a71a914d8732a3632c50026cc24cbe7d
    sammy-SC authored and facebook-github-bot committed Nov 28, 2023
    Configuration menu
    Copy the full SHA
    a8fc206 View commit details
    Browse the repository at this point in the history
  4. Backout - Schedule a Choreographer callback only if there is ongoing …

    …animation
    
    Summary: caused performace problems with react app
    
    Reviewed By: gpalves
    
    Differential Revision: D51617862
    
    fbshipit-source-id: 38c0c06dacdd7aa862fd523a7ce136e54ed55fa2
    Nicholas Block authored and facebook-github-bot committed Nov 28, 2023
    Configuration menu
    Copy the full SHA
    528f971 View commit details
    Browse the repository at this point in the history
  5. CxxReactPackage: Use hungarian notation for hybridData (facebook#41675)

    Summary:
    Pull Request resolved: facebook#41675
    
    FBJni expects the HybridData object to exist on the mHybridData property of the java object. So, we have to call this propery mHybridData.
    
    Otherwise, this fbjni class just won't work.
    
    Changelog: [Internal]
    
    Reviewed By: javache
    
    Differential Revision: D51550621
    
    fbshipit-source-id: d169266474717f0a38799ede7c07af57461012b7
    RSNara authored and facebook-github-bot committed Nov 28, 2023
    Configuration menu
    Copy the full SHA
    00e7035 View commit details
    Browse the repository at this point in the history
  6. CxxReactPackage: Load So's during class loads (facebook#41674)

    Summary:
    Pull Request resolved: facebook#41674
    
    The problem: The Java runtime couldn't find CatalystCxxReactPackage.initHybrid.
    
    Why: I think is because CxxReactPackage loads CatalystCxxReactPackage's so in its constructor. This might be too late to load the derived class's so.
    
    So, I just switched derived delegates to load the so in the static initializer (i.e: the recomended approch for so loading):
    
    https://www.internalfb.com/code/fbsource/[91c4e41c49ed191ac864250ccaec52c01ddaeccc]/fbandroid/libraries/soloader/java/com/facebook/soloader/SoLoader.java?lines=52-54%2C60-61%2C63-67
    
    This way:
    1. The So's are loaded plenty early (the method not found error went away).
    2. We don't create our own so loading infra, which complicates this abstraction, and makes it harder to work with, even more.
    
    Changelog: [Internal]
    
    Reviewed By: javache
    
    Differential Revision: D51550622
    
    fbshipit-source-id: f4782d6fa9387f21fbf611191e9483e2a58b3a34
    RSNara authored and facebook-github-bot committed Nov 28, 2023
    Configuration menu
    Copy the full SHA
    4c1bdea View commit details
    Browse the repository at this point in the history
  7. Ensure C++ default tmmd can access the CxxReactPackage (facebook#41673)

    Summary:
    Pull Request resolved: facebook#41673
    
    ## The Problem
    The cxxReactPackage property isn't initialized by the time initHybrid was executed. So, initHybrid was being called with null as the cxxReactPackage.
    
    Why;
    1. The default turbomodule manager delegate receives cxxReactPackage as a constructor param.
    2. Java then executes all the constructors of the class hierarchy. This executes initHybrid.
    3. Java finally initializes the properties of the derived class: default tmmd.cxxReactPackage (i.e: the parameter to initHybrid). **This is too late**
    
    ## The Fix
    Refactor the code such that hybrid data creation doesn't depend on property initialization:
    1. Create a static initHybrid method in default tmmd.
    2. Call this static method with the cxxReactPackage, and assign the resultant HybridData to mHybridData (in tmmd).
    
    Changelog: [Internal]
    
    Reviewed By: javache
    
    Differential Revision: D51550623
    
    fbshipit-source-id: ed2b7587351cfca408cda3c8cef4dcf7547e5f1e
    RSNara authored and facebook-github-bot committed Nov 28, 2023
    Configuration menu
    Copy the full SHA
    129bd9d View commit details
    Browse the repository at this point in the history
  8. Move ActionSheet UI operation to main thread (facebook#41666)

    Summary:
    Fixes UI operation not on the main thread.
    ![image](https://github.com/facebook/react-native/assets/5061845/276f7e9c-dcf8-4ba1-af2d-c9fa990d41a1)
    
    ![image](https://github.com/facebook/react-native/assets/5061845/cfe85921-3cc9-4f32-b794-a6a8bc00ee1d)
    
    ## Changelog:
    
    [IOS] [FIXED] - Move ActionSheet UI operation to main thread
    
    Pull Request resolved: facebook#41666
    
    Test Plan: None.
    
    Reviewed By: philIip
    
    Differential Revision: D51613525
    
    Pulled By: cipolleschi
    
    fbshipit-source-id: e5f543bbcc9bc0f5b6dda5bc2deb20279e851946
    zhongwuzw authored and facebook-github-bot committed Nov 28, 2023
    Configuration menu
    Copy the full SHA
    aa9e824 View commit details
    Browse the repository at this point in the history

Commits on Nov 29, 2023

  1. Fix incorrect wrapping of refs in Image component (facebook#41679)

    Summary:
    Pull Request resolved: facebook#41679
    
    This fixes a bug in the original implementation of image attached callbacks (still experimental). The problem was that we were unconditionally caching the ref passed to the underlying image component, which meant that whenever users passed new ref setters we wouldn't call them again.
    
    This fixes that by forcing the creation of a new ref value whenever a new ref is passed to the image component.
    
    Changelog: [internal]
    
    Reviewed By: jehartzog
    
    Differential Revision: D51618512
    
    fbshipit-source-id: ac15160c528563c2131e8b3444dea4a6096f20bc
    rubennorte authored and facebook-github-bot committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    40c7736 View commit details
    Browse the repository at this point in the history
  2. Extend default tmmdelegate to support many cxxreactpackages (facebook…

    …#41680)
    
    Summary:
    Pull Request resolved: facebook#41680
    
    Just like how React Native can have n ReactPackages, it will support n CxxReactPackages.
    
    This way, many applications can share common CxxReactPackages.
    
    Changelog: [Internal]
    
    Reviewed By: christophpurrer
    
    Differential Revision: D51484844
    
    fbshipit-source-id: b9b70cab719e80a7ff7e635057d710f1a86fb1c9
    RSNara authored and facebook-github-bot committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    9e4fa20 View commit details
    Browse the repository at this point in the history
  3. Handle UTF8 in native exception message (facebook#41575)

    Summary:
    Pull Request resolved: facebook#41575
    
    We currently do not validate the incoming native exception message
    before passing it to the char* constructor of TwineChar16.
    
    Treat it as UTF-8 and convert it to UTF-16 before creating the
    JavaScript exception.
    
    Changelog: [Internal]
    
    Reviewed By: tmikov
    
    Differential Revision: D49551640
    
    fbshipit-source-id: 762f8038b29818d804bda5a7f3b4762621c94336
    neildhar authored and facebook-github-bot committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    02b9447 View commit details
    Browse the repository at this point in the history
  4. Adding getFabricUIManager() APIs to ReactContext (facebook#41506)

    Summary:
    Pull Request resolved: facebook#41506
    
    Adding APIs for `getFabricUIManager()` to ReactContext and it's subclasses. This will replace the `getJSIModule()` post JSI module deletion.
    
    Thereby replacing the callsite to context.getFabricUIManager() in UIManagerHelper.
    
    NOTE: This still has fallback to getJSIModule() in case the UIManagerProvider is not set
    
    Changelog:
    [Internal] internal
    
    Reviewed By: philIip
    
    Differential Revision: D50926218
    
    fbshipit-source-id: f311affb0f82895b254fd4664aa8ea23ab31bac0
    arushikesarwani94 authored and facebook-github-bot committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    2ddd9cd View commit details
    Browse the repository at this point in the history
  5. Explicitly default Fabric to position: "static" (facebook#41481)

    Summary:
    Pull Request resolved: facebook#41481
    
    This will allow us to keep RN on it's "pseudo-static" mode, while changing the Yoga default back to relative, to avoid breaking existing layouts.
    
    Changelog: [Internal]
    
    Reviewed By: sammy-SC
    
    Differential Revision: D51182861
    
    fbshipit-source-id: 25489d7f0642c4ff78340438c2b266e95a5fb207
    NickGerleman authored and facebook-github-bot committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    fa436b4 View commit details
    Browse the repository at this point in the history
  6. Change default back to position: "relative" (facebook#41480)

    Summary:
    Pull Request resolved: facebook#41480
    
    X-link: facebook/yoga#1469
    
    The previous version of static didn't do anything inside of Yoga. Now that we're making it do something, this changes the default back to relative so that users with no errata set don't see their deafult styles changing.
    
    Reviewed By: joevilches
    
    Differential Revision: D51182955
    
    fbshipit-source-id: c0ea357694e1367fb6786f1907dfff784b19a4bc
    NickGerleman authored and facebook-github-bot committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    88a55ba View commit details
    Browse the repository at this point in the history
  7. Fix warm start logging for ReactMarker (facebook#41693)

    Summary:
    Pull Request resolved: facebook#41693
    
    This diff fixes app warm start time. Before this change, we cache the first time when app start timing is logged, and ignore future loggings. Some apps are warm started and the startup time should be updated.
    
    Reviewed By: dmitry-voronkevich
    
    Differential Revision: D50481710
    
    fbshipit-source-id: 03e00b75ee7ac578209ae3478adabe567e92a950
    Xin Chen authored and facebook-github-bot committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    44109dc View commit details
    Browse the repository at this point in the history
  8. Ship "disableScrollEventThrottleRequirement" (facebook#41676)

    Summary:
    Pull Request resolved: facebook#41676
    
    This has been used in a significant amount of production for about 2 months, with no consistently statistically significant metric impact. Let's ship it.
    
    Note that we would not want to keep this change in a holdout if we remove the warning, since new usages could be added that relied on the behavior not in the holdout.
    
    It didn't seem worth the churn to make the same change to Paper, which leaves a question on how to handle the JS-side warning. Instead of jimmying in impl detection, I thought it might be more sane to remove the warning, though that also has a potential hit to Paper DevX.
    
    Changelog:
    [iOS][Changed] - `scrollEventThrottle` no longer needs to be set for continuous scroll events when using the new architecture.
    
    Reviewed By: javache
    
    Differential Revision: D51608970
    
    fbshipit-source-id: 193019de208f3088519e6f6333dbec4e6b45a1eb
    NickGerleman authored and facebook-github-bot committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    56b57e2 View commit details
    Browse the repository at this point in the history
  9. Refactor DefaultReactNativeHost to use the new way of Fabric initiali…

    …zation (facebook#41496)
    
    Summary:
    Pull Request resolved: facebook#41496
    
    Refactoring `DefaultReactNativeHost` to use the new way of Fabric initialization through `FabricUIManagerProviderImpl`
    
    Reviewed By: christophpurrer
    
    Differential Revision: D51224854
    
    fbshipit-source-id: 2af8021404365fa2adc9388f44bcc7c6301137dc
    arushikesarwani94 authored and facebook-github-bot committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    667d85b View commit details
    Browse the repository at this point in the history
  10. Make sure that third party libraries include Fabric code (facebook#41669

    )
    
    Summary:
    Pull Request resolved: facebook#41669
    
    In some previous changes ([a607692](facebook@a607692) and [6b53205](facebook@6b53205)) we make sure to always include all the pods (including Fabric) and we unify codegen to run in the same way on both architectures.
    While doing so, we enabled codegen to run on libraries tat already migrated to Fabric.
    These makes those libraries to fail when building as they were not including the Fabric code when the New Architecture is disabled.
    
    This change will make sue that the code is always included, thus the library should always build, and it also make sure that we can control the New/Old Architecture at build time.
    
    ## Changelog
    [iOS][Changed] - Make sure that libraries always include Fabric code also in the old architecture
    
    Reviewed By: dmytrorykun
    
    Differential Revision: D51617542
    
    fbshipit-source-id: 883d1e258c341feb0405ad389bb8af34d64b59b8
    cipolleschi authored and facebook-github-bot committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    4a35f25 View commit details
    Browse the repository at this point in the history
  11. Remove duplicated jobs in CircleCI (facebook#41698)

    Summary:
    Pull Request resolved: facebook#41698
    
    With the previous changes on the Pod configuration, the build setup for the New and Old architecture are the same.
    The only observable difference happens at runtime.
    
    This change:
    1. Removes the build job that are split by architecture (which is now duplicated work)
    2. Add two more test jobs to run runtime tests (unit and integration test) to make sure that the two architectures continue working.
    
    ## Changelog:
    [Internal] - [CI] Remove duplicated build jobs, add tests jobs
    
    Reviewed By: cortinico
    
    Differential Revision: D51659275
    
    fbshipit-source-id: 769c9ee004e7f4f1a7444f39c02b7083e007b780
    cipolleschi authored and facebook-github-bot committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    dc95568 View commit details
    Browse the repository at this point in the history
  12. Fix android root view group removal during instance re-creation (face…

    …book#41678)
    
    Summary:
    This is my proposed solution to facebook#41677.
    
    Fixes facebook#41677.
    
    ## Changelog:
    
    [ANDROID] [FIXED] - Fix android root view group removal during instance re-creation
    
    Pull Request resolved: facebook#41678
    
    Test Plan:
    Both with fabric enabled and disabled (new architecture):
    
    1. Clone repro repo: https://github.com/wschurman/rn-reload-repro
    2. Build and run on android (I use android studio)
    3. Click reload button, see timestamp doesn't change (indicating that the view is not removed)
    4. Apply this PR as a patch.
    5. Re-build and run.
    6. Click reload button, see view is correctly disposed of and the new view is set.
    
    Reviewed By: cortinico
    
    Differential Revision: D51658524
    
    Pulled By: javache
    
    fbshipit-source-id: d9a026cde677ad1ec113230bc31bd9297bca8bfc
    wschurman authored and facebook-github-bot committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    bb075d7 View commit details
    Browse the repository at this point in the history
  13. feat: allow OOT platforms to use custom resolver.resolveRequest (face…

    …book#41697)
    
    Summary:
    Currently, when we have an additional platform in `react-native.config.js`, users cannot use custom `resolver.resolveRequest` functions as they are overwritten by `reactNativePlatformResolver`. Goal of this PR is to allow OOT platforms to use additional custom resolvers besides remapping react native imports.
    
    ## Changelog:
    
    [GENERAL] [FIXED] - Allow Out Of Tree platforms to pass custom resolvers
    
    Pull Request resolved: facebook#41697
    
    Test Plan:
    1. Add additional platform in `react-native.config.js`
    2. Pass custom resolver to `metro.config.js`:
    
    ```js
    resolveRequest: (context, moduleName, platform) => {
          console.log('resolveRequest', moduleName, platform);
          return context.resolveRequest(context, moduleName, platform);
     }
    ```
    3. Check if user's `resolveRequest` function is called.
    
    Reviewed By: huntie
    
    Differential Revision: D51659721
    
    Pulled By: robhogan
    
    fbshipit-source-id: 952589b59a6fa34e9406d36c900be53a7c1a79c3
    okwasniewski authored and facebook-github-bot committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    4ccd6e1 View commit details
    Browse the repository at this point in the history
  14. (refactor): kotlinify layout property applicator test (facebook#41649)

    Summary:
    This PR converts to kotlin the java code for LayoutPropertyApplicatorTest, as requested in: facebook#38825
    
    ## Changelog:
    
    [INTERNAL][CHANGED]: Convert LayoutPropertyApplicatorTest to Kotlin
    
    Pull Request resolved: facebook#41649
    
    Test Plan: `./gradlew :packages:react-native:ReactAndroid:test `
    
    Reviewed By: rshest
    
    Differential Revision: D51614921
    
    Pulled By: cortinico
    
    fbshipit-source-id: 06ee403a496f34afc9abeabc0c406391e316538a
    MCanhisares authored and facebook-github-bot committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    3654089 View commit details
    Browse the repository at this point in the history
  15. Add CircleCI readme (facebook#41706)

    Summary:
    Pull Request resolved: facebook#41706
    
    This change introduces a ReadME in the CircleCI folder.
    This can be used as documentation to learn more about our CircleCI setup and will also help GitHub employees in executing the migration.
    
    ## Changelog:
    [Internal] - Add CircleCI documentation
    
    Reviewed By: cortinico
    
    Differential Revision: D51665453
    
    fbshipit-source-id: f61325ed26572c4a8d4a68db1cca5934d3d968fb
    cipolleschi authored and facebook-github-bot committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    f1df4ce View commit details
    Browse the repository at this point in the history
  16. Stop logging CREATE_I18N_ASSETS_MODULE events (facebook#41703)

    Summary:
    Pull Request resolved: facebook#41703
    
    TSIA
    
    Changelog: [Internal]
    
    Reviewed By: javache
    
    Differential Revision: D51661861
    
    fbshipit-source-id: 6fd5e253d9113f6acf7f4fe889f35f9aa580797e
    motiz88 authored and facebook-github-bot committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    5476121 View commit details
    Browse the repository at this point in the history
  17. Fix broken RN Tester custom ViewManager (facebook#41708)

    Summary:
    Pull Request resolved: facebook#41708
    
    RN-Tester is currently instacrashing due to a method accepting a `Float?` rather than a `Float`.
    `Float` from Kotlin gets converted to Java's `float`, while `Float?` gets converted to the boxed type, which is not recognized by the framework and is making the app crash.
    
    On top of this, the implementation of `setColor` was wrong as we don't properly handle the null case. Fixing it here as well.
    
    Changelog:
    [Internal] [Changed] - Fix broken RN Tester custom ViewManager
    
    Reviewed By: NickGerleman
    
    Differential Revision: D51667346
    
    fbshipit-source-id: b7498a520936f81a0524ba53dc7230ad7ef57bf8
    cortinico authored and facebook-github-bot committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    bae5238 View commit details
    Browse the repository at this point in the history
  18. CxxReactPackage: Make initHybrid static (facebook#41681)

    Summary:
    Pull Request resolved: facebook#41681
    
    ## Rationale
    
    Make initHybrid static. So that the derived class can initialize the C++ part with constructor arguments.
    
    **Note:** This diff just applies the fix from D51550623. into CxxReactPackage.
    
    Changelog: [Internal]
    
    Reviewed By: christophpurrer
    
    Differential Revision: D51642219
    
    fbshipit-source-id: 095e452e03848379288af960969789aa5e9c0542
    RSNara authored and facebook-github-bot committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    c0375b8 View commit details
    Browse the repository at this point in the history
  19. Converge iOS oldarch scrollEventThrottle behavior (facebook#41695)

    Summary:
    Pull Request resolved: facebook#41695
    
    When I went to update documentation, I kinda internalized how inconsistent the API is if we don't change iOS Paper.
    
    The potential for breaks is if an iOS-specific component ignores a warning, and uses `onScroll` without `scrollEventThrottle`, then relies on `onScroll` only being called once.
    
    It didn't seem like we hit this scenario in practice when migrating Fabric ComponentView behavior, and components will need to support it in new arch anyway, so this change takes the less conservative option of unifying the behavior everywhere.
    
    Changelog:
    [iOS][Changed] - scrollEventThrottle no longer needs to be set for continuous scroll events
    
    Reviewed By: cipolleschi
    
    Differential Revision: D51647202
    
    fbshipit-source-id: e2a57f3501b9096e4033cb198bbc214d53e9913c
    NickGerleman authored and facebook-github-bot committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    10b3e0e View commit details
    Browse the repository at this point in the history
  20. Small refactor of image attached callbacks logic (facebook#41701)

    Summary:
    Pull Request resolved: facebook#41701
    
    I did a hotfix for this logic in D51618512. This does a small refactor to improve the code (moving more shared code to the hook and avoiding creating a closure unnecessarily in every call to it).
    
    Changelog: [internal]
    
    Reviewed By: javache
    
    Differential Revision: D51660288
    
    fbshipit-source-id: 472836840b19958402bd0de3e2c09c7cec004156
    rubennorte authored and facebook-github-bot committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    c120ccb View commit details
    Browse the repository at this point in the history
  21. Fix type definition of useMergeRefs (facebook#41700)

    Summary:
    Pull Request resolved: facebook#41700
    
    The type definition of `useMergeRefs` is incorrect, which forces all callsites to use `$FlowFixMe`. This fixes the definition and removes all the `$FlowFixMe`s caused by it.
    
    Changelog: [internal]
    
    Reviewed By: javache
    
    Differential Revision: D51660716
    
    fbshipit-source-id: 4d4d3a72bdca8c409fd1dda59cc2c94113b024bb
    rubennorte authored and facebook-github-bot committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    56291fa View commit details
    Browse the repository at this point in the history
  22. Revert D51224854: Refactor DefaultReactNativeHost to use the new way …

    …of Fabric initialization
    
    Differential Revision:
    D51224854
    
    Original commit changeset: 2af802140436
    
    Original Phabricator Diff: D51224854
    
    fbshipit-source-id: 039337be7057c9625d4a6e53520a18cd5071813e
    arushikesarwani94 authored and facebook-github-bot committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    93be030 View commit details
    Browse the repository at this point in the history
  23. Revert D50926218: Adding getFabricUIManager() APIs to ReactContext

    Differential Revision:
    D50926218
    
    Original commit changeset: f311affb0f82
    
    Original Phabricator Diff: D50926218
    
    fbshipit-source-id: 313fd5aff1314860994487d1f4d17d2a2d5fe8c1
    arushikesarwani94 authored and facebook-github-bot committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    c8db60c View commit details
    Browse the repository at this point in the history

Commits on Nov 30, 2023

  1. Enable new lifecycle hooks by default everywhere (facebook#41709)

    Summary:
    Pull Request resolved: facebook#41709
    
    We shipped these new create()/reload()/destroy() methods to the Facebook app:
    - Part 1: D50802718
    - Part 2: D50803283
    
    This diff just enables them everywhere, by default.
    
    Created from CodeHub with https://fburl.com/edit-in-codehub
    
    Changelog: [Internal]
    
    Reviewed By: cortinico
    
    Differential Revision: D51590843
    
    fbshipit-source-id: 02abeea78b7b7b844552989ad58d0a2f048424ad
    RSNara authored and facebook-github-bot committed Nov 30, 2023
    Configuration menu
    Copy the full SHA
    ee31ec9 View commit details
    Browse the repository at this point in the history
  2. Set up gating for position: relative as default (facebook#41711)

    Summary:
    Pull Request resolved: facebook#41711
    
    We want the default position to be relative for a number of reasons. This should be fine for the most part but putting a killswitch around this change just in case things blow up.
    
    Changelog: [Internal]
    
    Reviewed By: NickGerleman
    
    Differential Revision: D51643446
    
    fbshipit-source-id: 4f7d1e498eb663801ef6d88ba9cd9b64c781d66b
    joevilches authored and facebook-github-bot committed Nov 30, 2023
    Configuration menu
    Copy the full SHA
    05ed007 View commit details
    Browse the repository at this point in the history
  3. Fix Binding JNI type (facebook#41657)

    Summary:
    New implementation:
    This PR adds cast from interface Binding to BindingImpl class.
    
    Previous implementation:
    The changes made in this PR make the `mBinding` field of `FabricUIManager` visible for JNI.
    
    Without these changes, calling the method `JFabricUIManager::getBinding()` would result in an error.
    
    <img width="400" alt="Screenshot 2023-11-27 at 13 55 44" src="https://github.com/facebook/react-native/assets/36106620/04418291-8ce8-4bae-b16c-29a5c9f2ee52">
    
    In the `react-native-reanimated` library, we utilize `JFabricUIManager::getBinding()`, and we have noticed this issue since version 0.73. This isn't perfect solution, but I'm not certain which change in RN or FBJNI is the source of the problem. If there are any alternative solutions worth considering, I am open to discussing them.
    
    Usage of `getBinding()` in Reanimated:
    https://github.com/software-mansion/react-native-reanimated/blob/main/android/src/main/cpp/NativeProxy.cpp#L57
    
    ## Changelog:
    
    [ANDROID] [FIXED] - Fix type for unrecognisable field mBinding
    
    Pull Request resolved: facebook#41657
    
    Test Plan:
    Just call `JFabricUIManager::getBinding` method (https://github.com/facebook/react-native/blob/v0.73.0-rc.5/packages/react-native/ReactAndroid/src/main/jni/react/fabric/JFabricUIManager.cpp#L14)
    
    or run app with repro:
    https://github.com/piaskowyk/missing-mBinding-repro
    after the app lunch you will receive error from above screenshot.
    
    Co-author: tomekzaw
    
    Reviewed By: NickGerleman
    
    Differential Revision: D51661873
    
    Pulled By: javache
    
    fbshipit-source-id: 1891c36bf25c503ebc9b0501211df03be6f74115
    piaskowyk authored and facebook-github-bot committed Nov 30, 2023
    Configuration menu
    Copy the full SHA
    31d8a93 View commit details
    Browse the repository at this point in the history
  4. Clarify threading of OnViewAttach mount items (facebook#41704)

    Summary:
    Pull Request resolved: facebook#41704
    
    `mOnViewAttachItems` was set to be be concurrent, but this would be unexpected, as all mount item operations occur solely on the main thread.
    
    Simplify this to be just a LinkedList and annotate the methods as being UI thread only.
    
    Changelog: [Internal]
    
    Reviewed By: NickGerleman
    
    Differential Revision: D51662154
    
    fbshipit-source-id: 9fe5784bce8a38d1339b5e3675791414676b6f4d
    javache authored and facebook-github-bot committed Nov 30, 2023
    Configuration menu
    Copy the full SHA
    424ac63 View commit details
    Browse the repository at this point in the history
  5. Fix ReactInstanceManager leak (facebook#41719)

    Summary:
    Pull Request resolved: facebook#41719
    
    We leak ReactInstanceManager into a static singleton in `ReactCxxErrorHandler.setHandleErrorFunc`. Clean it up in `destroy()`.
    
    Changelog: [Internal]
    
    Reviewed By: cortinico
    
    Differential Revision: D51706624
    
    fbshipit-source-id: 642825ba14ff0a9710b4435f5fb6026b3a81b711
    javache authored and facebook-github-bot committed Nov 30, 2023
    Configuration menu
    Copy the full SHA
    b41937e View commit details
    Browse the repository at this point in the history
  6. Add JSI method for setting external memory size (facebook#41436)

    Summary:
    Pull Request resolved: facebook#41436
    
    Add a JSI API for associating some native memory with a JS object. This
    is intended to provide a mechanism to trigger more frequent garbage
    collection when JS retains large external memory allocations, in order
    to avoid memory buildup.
    
    This diff just adds the JSI method, without any implementations.
    
    Changelog:
    [General][Added] - Added JSI method for reporting native memory to the GC.
    
    Reviewed By: tmikov
    
    Differential Revision: D50524912
    
    fbshipit-source-id: c8df0e18b0415d9523e0a00f6d0ed2faa648ac68
    neildhar authored and facebook-github-bot committed Nov 30, 2023
    Configuration menu
    Copy the full SHA
    cfe129c View commit details
    Browse the repository at this point in the history
  7. Update hermes-parser and related packages in fbsource to 0.18.0 (face…

    …book#41689)
    
    Summary:
    Pull Request resolved: facebook#41689
    
    Bump hermes-parser and related packages to 0.18.0.
    
    Changelog: [internal]
    
    Reviewed By: SamChou19815
    
    Differential Revision: D51642821
    
    fbshipit-source-id: b7abde7d3e0de195c18a5cb18d4cdd0a1d435127
    Alex Taylor (alta) authored and facebook-github-bot committed Nov 30, 2023
    Configuration menu
    Copy the full SHA
    c98fa9c View commit details
    Browse the repository at this point in the history
  8. Deploy 0.223.0 to fbsource (facebook#41725)

    Summary: Pull Request resolved: facebook#41725
    
    Reviewed By: SamChou19815
    
    Differential Revision: D51713020
    
    fbshipit-source-id: 84dc8c882f7603d642cb4ccb735fad0fb7e25d4d
    pieterv authored and facebook-github-bot committed Nov 30, 2023
    Configuration menu
    Copy the full SHA
    ede35df View commit details
    Browse the repository at this point in the history
  9. Remove unneeded const_cast (facebook#41712)

    Summary:
    Pull Request resolved: facebook#41712
    
    I fixed the const correctness of YGConfigGetErrata a while back when fixing up other YGConfig accessors.
    
    Changelog: [Internal]
    
    Reviewed By: christophpurrer
    
    Differential Revision: D51689323
    
    fbshipit-source-id: 1af3deb44ec03a8a65643fa1496c534ac8f6d057
    NickGerleman authored and facebook-github-bot committed Nov 30, 2023
    Configuration menu
    Copy the full SHA
    7e5f15b View commit details
    Browse the repository at this point in the history

Commits on Dec 1, 2023

  1. Change comment on Yoga measure modes in RN (facebook#41732)

    Summary:
    Pull Request resolved: facebook#41732
    
    Was reading the code in this file and noticed that this comment is no longer true after D51068417 (facebook/yoga#1460). Updated the comment to reflect the current state of things
    
    Changelog: [Internal]
    
    Reviewed By: NickGerleman
    
    Differential Revision: D51730986
    
    fbshipit-source-id: beaa5de9576d86e56def35f6e970376c7be8f7ee
    joevilches authored and facebook-github-bot committed Dec 1, 2023
    Configuration menu
    Copy the full SHA
    89ec746 View commit details
    Browse the repository at this point in the history
  2. Replace $Call in babel-traverse libdef with conditional type (faceboo…

    …k#41736)
    
    Summary:
    Pull Request resolved: facebook#41736
    
    Changelog: [Internal]
    
    Reviewed By: gkz
    
    Differential Revision: D51735062
    
    fbshipit-source-id: 942264cdc9f71e4aaa6f730d68f5a2a6e2fc7493
    SamChou19815 authored and facebook-github-bot committed Dec 1, 2023
    Configuration menu
    Copy the full SHA
    cd9b1d9 View commit details
    Browse the repository at this point in the history
  3. Adding getFabricUIManager() APIs to ReactContext (facebook#41728)

    Summary:
    Pull Request resolved: facebook#41728
    
    Adding APIs for `getFabricUIManager()` to ReactContext and it's subclasses. This will replace the `getJSIModule()` post JSI module deletion.
    
    Reviewed By: philIip
    
    Differential Revision: D51718430
    
    fbshipit-source-id: c897ab0ee9e755e3fdb3d1e5629177818870f293
    arushikesarwani94 authored and facebook-github-bot committed Dec 1, 2023
    Configuration menu
    Copy the full SHA
    f941f93 View commit details
    Browse the repository at this point in the history
  4. Fix typo in circleci config (facebook#41727)

    Summary:
    This PR fixes typo in CircleCI config
    
    ## 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
    -->
    
    [INTERNAL] [FIXED] - Typo in circleci config
    
    Pull Request resolved: facebook#41727
    
    Test Plan: CI Green
    
    Reviewed By: cipolleschi
    
    Differential Revision: D51748329
    
    Pulled By: cortinico
    
    fbshipit-source-id: 99f54c5b9ec4113205642076c010b748ab6229f6
    okwasniewski authored and facebook-github-bot committed Dec 1, 2023
    Configuration menu
    Copy the full SHA
    847f5de View commit details
    Browse the repository at this point in the history
  5. Schedule CatalystInstanceImpl destruction using new thread (facebook#…

    …41720)
    
    Summary:
    Pull Request resolved: facebook#41720
    
    We currently go via the UI thread, so we can use AsyncTask to schedule the final bit of async ReactContext destruction. This is a requirement for the AsyncTask API, which is also deprecated. We should figure out a better way to schedule and re-use threads across React Native Android, but until then, we can just create a new Thread here, which is also what we do for instance creation.
    
    Changelog: [Internal]
    
    Reviewed By: NickGerleman
    
    Differential Revision: D51706689
    
    fbshipit-source-id: cf17e20e91b195b956b1701e6d91d563fdba4d15
    javache authored and facebook-github-bot committed Dec 1, 2023
    Configuration menu
    Copy the full SHA
    dbf0984 View commit details
    Browse the repository at this point in the history
  6. Add NDEBUG flag for Release builds for both architectures (facebook…

    …#41715)
    
    Summary:
    Currently React Native defines `NDEBUG` flag for all pods in Fabric only. This is useful for other libraries, like Reanimated, because they have no easy way of defining their compilation flags (at least none that I know of). Therefore defining `NDEBUG` for both architectures would be beneficial.
    
    ## Changelog:
    
    Pick one each for the category and type tags:
    
    [IOS] [CHANGED] - Add `NDEBUG` flag for Release builds for both architectures
    
    Pull Request resolved: facebook#41715
    
    Test Plan:
    Run ruby test suite.
    
    ## Notes
    
    For the time being I just copied
    `prepare_pod_target_installation_results_mock`
    and
    `def prepare_installer_for_cpp_flags`
    to `utils-test.rb` since I wasn't sure how to handle the installer mock.
    
    Reviewed By: cortinico
    
    Differential Revision: D51708382
    
    Pulled By: cipolleschi
    
    fbshipit-source-id: ff206f8fc151934dbae89aacd1bc69c57b4f28ee
    tjzel authored and facebook-github-bot committed Dec 1, 2023
    Configuration menu
    Copy the full SHA
    1a0e174 View commit details
    Browse the repository at this point in the history
  7. Gradle to 8.5 (facebook#41748)

    Summary:
    Pull Request resolved: facebook#41748
    
    Bumping to the latest stable of Gradle
    
    Changelog:
    [Internal] [Changed] - Gradle to 8.5
    
    Reviewed By: cipolleschi
    
    Differential Revision: D51749139
    
    fbshipit-source-id: 2ee0f9a6c910dd5221f7f63c0c599d4ab181e10a
    cortinico authored and facebook-github-bot committed Dec 1, 2023
    Configuration menu
    Copy the full SHA
    0e9c93c View commit details
    Browse the repository at this point in the history
  8. AGP to 8.2.0 (facebook#41747)

    Summary:
    Pull Request resolved: facebook#41747
    
    Let's update AGP to the latest minor
    
    Changelog:
    [Internal] [Changed] - AGP to 8.2.0
    
    Reviewed By: cipolleschi
    
    Differential Revision: D51749138
    
    fbshipit-source-id: fe473b6d1613b73e60e65848c20098e3f77d3a61
    cortinico authored and facebook-github-bot committed Dec 1, 2023
    Configuration menu
    Copy the full SHA
    a3f238a View commit details
    Browse the repository at this point in the history
  9. Using UIManagerProvider instead of JSIModule in UIManagerHelper (face…

    …book#41738)
    
    Summary:
    Pull Request resolved: facebook#41738
    
    Replacing the callsite to `context.getFabricUIManager()` in UIManagerHelper instead of `getJSIModule()`
    
    Fixing the crash by directly making `getFabricUIManager()` of `ReactContext` independent of the assertion.
    
    Reviewed By: philIip
    
    Differential Revision: D51719040
    
    fbshipit-source-id: f9118b16614724a1d6dabe59d5c4d25dd4bdbc73
    arushikesarwani94 authored and facebook-github-bot committed Dec 1, 2023
    Configuration menu
    Copy the full SHA
    75019c8 View commit details
    Browse the repository at this point in the history
  10. feat: improve e2e local testing script (facebook#41751)

    Summary:
    iOS?ios?android?Android?
    Always making typos when using the local testing script with the platform argument... No more!
    
    ## Changelog:
    
    [INTERNAL][ADDED] - Improved E2E local testing script to be more flexible
    
    Pull Request resolved: facebook#41751
    
    Reviewed By: cortinico
    
    Differential Revision: D51758529
    
    Pulled By: huntie
    
    fbshipit-source-id: d9e633567a59fcfac1057cf1f21714ccef27ebb2
    Titozzz authored and facebook-github-bot committed Dec 1, 2023
    Configuration menu
    Copy the full SHA
    84b0027 View commit details
    Browse the repository at this point in the history
  11. react-native: Platformize android|ios textinput (facebook#41600)

    Summary:
    Pull Request resolved: facebook#41600
    
    Changelog: [Internal]
    
    Reviewed By: cipolleschi
    
    Differential Revision: D51515743
    
    fbshipit-source-id: 156d9119d84d82f31b62b89b1916365547ce0afe
    christophpurrer authored and facebook-github-bot committed Dec 1, 2023
    Configuration menu
    Copy the full SHA
    288708f View commit details
    Browse the repository at this point in the history
  12. Refactor DefaultReactNativeHost to use the new way of Fabric initiali…

    …zation (facebook#41739)
    
    Summary:
    Pull Request resolved: facebook#41739
    
    Refactoring `DefaultReactNativeHost` to use the new way of Fabric initialization through `FabricUIManagerProviderImpl`
    
    Reviewed By: philIip
    
    Differential Revision: D51719555
    
    fbshipit-source-id: bad471a8a273accecb0641ccaa77223534cd45fd
    arushikesarwani94 authored and facebook-github-bot committed Dec 1, 2023
    Configuration menu
    Copy the full SHA
    c30f2b6 View commit details
    Browse the repository at this point in the history
  13. Deploy 0.223.2 to xplat

    Summary: Changelog: [Internal]
    
    Reviewed By: pieterv
    
    Differential Revision: D51768863
    
    fbshipit-source-id: 716add02d82cdfa56f2d3fc4d4560fcb26e8f426
    SamChou19815 authored and facebook-github-bot committed Dec 1, 2023
    Configuration menu
    Copy the full SHA
    448e6b8 View commit details
    Browse the repository at this point in the history
  14. Change strict layout conformance to not use the new static changes (f…

    …acebook#41733)
    
    Summary:
    Pull Request resolved: facebook#41733
    
    I am currently implementing position: static in Yoga. I have a huge stack of changes that is ready to ship but we are waiting on the default position type to be relative before shipping. The reason being, my changes will affect a whole ton of styles where there is no position set so if we can make static no longer the default we can safely ship this new code. However, this will take a while and keeping up with this stack of diffs though merge conflicts, flakey tests, and general slowness for my IDE is getting annoying. So a solution here is to ship that stack and make it so that no one gets this functionality by changing the strict layout conformance to include the errata that is gating my changes. The end result being that the code can be shipped but will have no affect at the time being.
    
    Right now, because that code is in a different branch and not on prod, this change will do nothing.
    
    Changelog: [Internal]
    
    Reviewed By: javache
    
    Differential Revision: D51731778
    
    fbshipit-source-id: f0b7fd8559adb19e1658b3ac64fcfc4c5f8ecdf7
    joevilches authored and facebook-github-bot committed Dec 1, 2023
    Configuration menu
    Copy the full SHA
    01c627e View commit details
    Browse the repository at this point in the history

Commits on Dec 2, 2023

  1. Fixing Bridgeless Exception caused by the UIManager changes

    Summary:
    Forward-fixing the crash in Bridgeless mode caused by UIManagerProvider changes to replace JSI Module
    
    bypass-github-export-checks
    
    Reviewed By: philIip
    
    Differential Revision: D51778494
    
    fbshipit-source-id: f1837d7b164051e326e1227c432e493bad16cd51
    arushikesarwani94 authored and facebook-github-bot committed Dec 2, 2023
    Configuration menu
    Copy the full SHA
    5e406cc View commit details
    Browse the repository at this point in the history
  2. Fix typos in ReactCompoundViewGroup comments (facebook#41729)

    Summary:
    Was stepping with debugger through the code & noticed few typos.
    
    ## 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
    -->
    [ANDROID] [FIXED] - Typos in `ReactCompoundViewGroup` comments
    
    Pull Request resolved: facebook#41729
    
    Test Plan: Typos in docs
    
    Reviewed By: cortinico
    
    Differential Revision: D51753447
    
    Pulled By: arushikesarwani94
    
    fbshipit-source-id: b373d67ca8b6c9f22d80ea1ccee98ecc5151b325
    kkafar authored and facebook-github-bot committed Dec 2, 2023
    Configuration menu
    Copy the full SHA
    3854735 View commit details
    Browse the repository at this point in the history

Commits on Dec 4, 2023

  1. Add GraphNode example for Cxx TMs (facebook#41766)

    Summary:
    Pull Request resolved: facebook#41766
    
    Changelog: [Internal]
    
    Adds a simple example showing a recursive node, stored inside a collection in a Cxx TM.
    
    Currently we can't auto-generate [the necessary C++ Types](https://reactnative.dev/docs/next/the-new-architecture/cxx-custom-types#struct-generator) - but we can add it later if this scenarios becomes really common.
    
    Reviewed By: rshest
    
    Differential Revision: D51783974
    
    fbshipit-source-id: 7352db1a354cd7da32febc650f7cc5e10dd16d2d
    christophpurrer authored and facebook-github-bot committed Dec 4, 2023
    Configuration menu
    Copy the full SHA
    5754b4a View commit details
    Browse the repository at this point in the history
  2. Add a BinaryTreeNode example for Cxx TMs (facebook#41767)

    Summary:
    Pull Request resolved: facebook#41767
    
    Changelog: [Internal]
    
    Adds a simple example showing a direct recursive node in a Cxx TM.
    
    Currently we can't auto-generate [the necessary C++ Types](https://reactnative.dev/docs/next/the-new-architecture/cxx-custom-types#struct-generator) - but we can add it later if this scenarios becomes really common.
    
    Direct recursive nodes, can't be value types - it would require infinite memory. Hence they are nullable and managed by a smart pointer.
    
    Reviewed By: rshest
    
    Differential Revision: D51784136
    
    fbshipit-source-id: f6f0710d03583bdf1e6e72ba42d8df7f8ff8d915
    christophpurrer authored and facebook-github-bot committed Dec 4, 2023
    Configuration menu
    Copy the full SHA
    ead73de View commit details
    Browse the repository at this point in the history
  3. fix: add verdaccio generated files to .gitignore (facebook#41783)

    Summary:
    When working with Verdaccio (testing the template, releasing packages) - I've stumbled upon a lot of changes in the repo:
    
    ![CleanShot 2023-12-04 at 13 14 12@2x](https://github.com/facebook/react-native/assets/52801365/74ce53a2-b885-41f4-9a12-968a8577285e)
    
    ## Changelog:
    
    [INTERNAL] [ADDED] - Add verdaccio generated files to .gitignore
    
    Pull Request resolved: facebook#41783
    
    Test Plan: CI Green
    
    Reviewed By: christophpurrer
    
    Differential Revision: D51808583
    
    Pulled By: huntie
    
    fbshipit-source-id: fec2a13883590d0c6af179c3804fba9d4235dde2
    okwasniewski authored and facebook-github-bot committed Dec 4, 2023
    Configuration menu
    Copy the full SHA
    09b110f View commit details
    Browse the repository at this point in the history
  4. Add logic to generate recursive TM members (facebook#41768)

    Summary:
    Pull Request resolved: facebook#41768
    
    Changelog: [Internal]
    
    Reviewed By: rshest
    
    Differential Revision: D51572375
    
    fbshipit-source-id: e4ce0726c457ea02a7710ea1d21bbd697e35848a
    christophpurrer authored and facebook-github-bot committed Dec 4, 2023
    Configuration menu
    Copy the full SHA
    749b8dd View commit details
    Browse the repository at this point in the history
  5. Stabilize View-backface-visibility-e2e.js (facebook#41785)

    Summary:
    Pull Request resolved: facebook#41785
    
    Changelog: [Internal] modify backface visibility e2e test to comfortably fit within user viewport
    
    Reviewed By: makovkastar
    
    Differential Revision: D51806469
    
    fbshipit-source-id: a8a8a1426a154b452c29df07561b7302f3150bd1
    GijsWeterings authored and facebook-github-bot committed Dec 4, 2023
    Configuration menu
    Copy the full SHA
    e5df45c View commit details
    Browse the repository at this point in the history
  6. Remove flow exact object syntax {| brace pipe |} from TM example (fac…

    …ebook#41779)
    
    Summary:
    Pull Request resolved: facebook#41779
    
    Changelog: [Internal]
    
    `exact_by_default` (https://flow.org/en/docs/types/objects/#exact-and-inexact-object-types) is turned on - https://github.com/facebook/react-native/blob/main/.flowconfig#L40 - so we don't need these extra `|`.
    
    Reviewed By: rshest
    
    Differential Revision: D51803601
    
    fbshipit-source-id: bef3699333471948330c4ae541e7a7023a7b1485
    christophpurrer authored and facebook-github-bot committed Dec 4, 2023
    Configuration menu
    Copy the full SHA
    a481ae7 View commit details
    Browse the repository at this point in the history
  7. Integrate binary-compatibility-validator into RN Android build system

    Summary:
    In this diff I'm integrating 'org.jetbrains.kotlinx.binary-compatibility-validator' into RN Android build gradle system.
    
    The tool allows dumping binary API of a JVM part of a Kotlin library that is public in the sense of Kotlin visibilities and ensures that the public binary API wasn't changed in a way that makes this change binary incompatible
    
    More context on https://github.com/Kotlin/binary-compatibility-validator#building-the-project-locally
    
    bypass-github-export-checks
    
    Reviewed By: cortinico
    
    Differential Revision: D51262577
    
    fbshipit-source-id: 1894f4e55a4019e3ce1585e9df12dee69944e5ce
    mdvacca authored and facebook-github-bot committed Dec 4, 2023
    Configuration menu
    Copy the full SHA
    e9b8097 View commit details
    Browse the repository at this point in the history
  8. feat[ReactFabricPrivateInterface]: add getInternalInstanceHandleFromP…

    …ublicInstance (facebook#41786)
    
    Summary:
    Pull Request resolved: facebook#41786
    
    Changelog: [Internal]
    
    This is the preprequisite for facebook/react#27783
    
    Reviewed By: rubennorte
    
    Differential Revision: D51808831
    
    fbshipit-source-id: c8ddf67d7ad35a670fa462c246dcb7230ba47716
    hoxyq authored and facebook-github-bot committed Dec 4, 2023
    Configuration menu
    Copy the full SHA
    cd395b5 View commit details
    Browse the repository at this point in the history
  9. Update GenerateModuleH fixture (facebook#41780)

    Summary:
    Pull Request resolved: facebook#41780
    
    This updates our test fixture with more concrete examples from:
    https://github.com/facebook/react-native/blob/main/packages/rn-tester/NativeCxxModuleExample/NativeCxxModuleExample.js
    
    Changelog: [Internal]
    
    Reviewed By: rshest
    
    Differential Revision: D51804559
    
    fbshipit-source-id: 3290bc5447e0b47551ad73f5b041e332443e71c6
    christophpurrer authored and facebook-github-bot committed Dec 4, 2023
    Configuration menu
    Copy the full SHA
    974e584 View commit details
    Browse the repository at this point in the history

Commits on Dec 5, 2023

  1. Use C++17 namespace (facebook#41771)

    Summary:
    Pull Request resolved: facebook#41771
    
    Changelog: [Internal]
    
    Since we are already enforcing C++20 (and 17), we can set the namespace declaration to the C++17 style
    
    Reviewed By: NickGerleman
    
    Differential Revision: D51789991
    
    fbshipit-source-id: 165d7d4e652d60ab200e2355e084010a02f470a4
    christophpurrer authored and facebook-github-bot committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    b101dd0 View commit details
    Browse the repository at this point in the history
  2. Insets no longer apply to statically positioned nodes (facebook#41369)

    Summary:
    X-link: facebook/yoga#1454
    
    Pull Request resolved: facebook#41369
    
    One of the most basic aspects of statically positioned nodes is that [insets do not apply to them](https://developer.mozilla.org/en-US/docs/Web/CSS/position#static). So I put a guard inside `Node::relativePosition` where we take that into account when setting the position.
    
    Reviewed By: NickGerleman
    
    Differential Revision: D50507808
    
    fbshipit-source-id: 7aab4138b06e60936db0ddb6019a9a30f1ded2db
    joevilches authored and facebook-github-bot committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    e48da2a View commit details
    Browse the repository at this point in the history
  3. Let containing blocks layout their absolute descendants, not parents (f…

    …acebook#41488)
    
    Summary:
    Pull Request resolved: facebook#41488
    
    X-link: facebook/yoga#1470
    
    The way we plan on implementing `position: static` is by changing how we lay out absolutely positioned nodes. Instead of letting their direct parent lay them out we are going to let their containing block handle it. This is useful because by the time the containing block gets to this step it will already know its size, which is needed to ensure that absolute nodes can get the right value with percentage units. Additionally, it means that we can "translate" the position of the absolute nodes to be relative to their parent fairly easily, instead of some second pass that would not be possible with a different design.
    
    This change just gets the core pieces of this process going. It makes it so that containing blocks will layout out absolute descendants that they contain. We also pass in the containing block size to the owner size args for `layoutAbsoluteChild`. This new path will only happen if we have the errata turned off. If there is no positioned ancestor for a given node we just assume the root is. This is not exactly how it works on the web - there is a notion of an initial containing block - but we are not implementing that as of right now.
    
    Reviewed By: NickGerleman
    
    Differential Revision: D51182593
    
    fbshipit-source-id: 88b5730f7f4fec4f33ec64288618e23363091857
    joevilches authored and facebook-github-bot committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    33d6a59 View commit details
    Browse the repository at this point in the history
  4. Allow the containing block to set trailing position of absolute desce…

    …ndants (facebook#41489)
    
    Summary:
    Pull Request resolved: facebook#41489
    
    X-link: facebook/yoga#1471
    
    If we are going to allow the containing block to layout its absolute descendants and NOT the direct parent then we need to change step 11 which is concerned with setting the trailing position in the case we are row or column reverse. This is the very last step in the function and is positioned that way because it operates on the assumption that all children have their position set by this time. That is no longer a valid assumption if CBs layout their absolute children. In that case the CB also needs to take care of setting the position here.
    
    Because of this problem I moved some things around. It now works like:
    
    * If errata is set, the direct parent will set trailing position for all non absolute children in step 11
    * If errata is set the CB will set trailing position of absolute descendants after they are laid out inside of layoutAbsoluteDescendants
    
    Reviewed By: NickGerleman
    
    Differential Revision: D51217291
    
    fbshipit-source-id: a7eea0d3623f9041b73d609a1de2bfb0f0343a26
    joevilches authored and facebook-github-bot committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    43ab5fe View commit details
    Browse the repository at this point in the history
  5. Use containing block to adjust absolute child position (facebook#41490)

    Summary:
    Pull Request resolved: facebook#41490
    
    X-link: facebook/yoga#1472
    
    This change has most of the logic needed for supporting `position: static`. We do two things here that fix a lot of the broken static test:
    
    1) We pass in the containing node to `layoutAbsoluteChild` and use it to properly position the child in the case that insets are defined.
    2) We rewrite the absolute child's position to be relative to it's parent in the event that insets are defined for that child (and thus it is positioned relative to its CB). Yoga's layout position has always be relative to parent, so I feel it is easier to just adjust the coordinates of a node to adhere to that design rather than change the consumers of yoga.
    
    The "hard" part of this algorithm is determining how to iterate the offset from the containing block needed to do this translation described above. That is handled in `layoutAbsoluteDescendants`.
    
    Reviewed By: NickGerleman
    
    Differential Revision: D51224327
    
    fbshipit-source-id: ae6dc54fe2a71bebb4090ba21a0afb0125264cbc
    joevilches authored and facebook-github-bot committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    a48e0d5 View commit details
    Browse the repository at this point in the history
  6. Introduce positionAbsoluteChild (facebook#41491)

    Summary:
    X-link: facebook/yoga#1473
    
    Pull Request resolved: facebook#41491
    
    To simplify the logic a bit I introduce a new function called `positionAbsoluteChild`. This function will, eventually, be the **sole function that matters** when determining the layout position of an absolute node. Because [absolute nodes do not participate in flex layout](https://drafts.csswg.org/css-flexbox/#abspos-items), we can determine the position of said node independently of its siblings. The only information we need are the node itself, its parent, and its containing block - which we have all of in `layoutAbsoluteChild`.
    
    Right now, however, this is purely a BE change with no functionality different. There was a big set of if statements at the end of `layoutAbsoluteChild` that would position the node on the main and cross axis for certain cases. The old code had it so that the main and cross axis had basically the same logic but the code was repeated. This puts that logic, as is, in `positionAbsoluteChild` and calls that from `layoutAbsoluteChild`.
    
    I will soon edit this function to actually do what it is envisioned to do (i.e. be the sole place that position is set for absolute nodes).
    
    Reviewed By: NickGerleman
    
    Differential Revision: D51272855
    
    fbshipit-source-id: 68fa1f0e0f4d595faf2af1d9eaceb467382ca406
    joevilches authored and facebook-github-bot committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    7459529 View commit details
    Browse the repository at this point in the history
  7. Fix issue where start/end would not be respected in flex edge getters (

    …facebook#41682)
    
    Summary:
    X-link: facebook/yoga#1479
    
    Pull Request resolved: facebook#41682
    
    There are two ways to get the value of a style for a specific edge right now:
    
    1) From the inline start/end edge which is determined via the writing direction (ltr or rtl), assuming you do not have errata on
    2) From the flex start/end edge which is determined via the flex direction (row, row-reverse, column, column-reverse)
    
    There is a weird curiosity in the second case: you can define a style to be on the "start" or "end" edge when writing the stylex/css. The physical edge that this refers to is dependent on the writing direction. So `start` would be `left` in `ltr` and `right` in `rtl`, with `end` the opposite. It is **never** determined via the flex direction. Additionally, `start`/`end` takes precedence over the physical edge it corresponds to in the case both are defined.
    
    So, all of this means that to actually get the value of a style from the flex start/end edges, we need to account for the case that one of these relative edges was defined and would overwrite any physical edge. Since this mapping is solely determined by the writing direction, we need to pass that in to all the flex start/end getters and do that logic. This is done in  `flexStartRelativeEdge`/`flexEndRelativeEdge` which was added earlier but for some reason only being used on border.
    
    Reviewed By: NickGerleman
    
    Differential Revision: D51293315
    
    fbshipit-source-id: 26fafff54827134e7c5b10354ff9bfdf67096f5b
    joevilches authored and facebook-github-bot committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    aa31c6c View commit details
    Browse the repository at this point in the history
  8. New file for layout methods related to absolute children (facebook#41794

    )
    
    Summary:
    X-link: facebook/yoga#1495
    
    Pull Request resolved: facebook#41794
    
    This is a copy of D51369722 to make it so that it preserves the file history
    
    CalculateLayout.cpp is massive and approaching 3k lines. I added a few large functions dealing with layout of absolute nodes and was thinking it would be nice if that logic was just in its own file so it was more isolated and easier to reason about. So I made AbsoluteLayout.cpp and AbsoluteLayout.h to house this logic. In order for this to work I had to expose calculateLayoutInternal in CalculateLayout.h as layoutAbsoluteChild calls it. This is unideal and I would like to find a better way...
    
    I also make LayoutUtils.h to house misc small helper methods as they are called in AbsoluteLayout.cpp and CalculateLayout.cpp
    
    Reviewed By: NickGerleman
    
    Differential Revision: D51824115
    
    fbshipit-source-id: 9b27449e3c1516492c01e6167a6b2c4568a33807
    joevilches authored and facebook-github-bot committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    0cc09f2 View commit details
    Browse the repository at this point in the history
  9. Deploy 0.223.3 to xplat (facebook#41797)

    Summary:
    Pull Request resolved: facebook#41797
    
    Changelog: [Internal]
    
    Reviewed By: gkz
    
    Differential Revision: D51839509
    
    fbshipit-source-id: 961fc4e8fc0f7a45c3882753301d027f319b9ea6
    SamChou19815 authored and facebook-github-bot committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    09451ae View commit details
    Browse the repository at this point in the history
  10. Revert D51839509: Deploy 0.223.3 to xplat

    Differential Revision:
    D51839509
    
    Original commit changeset: 961fc4e8fc0f
    
    Original Phabricator Diff: D51839509
    
    fbshipit-source-id: 71a97ee1971d5c882cb704f4f9ff42a95e6d52f6
    Ji An Yang authored and facebook-github-bot committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    be91968 View commit details
    Browse the repository at this point in the history
  11. Remove extraneous log statment (facebook#41799)

    Summary:
    Pull Request resolved: facebook#41799
    
    Noticed this when doing local build.
    
    Changelog: [Internal]
    
    Created from CodeHub with https://fburl.com/edit-in-codehub
    
    Reviewed By: rshest
    
    Differential Revision: D51845672
    
    fbshipit-source-id: 2f24d69cea1a2fededed271865a5836e791cea41
    NickGerleman authored and facebook-github-bot committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    363ee48 View commit details
    Browse the repository at this point in the history
  12. Re-enabled disabled tests ReactPropForShadowNodeSpecTest and ReactPro…

    …pForShadowNodeSetterTest (facebook#41788)
    
    Summary:
    X-link: facebook/yoga#1494
    
    Pull Request resolved: facebook#41788
    
    Those tests are currently disabled due to Yoga attempting to do JNI calls.
    I've added infra to bypass .so loading during tests, and we should be good to re-enable those tests by now.
    
    Changelog:
    [Internal] [Changed] - Re-enabled disabled tests ReactPropForShadowNodeSpecTest and ReactPropForShadowNodeSetterTest
    
    Reviewed By: NickGerleman
    
    Differential Revision: D51814491
    
    fbshipit-source-id: adbbace19c94a0c6d8947f61221fafafd7797ac8
    cortinico authored and facebook-github-bot committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    ee74b4c View commit details
    Browse the repository at this point in the history
  13. Use C++17 namespace for compoments (facebook#41791)

    Summary:
    Pull Request resolved: facebook#41791
    
    Same as facebook#41771 - but this time for compoments
    
    Changelog: [Internal]
    
    Reviewed By: cortinico
    
    Differential Revision: D51804740
    
    fbshipit-source-id: 87f4db5dabfce4639f16fdcb1b1df0fee338a555
    christophpurrer authored and facebook-github-bot committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    19420b7 View commit details
    Browse the repository at this point in the history
  14. Refresh the New Issue template (facebook#41800)

    Summary:
    Pull Request resolved: facebook#41800
    
    I've cleaned up the new issue template:
    1. Added Expo to the template selector list
    2. Added a short blurb with relevant links at the beginning of every issue template
    3. I've added a dedicated field for reproducer and one for extra
    4. I've added rendering to the react-native info block
    5. I've added another rendered blog for stacktraces.
    6. I've added a drop-down item for affected platform
    
    Changelog:
    [Internal] [Changed] - Refresh the New Issue template
    
    Reviewed By: GijsWeterings
    
    Differential Revision: D51847659
    
    fbshipit-source-id: 565a2dcab4913825f441e2315ae9b4dd34fd2f4f
    cortinico authored and facebook-github-bot committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    bdcc9d0 View commit details
    Browse the repository at this point in the history
  15. refactor: convert NetworkingModuleTest to kotlin (facebook#41792)

    Summary:
    Migrated `NetworkingModuleTest` to kotlin (part of facebook#38825)
    
    ## Changelog:
    [Android] [CHANGED] - NetworkingModuleTest.java -> NetworkingModuleTest.kt
    
    Pull Request resolved: facebook#41792
    
    Test Plan: `./gradlew :packages:react-native:ReactAndroid:test`
    
    Reviewed By: cortinico
    
    Differential Revision: D51847402
    
    Pulled By: rshest
    
    fbshipit-source-id: 7a1938c575a7e5b22b6ff578e1f8d26b600f2c27
    KrzysztofMoch authored and facebook-github-bot committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    852f2b1 View commit details
    Browse the repository at this point in the history
  16. Deploy 0.223.3 to xplat (facebook#41809)

    Summary:
    Pull Request resolved: facebook#41809
    
    Changelog: [Internal]
    
    Reviewed By: samwgoldman
    
    Differential Revision: D51855821
    
    fbshipit-source-id: 4fe9c937aff925150fb015be2ea93fa120e7f462
    SamChou19815 authored and facebook-github-bot committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    ea309a7 View commit details
    Browse the repository at this point in the history
  17. Remove dead unit tests related to text/layout property settings. (fac…

    …ebook#41804)
    
    Summary:
    Pull Request resolved: facebook#41804
    
    Those 4 tests are Ignored since a while and I haven't found a easy way to re-enable them. I believe we can safely delete them.
    
    Changelog:
    [Internal] [Changed] - Remove dead unit tests related to text/layout property settings.
    
    Reviewed By: sammy-SC
    
    Differential Revision: D51848089
    
    fbshipit-source-id: 89880f5402774cb0560ac8fe4ba21e1e44c24889
    cortinico authored and facebook-github-bot committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    ff77680 View commit details
    Browse the repository at this point in the history
  18. Extract binaryCompatibilityValidator into gradle.properties file (fac…

    …ebook#41811)
    
    Summary:
    Pull Request resolved: facebook#41811
    
    In this diff I'm extracting binaryCompatibilityValidator configuration into gradle.properties file. The goal is to reuse these properties from BUCK
    
    changelog:[Internal] internal
    
    Reviewed By: cortinico
    
    Differential Revision: D51402033
    
    fbshipit-source-id: 9b585dd07c5c00a39caadac47a2f0d605c5419f2
    mdvacca authored and facebook-github-bot committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    704f07b View commit details
    Browse the repository at this point in the history
  19. Flow: make more objects exact (facebook#27790)

    Summary:
    Changelog: [Internal]
    
    This makes a couple objects more exact. Nothing critical, just noticed
    this old branch I had created when doing some Flow upgrades in the past.
    
    DiffTrain build for commit facebook/react@f498aa2.
    
    Reviewed By: hoxyq
    
    Differential Revision: D51824015
    
    Pulled By: kassens
    
    fbshipit-source-id: ecadc98ffb233d6458c65c38150a29ff65a10121
    kassens authored and facebook-github-bot committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    b2d4236 View commit details
    Browse the repository at this point in the history
  20. Use okhttp4 for buck-based Android unit tests (facebook#41812)

    Summary:
    Pull Request resolved: facebook#41812
    
    # Changelog:
    [Internal]-
    
    This makes sure that unit tests that use okhttp, do consistently use okhttp v4 for both gradle and buck based workflows when running tests.
    
    Reviewed By: christophpurrer
    
    Differential Revision: D51864344
    
    fbshipit-source-id: 7fd80fd1e7e9ccdc5ec75a41c5dd03f9fc2751a0
    rshest authored and facebook-github-bot committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    e3d1e15 View commit details
    Browse the repository at this point in the history
  21. Test against XCode 14.3 and 15 (facebook#41798)

    Summary:
    Apple will require XCode 15 next year to ship to the app store, and it aligns with how we build and test React Native internally.
    
    XCode 15 and 14.3 add support for a lot of [missing C++ 20 features](https://developer.apple.com/xcode/cpp/#c++20) from earlier versions as well.
    
    Last I was aware, Riccardo was onboard with bumping min supported in 0.74 to XCode 15. This change does a slightly more conservative bump to min 14.3, and main of 15.0 (though we might want to move these before 0.74 comes out).
    
    All of this will get migrated over to GHA soon enough as well, but... formalizing this is the only thing blocking usage of C++ 20 ranges today.
    
    Changelog:
    [ios][breaking] - Require XCode >= 14.3
    
    Pull Request resolved: facebook#41798
    
    Test Plan:
    1. CircleCI Passes
    2. Can still boot RNTester from XCode with code signing related changes.
    
    Reviewed By: cortinico
    
    Differential Revision: D51840617
    
    Pulled By: NickGerleman
    
    fbshipit-source-id: 58f8951a436eb7c892a00432a8aad0ddd0a49da1
    NickGerleman authored and facebook-github-bot committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    1c57e96 View commit details
    Browse the repository at this point in the history

Commits on Dec 6, 2023

  1. Introduce cxxreactpackage provider into default tmmdelegate (facebook…

    …#41735)
    
    Summary:
    Pull Request resolved: facebook#41735
    
    Changelog: [Internal]
    
    Reviewed By: christophpurrer
    
    Differential Revision: D51734655
    
    fbshipit-source-id: 2966e9d7ef0af852750c35b35ec39d9e8f9b9a80
    RSNara authored and facebook-github-bot committed Dec 6, 2023
    Configuration menu
    Copy the full SHA
    73d0cf5 View commit details
    Browse the repository at this point in the history
  2. fix: add isChildPublicInstance to ReactNativeTypes (facebook#27788) (f…

    …acebook#41807)
    
    Summary:
    Pull Request resolved: facebook#41807
    
    Changelog: [Internal]
    
    Follow-up on facebook/react#27783.
    
    React Native is actually using `ReactNativeTypes`, which are synced from
    this repo. In order to make `isChildPublicInstance` visible for
    renderers inside React Native repository, we need to list it in
    `ReactNativeTypes`.
    
    Because of current circular dependency between React Native and React,
    it is impossible to actually type it properly:
    - Can't import any types in `ReactNativeTypes` from local files, because
    it will break React Native, once synced.
    - Implementations can't use real types in their definitions, because it
    will break these checks:
    
    https://github.com/facebook/react/blob/223db40d5a04dc3311f963f5296675f7f43139e8/packages/react-native-renderer/fabric.js#L12-L13
    
    https://github.com/facebook/react/blob/223db40d5a04dc3311f963f5296675f7f43139e8/packages/react-native-renderer/index.js#L12-L14
    
    DiffTrain build for commit facebook/react@c29ca23.
    
    Test Plan: Sandcastle tests
    
    Reviewed By: kassens
    
    Differential Revision: D51849040
    
    Pulled By: hoxyq
    
    fbshipit-source-id: f75593e44c114289ad4c6fb8b4b37c4c5fd6d3d4
    hoxyq authored and facebook-github-bot committed Dec 6, 2023
    Configuration menu
    Copy the full SHA
    616a907 View commit details
    Browse the repository at this point in the history
  3. Add function properties to C++ TM complex datatyes (facebook#41810)

    Summary:
    Pull Request resolved: facebook#41810
    
    Changelog: [Internal]
    
    Reviewed By: zeyap
    
    Differential Revision: D51858746
    
    fbshipit-source-id: e45ee68fc40e8b7ae3388ecdcedfec646d022e19
    christophpurrer authored and facebook-github-bot committed Dec 6, 2023
    Configuration menu
    Copy the full SHA
    db609ff View commit details
    Browse the repository at this point in the history
  4. feat: support isChildPublicInstance from renderer (facebook#41806)

    Summary:
    Pull Request resolved: facebook#41806
    
    Changelog: [Internal]
    
    Adds `isChildPublicInstance` to renderers implementations, which makes it available for usage from `RendererProxy`.
    
    Reviewed By: rubennorte
    
    Differential Revision: D51822905
    
    fbshipit-source-id: 3ac92ead9d31dd3c7e5e7764daf27fe5f0eca942
    hoxyq authored and facebook-github-bot committed Dec 6, 2023
    Configuration menu
    Copy the full SHA
    78c8681 View commit details
    Browse the repository at this point in the history
  5. Add changelog for 0.73.0 [skip ci] (facebook#41741)

    Summary:
    Adds changelog for the 0.73.0 release. The changelog was generated using the following command: `npx rnx-kit/rn-changelog-generator --base v0.73.0-rc.4 --compare v0.73.0-rc.8`
    
    ## 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
    -->
    
    [INTERNAL] [CHANGED] - Add changelog for the 0.73.0 release.
    
    Pull Request resolved: facebook#41741
    
    Test Plan: Read the changelog 🤞
    
    Reviewed By: rubennorte
    
    Differential Revision: D51892080
    
    Pulled By: huntie
    
    fbshipit-source-id: 191ece6dbb1a65210efb16e13fdab49b55b84145
    fortmarek authored and facebook-github-bot committed Dec 6, 2023
    Configuration menu
    Copy the full SHA
    89f75c5 View commit details
    Browse the repository at this point in the history
  6. Move several libraries to static linking (facebook#41815)

    Summary:
    Pull Request resolved: facebook#41815
    
    Our Apps in OSS ends up shipping with too many .so files.
    I'm attempting to move several libraries from dynamic to static.
    
    This is a first round of it affecnting only libraries which are not
    exposed via prefab and that are not having an OnLoad method
    
    Changelog:
    [Internal] [Changed] - Move several libraries to static linking
    
    Reviewed By: NickGerleman
    
    Differential Revision: D51895785
    
    fbshipit-source-id: 1ba2dbbbae6b6c2639ba0e064f1b331b2a157f03
    cortinico authored and facebook-github-bot committed Dec 6, 2023
    Configuration menu
    Copy the full SHA
    eb661df View commit details
    Browse the repository at this point in the history

Commits on Dec 7, 2023

  1. Fix lint warns and errors in ReactEditText (facebook#41820)

    Summary:
    Pull Request resolved: facebook#41820
    
    Fix lint warns and errors in ReactEditText
    
    changelog: [internal] internal
    
    Reviewed By: NickGerleman
    
    Differential Revision: D51919967
    
    fbshipit-source-id: e32d69f7d950f2577a1fcb372d501db83322d61c
    mdvacca authored and facebook-github-bot committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    18f8a53 View commit details
    Browse the repository at this point in the history
  2. Adds "Needs: Author Feedback" if "Needs: Repro" is applied

    Summary:
    As the title says, if we discover that an issue needs a repro, then we should also apply
    the "Needs: Author Feedback" as that will make the issue stale quicker (30 days) rather than (90)
    
    Changelog:
    [Internal] [Changed] - Adds "Needs: Author Feedback" if "Needs: Repro" is applied
    
    Reviewed By: NickGerleman
    
    Differential Revision: D51895945
    
    fbshipit-source-id: 3ed651aec96795ada3e7c28b0f1e68d68f7fc870
    cortinico authored and facebook-github-bot committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    38d07eb View commit details
    Browse the repository at this point in the history
  3. refactor: convert ReactPropForShadowNodeSetterTest to kotlin (faceboo…

    …k#41774)
    
    Summary:
    This PR convert `ReactPropForShadowNodeSetterTest` to kotlin as part of facebook#38825
    
    ## Changelog:
    
    [INTERNAL] [CHANGED] - Convert ReactPropForShadowNodeSetterTest to kotlin
    
    <!-- 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
    
    Pull Request resolved: facebook#41774
    
    Test Plan:
    ```
    ./gradlew :packages:react-native:ReactAndroid:test
    ```
    
    Reviewed By: NickGerleman
    
    Differential Revision: D51882685
    
    Pulled By: cortinico
    
    fbshipit-source-id: ff1cce824dc342200f1f5ccbb297b955747b10c8
    moskalakamil authored and facebook-github-bot committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    186fc85 View commit details
    Browse the repository at this point in the history
  4. Bump Android Docker Image to v12 (facebook#41828)

    Summary:
    Pull Request resolved: facebook#41828
    
    Bumping the docker image used inside CircleCI to v12
    This image contains NDK 26.0.10792818 which was bumped recently.
    
    Without it the CI will attempt to download it everytime consuming time and bandwidth
    
    Changelog:
    [Internal] [Changed] - Bump Android Docker Image to v12
    
    Reviewed By: NickGerleman
    
    Differential Revision: D51897068
    
    fbshipit-source-id: a510568efc2574917d94371eeab6f0a53550bc1d
    cortinico authored and facebook-github-bot committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    d8aa1a3 View commit details
    Browse the repository at this point in the history
  5. rntester-ios : Fix Bundle path (internal) (facebook#41825)

    Summary:
    Pull Request resolved: facebook#41825
    
    Changelog: [Internal]
    
    Reviewed By: rshest
    
    Differential Revision: D51937593
    
    fbshipit-source-id: 2f4a4e49487b7031cd91deda2bc6916f195ee734
    christophpurrer authored and facebook-github-bot committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    a8ca9b0 View commit details
    Browse the repository at this point in the history
  6. feature(dev-middleware): add enableNetworkInspector experiment (fac…

    …ebook#41787)
    
    Summary:
    This enables the network panel/inspector by passing the `unstable_enableNetworkPanel=true` to the React Native JS Inspector. (See facebookexperimental/rn-chrome-devtools-frontend#2)
    
    By setting this inside the `experiments`, we can enable/disable network related CDP handlers within the proxy.
    
    ## Changelog:
    
    [GENERAL] [ADDED] - Add `enableNetworkInspector` experiment to enable Network panel and CDP handlers in inspector proxy
    
    Pull Request resolved: facebook#41787
    
    Test Plan: TBD, will provide a repository using an Expo canary / RN 0.73.0-rc release.
    
    Reviewed By: NickGerleman
    
    Differential Revision: D51811892
    
    Pulled By: huntie
    
    fbshipit-source-id: 541d96b6f0735104a4050a24a152e1158871ed1d
    byCedric authored and facebook-github-bot committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    8ef807b View commit details
    Browse the repository at this point in the history
  7. Sync debugger-frontend (12a45e0) (facebook#41840)

    Summary:
    Pull Request resolved: facebook#41840
    
    Sync `react-native/debugger-frontend`. Includes:
    
    - facebookexperimental/rn-chrome-devtools-frontend#2
    
    Changelog: [Internal]
    
    Differential Revision: D51946121
    
    fbshipit-source-id: 8118cb5075aa86d95bbd8e1ba56a73360122aaab
    huntie authored and facebook-github-bot committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    8081265 View commit details
    Browse the repository at this point in the history

Commits on Dec 8, 2023

  1. Make positionAbsoluteChild the sole place that matters when determini…

    …ng absolute node's position (facebook#41684)
    
    Summary:
    X-link: facebook/yoga#1481
    
    Pull Request resolved: facebook#41684
    
    Absolute nodes can be laid out by themselves and do not have to care about what is happening to their siblings. Because of this we can make `positionAbsoluteChild` the sole place where we handle this logic. Right now that is scattered around algorithm with many `if (child is absolute)` cases everywhere. This makes implementing position static a lot harder since we are relying on the CB to do all this work, not the parent.
    
    With this change the only time we set position for an absolute node and it matter (i.e. not overwritten) is in `positionAbsoluteChild`
    
    Reviewed By: NickGerleman
    
    Differential Revision: D51290723
    
    fbshipit-source-id: 405d81b1d28826cbb0323dc117c406a44d381dff
    joevilches authored and facebook-github-bot committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    6025d50 View commit details
    Browse the repository at this point in the history
  2. Make position static behave like position static (facebook#41685)

    Summary:
    X-link: facebook/yoga#1482
    
    Pull Request resolved: facebook#41685
    
    This is the final step (that I know of) to get the core features of static working. Here we turn on all of the tests and pass down the correct owner size for the call to `calculateLayoutInternal` that is in `layoutAbsoluteChild`
    
    Reviewed By: NickGerleman
    
    Differential Revision: D51293606
    
    fbshipit-source-id: 972259e7ebecb19b55aef2ef866bd7cb57aaf0ca
    joevilches authored and facebook-github-bot committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    475036d View commit details
    Browse the repository at this point in the history
  3. Fix issue where percentages were off of the border box, not padding b…

    …ox (facebook#41686)
    
    Summary:
    X-link: facebook/yoga#1485
    
    Pull Request resolved: facebook#41686
    
    The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at  `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this.
    
    Added a test that was failing before this change as well
    
    Reviewed By: NickGerleman
    
    Differential Revision: D51330526
    
    fbshipit-source-id: adc448dfb71b54f1bbed0d9d61c5553bda4b106c
    joevilches authored and facebook-github-bot committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    e826d1c View commit details
    Browse the repository at this point in the history
  4. Fix bug with align start not taking into account parent padding (face…

    …book#41687)
    
    Summary:
    X-link: facebook/yoga#1484
    
    Pull Request resolved: facebook#41687
    
    Tsia. Added test and accounted for parent padding
    
    Reviewed By: NickGerleman
    
    Differential Revision: D51374086
    
    fbshipit-source-id: ed9d79887aa1613ea93c10c639cd1465271d23d8
    joevilches authored and facebook-github-bot committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    ea3dd6b View commit details
    Browse the repository at this point in the history
  5. Fix bug where we used border box for size of containing block in a ce…

    …rtain case (facebook#41688)
    
    Summary:
    X-link: facebook/yoga#1486
    
    Pull Request resolved: facebook#41688
    
    Somehow missed this case. We never want to measure the CB as that gets border box but we want padding box
    
    Reviewed By: NickGerleman
    
    Differential Revision: D51376309
    
    fbshipit-source-id: 2b5119c421ef92fadb28a70254cb7fe02aeb8c28
    joevilches authored and facebook-github-bot committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    5b05c79 View commit details
    Browse the repository at this point in the history
  6. Fix issue where we were not centering absolute nodes correctly when j…

    …ustifying (facebook#41690)
    
    Summary:
    X-link: facebook/yoga#1489
    
    Pull Request resolved: facebook#41690
    
    Centering involves centering the margin box in the content box of the parent, and then getting the distance from the flex start edge of the parent to the child
    
    Reviewed By: NickGerleman
    
    Differential Revision: D51383625
    
    fbshipit-source-id: 6bbbace95689ef39c35303bea4b99505952df457
    joevilches authored and facebook-github-bot committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    983e784 View commit details
    Browse the repository at this point in the history
  7. Fix issue where we were not applying flex end correctly when justifyi…

    …ng (facebook#41691)
    
    Summary:
    X-link: facebook/yoga#1487
    
    Pull Request resolved: facebook#41691
    
    The code here was just wrong. I changed it to be the same logic as the Justify:FlexStart case, but with the flex end sides. Then I get the position for the opposite edge since we need to write to flex start side.
    
    Reviewed By: NickGerleman
    
    Differential Revision: D51383792
    
    fbshipit-source-id: 372835a44edff361dbd84dd92ff9f2ec844b9f9c
    joevilches authored and facebook-github-bot committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    579ef2b View commit details
    Browse the repository at this point in the history
  8. Fix issues with aligning absolute nodes (facebook#41692)

    Summary:
    X-link: facebook/yoga#1490
    
    Pull Request resolved: facebook#41692
    
    In the previous diffs I fixed problems with justifying absolute nodes. The same issues plague aligning so I fixed them in the same way. Added tests that were failing before but now passing
    
    Reviewed By: NickGerleman
    
    Differential Revision: D51404489
    
    fbshipit-source-id: 604495d651eb67cfdcca40df9d8d3a125c5741a8
    joevilches authored and facebook-github-bot committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    31005b7 View commit details
    Browse the repository at this point in the history
  9. Remove internal references of onCatalystInstanceDestroy() (facebook#4…

    …1835)
    
    Summary:
    Pull Request resolved: facebook#41835
    
    This removes internal usages of `onCatalystInstanceDestroy`.
    
    The method is still available inside `NativeModule` but is `Deprecated(forRemoval = true)` so we're getting warning of its usages all over the places.
    
    Changelog:
    [Internal] [Changed] - Remove internal references of onCatalystInstanceDestroy()
    
    Reviewed By: hoxyq
    
    Differential Revision: D51589276
    
    fbshipit-source-id: 84ed4d099a444977b95b4ef00e53750b79018e6f
    cortinico authored and facebook-github-bot committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    a78a8e1 View commit details
    Browse the repository at this point in the history
  10. fix: add build generated files to *ignore config (facebook#41826)

    Summary:
    This PR adds build generated files to *ignore config files. This allows to locally run `yarn lint`
    
    ## Changelog:
    
    [INTERNAL] [ADDED] - Add build generated files to local config files
    
    Pull Request resolved: facebook#41826
    
    Test Plan: CI Green
    
    Reviewed By: huntie
    
    Differential Revision: D51939024
    
    Pulled By: cortinico
    
    fbshipit-source-id: cfd6c1c13dd23c692859cd06fa5955024fafc522
    okwasniewski authored and facebook-github-bot committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    1e0fc76 View commit details
    Browse the repository at this point in the history
  11. Convert the last Unit Tests to Kotlin (facebook#41852)

    Summary:
    Pull Request resolved: facebook#41852
    
    I'm doing a pass and converting the last Java Unit Tests we had to Kotlin
    I've also re-enabled multiple tests that were disabled in the past.
    
    Changelog:
    [Internal] [Changed] - Convert the last Unit Tests to Kotlin
    
    Reviewed By: mdvacca
    
    Differential Revision: D51891716
    
    fbshipit-source-id: 7f953cf039a7b45bd773d1995253b4db262f8d22
    cortinico authored and facebook-github-bot committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    99ad364 View commit details
    Browse the repository at this point in the history
  12. Update sort-imports lint rule to latest (facebook#41841)

    Summary:
    @public
    
    TSIA
    
    Pull Request resolved: facebook#41841
    
    Changelog: [Internal]
    
    Reviewed By: robhogan
    
    Differential Revision: D51946720
    
    fbshipit-source-id: 28b55c3555b4757f13b896068c5b43ac761fc5cf
    motiz88 authored and facebook-github-bot committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    5df1940 View commit details
    Browse the repository at this point in the history
  13. commit ReactAndroid.api (facebook#41847)

    Summary:
    Pull Request resolved: facebook#41847
    
    Create first version of binary compatibility api metadata file (ReactAndroid.api)
    
    changelog: [internal] internal
    
    Reviewed By: cortinico
    
    Differential Revision: D51429463
    
    fbshipit-source-id: 34befd148d0d46a2161a97dce5c865eca777ecbb
    mdvacca authored and facebook-github-bot committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    82652f8 View commit details
    Browse the repository at this point in the history
  14. Revert D51891716: Convert the last Unit Tests to Kotlin

    Differential Revision:
    D51891716
    
    Original commit changeset: 7f953cf039a7
    
    Original Phabricator Diff: D51891716
    
    fbshipit-source-id: 43fc6362d9d3b976029d8c7f7f2841abf36a2217
    billynyh authored and facebook-github-bot committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    a9dd43c View commit details
    Browse the repository at this point in the history

Commits on Dec 11, 2023

  1. Bump CLI to 13.0.0 (facebook#41722)

    Summary:
    Updates the RN CLI to v13.0.0, which targets main and future 0.74
    
    ## Changelog:
    
    [GENERAL] [CHANGED] - Bump CLI to v13.0.0
    
    Pull Request resolved: facebook#41722
    
    Reviewed By: robhogan
    
    Differential Revision: D51809848
    
    Pulled By: huntie
    
    fbshipit-source-id: 653d747526bec5c4f766c22ffd3fcae8eac620a0
    thymikee authored and facebook-github-bot committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    6e88d67 View commit details
    Browse the repository at this point in the history
  2. Removing Fabric check from UIManagerProvider (facebook#41880)

    Summary:
    Pull Request resolved: facebook#41880
    
    Pull Request resolved: facebook#41664
    
    Moving the check for Fabric i.e. `ReactFeatureFlags.enableFabricRenderer` to old JSI Module path logic instead of new UIManagerProvider path for Fabric initialization
    
    Reviewed By: philIip
    
    Differential Revision: D51610399
    
    fbshipit-source-id: 1d868111dd2b65ac8d69198f7ab115ac8a2b43ec
    arushikesarwani94 authored and facebook-github-bot committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    8832dda View commit details
    Browse the repository at this point in the history
  3. Update docs link for metro.config.js in template (facebook#41855)

    Summary:
    Small edit to point to the newer React Native docs guide for Metro, which includes more clarity on the `metro.config.js` file setup in React Native projects.
    
    Changelog: [Internal]
    
    Pull Request resolved: facebook#41855
    
    Test Plan: —
    
    Reviewed By: christophpurrer
    
    Differential Revision: D52031862
    
    Pulled By: huntie
    
    fbshipit-source-id: 705418f35e5f6a3eddbec129e283773bb9d0f89c
    huntie authored and facebook-github-bot committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    6a52025 View commit details
    Browse the repository at this point in the history
  4. Fix init for out-of-tree platforms by passing name to CLI (facebook#4…

    …1723)
    
    Summary:
    To unlock ~~certain OOT platform capabilities~~ seamless `init` integration for out-of-tree platforms with CLI, we need to pass the package name to it. This change landed on 0.73 branch already: facebook#41530
    
    Depends on facebook#41722
    
    ## Changelog:
    
    [INTERNAL] [ADDED] - Fix init for out-of-tree platforms by passing name to CLI
    
    Pull Request resolved: facebook#41723
    
    Test Plan: CI green
    
    Reviewed By: christophpurrer
    
    Differential Revision: D51979329
    
    Pulled By: dmytrorykun
    
    fbshipit-source-id: 451f70dc42ae0667bc65cba2e77898c9eec8d9ec
    thymikee authored and facebook-github-bot committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    547643e View commit details
    Browse the repository at this point in the history
  5. Fix dev menu not open

    Summary:
    Bridgeless dev menu couldn't open due to self.bridge being null here.
    
    Changelog:
    [Android][Changed] - Fix dev menu not open for Bridgeless
    
    Reviewed By: cortinico
    
    Differential Revision: D51746610
    
    fbshipit-source-id: 2e9bab686c965271bbfad264ff22ff61e28849c3
    Lulu Wu authored and facebook-github-bot committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    e4887a5 View commit details
    Browse the repository at this point in the history
  6. Fix NSAppTransportSecurity being overwritten during pod install (face…

    …book#41875)
    
    Summary:
    This PR fixes facebook#41874.
    
    ## 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 NSAppTransportSecurity being overwritten during pod install
    
    Pull Request resolved: facebook#41875
    
    Test Plan:
    1. Delete the whole `NSAppTransportSecurity` in Info.plist and run `pod install`: `NSAllowsArbitraryLoads` and `NSAllowsLocalNetworking` are added as expected.
    2. Modify `NSAppTransportSecurity` to only contain `NSExceptionDomains` and run `pod install`: `NSAllowsArbitraryLoads` and `NSAllowsLocalNetworking` are added, and `NSExceptionDomains` is still there.
    3. Run `pod install` again: nothing changes.
    
    Reviewed By: christophpurrer
    
    Differential Revision: D52032400
    
    Pulled By: dmytrorykun
    
    fbshipit-source-id: 48cf29809c283af80613ffbf1ac0dc663a0a2fb5
    robertying authored and facebook-github-bot committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    a0b76d9 View commit details
    Browse the repository at this point in the history
  7. Convert the last Unit Tests to Kotlin (facebook#41889)

    Summary:
    Pull Request resolved: facebook#41889
    
    Resubmit of D51891716
    
    I'm doing a pass and converting the last Java Unit Tests we had to Kotlin
    I've also re-enabled multiple tests that were disabled in the past.
    
    Changelog:
    [Internal] [Changed] - Convert the last Unit Tests to Kotlin
    
    Reviewed By: GijsWeterings
    
    Differential Revision: D52033328
    
    fbshipit-source-id: fabe19f88129f5c4b1d77d45cf5089117aed439e
    cortinico authored and facebook-github-bot committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    4a565e7 View commit details
    Browse the repository at this point in the history
  8. Enhance IP address retrieval for iOS devices in Metro bundler setup (f…

    …acebook#41839)
    
    Summary:
    After introducing this commit facebook@a56e5da script may fail in some circumstances.
    
    Example:
    When there is IP address available only for en1 and not en0, first "ipconfig" command in the loop fails with error code 1 and cancels whole script.
    
    ## Changelog:
    [iOS] [Fixed] - [enhance IP address retrieval for iOS devices in Metro bundler setup](facebook@6a351db)
    
    Pull Request resolved: facebook#41839
    
    Reviewed By: christophpurrer
    
    Differential Revision: D51979040
    
    Pulled By: dmytrorykun
    
    fbshipit-source-id: 0f6f42a7dd70bac012875ffae5d651b74b225c94
    Morritz authored and facebook-github-bot committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    9f28616 View commit details
    Browse the repository at this point in the history
  9. Revert D52033328: Convert the last Unit Tests to Kotlin

    Differential Revision:
    D52033328
    
    Original commit changeset: fabe19f88129
    
    Original Phabricator Diff: D52033328
    
    fbshipit-source-id: 3186196dd6df1bd720164894828f8fd1c9215710
    Qian Wu authored and facebook-github-bot committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    6b532c7 View commit details
    Browse the repository at this point in the history
  10. Lint source files, sort imports, remove unused imports (facebook#41829)

    Summary:
    This PR lints source files using eslint. I've executed `yarn lint --fix` and also manually fixed some of eslint issues.
    
    Before:
    
    ![CleanShot 2023-12-07 at 12 07 10@2x](https://github.com/facebook/react-native/assets/52801365/2b00cf23-e5a0-46b8-802f-adcb67224111)
    
    After:
    
    ![CleanShot 2023-12-07 at 12 06 24@2x](https://github.com/facebook/react-native/assets/52801365/bb05b2c0-2b27-4f99-b7b4-cb47a51a3885)
    
    ## Changelog:
    
    [GENERAL] [FIXED] - Lint source files, sort imports, remove unused ones
    
    Pull Request resolved: facebook#41829
    
    Test Plan: CI Green
    
    Reviewed By: christophpurrer
    
    Differential Revision: D51979074
    
    Pulled By: dmytrorykun
    
    fbshipit-source-id: e11b90721e33f5e9949a0833e5f39fe7ba3d1067
    okwasniewski authored and facebook-github-bot committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    7d1a98c View commit details
    Browse the repository at this point in the history
  11. Revert D51610399: Removing Fabric check from UIManagerProvider

    Differential Revision:
    D51610399
    
    Original commit changeset: 1d868111dd2b
    
    Original Phabricator Diff: D51610399
    
    fbshipit-source-id: e8f84782ee94729f580ed96321ed9f66aaff363b
    arushikesarwani94 authored and facebook-github-bot committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    37c7f84 View commit details
    Browse the repository at this point in the history
  12. Add position type to LayoutMetrics (facebook#41819)

    Summary:
    Pull Request resolved: facebook#41819
    
    This will be needed in order to access the position type while implementing offsetLeft/Top, which needs to know if a node is static or not to get the proper offset. This is simply making the position type available to be read from LayoutMetrics.
    
    Changelog: [Internal]
    
    Reviewed By: NickGerleman
    
    Differential Revision: D51412428
    
    fbshipit-source-id: b101d8065ddfe0322f77f64d1de0f9ead3975c60
    joevilches authored and facebook-github-bot committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    3fb47c5 View commit details
    Browse the repository at this point in the history
  13. Ignore the one-time NullPointerException and print error log

    Summary:
    Why ignore for now?
    - It only happen once during initialization and doesn't cause any breakages for RNTester
    - The race condition happens in Android System code which is hard to tackle:
    ```Exception in native call
    java.lang.NullPointerException: java.lang.NullPointerException
    	at com.facebook.jni.NativeRunnable.run(Native Method)
    	at android.os.Handler.handleCallback(Handler.java:958)
    	at android.os.Handler.dispatchMessage(Handler.java:99)
    	at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:30)
    	at android.os.Looper.loopOnce(Looper.java:205)
    	at android.os.Looper.loop(Looper.java:294)
    	at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:235)
    	at java.lang.Thread.run(Thread.java:1012)
    ```
    From stack trace message.callback is checked in
    ```at android.os.Handler.dispatchMessage(Handler.java:99)```
    but becomes null in
    ```at android.os.Handler.handleCallback(Handler.java:958)```
    
    [Android source code](https://l.facebook.com/l.php?u=https%3A%2F%2Fandroid.googlesource.com%2Fplatform%2Fframeworks%2Fbase%2F%2B%2Fmaster%2Fcore%2Fjava%2Fandroid%2Fos%2FHandler.java&h=AT1aQS0Vmknao8kLbYE_hhLj1G3idUf69jFQE3ZLAqjrbcMX4OdQUV1dzZpAkAvLaZ9HAOanpsKCC8z59Ce9XJa6cOhQL2L95gM9iMrSr7FbrpTKPLKbWjDmTz89WUL2pQprnBVKyA8) of Handler.
    
    Reviewed By: cortinico
    
    Differential Revision: D51550240
    
    fbshipit-source-id: 6288e196da1da88a37f5c69bfce82e3e09c6f106
    Lulu Wu authored and facebook-github-bot committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    ca9b6b5 View commit details
    Browse the repository at this point in the history
  14. Clean up eventTarget retaining logic in the pointer event processor (f…

    …acebook#41471)
    
    Summary:
    Pull Request resolved: facebook#41471
    
    Changelog: [Internal] - Clean up eventTarget retaining logic in the pointer event processor
    
    This refactors calls to EventTarget::retain/release to occur in the actual methods that require the event target to be retained instead of expecting the caller to manage that which should be more maintainable.
    
    Reviewed By: sammy-SC
    
    Differential Revision: D51279974
    
    fbshipit-source-id: db7251504a44ca59e4475928af7e6cf993cfa6e3
    vincentriemer authored and facebook-github-bot committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    952b32b View commit details
    Browse the repository at this point in the history

Commits on Dec 12, 2023

  1. fix: paddingTop problem for multiline TextInput (facebook#41772)

    Summary:
    Fixed: facebook#41773
    
    ## Changelog:
    
    [GENERAL] [FIXED] - not applying `multilineInput` when props's style has paddingTop related style
    
    <!-- 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#41772
    
    Reviewed By: NickGerleman
    
    Differential Revision: D51894473
    
    Pulled By: yungsters
    
    fbshipit-source-id: f11466100111cd8dd5f36bdbd4eb99f6a1633d66
    Spice-Z authored and facebook-github-bot committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    da3ba74 View commit details
    Browse the repository at this point in the history
  2. Update profiler button to use "Toggle" string. (facebook#41900)

    Summary:
    Fixes facebook#38192, this issue wasn't fixed properly, cortinico fixed same case but for inspector button.
    
    ## Changelog:
    
    [ANDROID] [FIXED] - Update profiler button to use "Toggle" string.
    
    Pull Request resolved: facebook#41900
    
    Test Plan: CI
    
    Reviewed By: cortinico
    
    Differential Revision: D52049181
    
    Pulled By: ryancat
    
    fbshipit-source-id: 9225edb3a5a582b879f4ebb835f6ac52cba4c042
    szymonrybczak authored and facebook-github-bot committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    8bcaed9 View commit details
    Browse the repository at this point in the history
  3. Throw parser error in case direct recursive types are not nullable (f…

    …acebook#41866)
    
    Summary:
    Pull Request resolved: facebook#41866
    
    Direct recursive member types require infinite memory and aren't possible with current hardware.
    
    Throw parser error to make this visible.
    
    Changelog: [Internal]
    
    Reviewed By: rshest
    
    Differential Revision: D51999832
    
    fbshipit-source-id: 671f87325f33dd24f70ff3e2229c9d0b888d7445
    christophpurrer authored and facebook-github-bot committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    4187a8c View commit details
    Browse the repository at this point in the history
  4. Network invalidate handlers to cleanup in turbo module mode (facebook…

    …#41775)
    
    Summary:
    We should do some cleanup for handlers in Networking to fix some memory leaks.Ex.  `RCTHTTPRequestHandler` hander, `session` retains the handler which leads to leaks.
    https://github.com/facebook/react-native/blob/385473522cbc525aad08500f5a752dea734c14c3/packages/react-native/Libraries/Network/RCTHTTPRequestHandler.mm#L97
    
    ## Changelog:
    
    [IOS] [FIXED] - Network invalidate handlers  to cleanup in turbo module mode
    
    Pull Request resolved: facebook#41775
    
    Test Plan: Network handlers clean up after invalidating.
    
    Reviewed By: NickGerleman
    
    Differential Revision: D51846962
    
    Pulled By: dmytrorykun
    
    fbshipit-source-id: 17a2875903cda187f2e3ecea46e8f7f3e10d5264
    zhongwuzw authored and facebook-github-bot committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    44d6e43 View commit details
    Browse the repository at this point in the history
  5. Fabric: Fixes image blob url not work (facebook#41881)

    Summary:
    Added image blob url support.
    
    Before:
    ![image](https://github.com/facebook/react-native/assets/5061845/35835e06-1946-4cc0-9f09-ad8201c7d9b5)
    
    After:
    ![image](https://github.com/facebook/react-native/assets/5061845/cde4b3cf-039c-42ba-b1d0-15e5e898df72)
    
    ## Changelog:
    
    [IOS] [FIXED] - Fabric: Fixes image blob url not work
    
    Pull Request resolved: facebook#41881
    
    Test Plan: none.
    
    Reviewed By: cortinico
    
    Differential Revision: D52044019
    
    Pulled By: ryancat
    
    fbshipit-source-id: d8d8b863ddd24099ee1c2692dbe698844c0bece9
    zhongwuzw authored and facebook-github-bot committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    cdef53d View commit details
    Browse the repository at this point in the history
  6. Fixes ScrollView contentInsetAdjustmentBehavior assignment (facebook#…

    …41879)
    
    Summary:
    Fixes ScrollView contentInsetAdjustmentBehavior wrong assignment
    
    ## Changelog:
    
    [IOS] [FIXED] - Fixes ScrollView contentInsetAdjustmentBehavior assignment
    
    Pull Request resolved: facebook#41879
    
    Test Plan: None.
    
    Reviewed By: cortinico
    
    Differential Revision: D52031541
    
    Pulled By: NickGerleman
    
    fbshipit-source-id: 283e260fa40d2eff0202b5f8140b1c087d3124d5
    zhongwuzw authored and facebook-github-bot committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    86df742 View commit details
    Browse the repository at this point in the history
  7. <bit> and <concepts>

    Summary:
    X-link: facebook/yoga#1497
    
    The lowest common denominator we have had for Yoga has been Clang 12 + MSVC 2017 stdlib. This has allowed Yoga to use C++ 20 language features, but not library features. React Native for mobile has not been bound to this restriction.
    
    Builds using that toolchain are being updated to latest MSVC 2019 stdlib (which has good C++ 20 library support), along with Clang 17 (or maybe a stop at 15) pending projects using `-fcoroutines-ts` being migrated to C++ 20.
    
    This tests out some C++ 20 standard library usages against the current Clang 12 + MSVC 2019 stdlib toolchain that didn't work before, and adds a couple concepts for better constraints/compiler error messages if misused.
    
    This bumps min-tested XCode (and minimum required) version to 14.3, matching a similar change for React Native. This should probably be bumped to 15 sometime before Apple starts requiring 15+ to go out to the iOS app store.
    
    We are approaching a practical support range of:
    1. XCode >= 14.3
    2. NDK >= 26
    3. Clang/libc++ >= 14
    4. GCC/libstdc++ >= 11
    5. MSVC >= 16.11 (VS 2019)
    
    Changelog: [Internal]
    
    Reviewed By: cortinico
    
    Differential Revision: D51604487
    
    fbshipit-source-id: d394d0d86672b69781b8ae071d87adcf944ddc72
    NickGerleman authored and facebook-github-bot committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    1727ffa View commit details
    Browse the repository at this point in the history
  8. Add InspectorFlags, conditionally disable Hermes CDP registration (fa…

    …cebook#41672)
    
    Summary:
    Pull Request resolved: facebook#41672
    
    Progress towards an opt-in setup for our new CDP backend.
    
    - Adds `InspectorFlags.h`, a singleton intended to allow convienient access to static boolean feature flags for the new CDP backend/inspector features across platforms. This will be written to in upcoming diffs, with the accessor for `enable_modern_cdp_registry` soft-defaulting to `false` here.
    - References this to conditionally disable legacy ~CDP registration in `HermesExecutorFactory` (Bridge) and `HermesInstance` (Bridgeless) code paths.
    - Stubs a `false` value for `react_native_devx:enable_modern_cdp_registry` in `EmptyReactNativeConfig` (documentation/convenience point for open source partners and integrators).
    
    Changelog: [Internal]
    
    Reviewed By: motiz88
    
    Differential Revision: D51563107
    
    fbshipit-source-id: 446f319228ec627fdc0ecba9517a1a3faad9d262
    huntie authored and facebook-github-bot committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    b6adbf7 View commit details
    Browse the repository at this point in the history
  9. Fix last spacer constrain logic in VirtualizedList (facebook#41846)

    Summary:
    The logic to constrain the last spacer size is incorrect in some cases where the spacer is the last spacer, but not the last section in the list.
    
    For more context, the role of spacer constraining is explained in this comment:
    
    ```
    // Without getItemLayout, we limit our tail spacer to the _highestMeasuredFrameIndex to
    // prevent the user for hyperscrolling into un-measured area because otherwise content will
    // likely jump around as it renders in above the viewport.
     ```
    
    For example it is incorrect in the case where we have:
    
    ITEMS
    SPACER
    ITEMS
    
    In this case the spacer is not actually the tail spacer so the constraining is incorrectly appied.
    
    This causes issues mainly when using `maintainVisibleContentPosition` since it will cause it to scroll to an incorrect position and then cause the view that was supposed to stay visible to be virtualized away.
    
    ## Changelog:
    
    [GENERAL] [FIXED] - Fix last spacer constrain logic in VirtualizedList
    
    Pull Request resolved: facebook#41846
    
    Test Plan:
    Tested using https://gist.github.com/janicduplessis/b67d1fafc08ef848378263208ab93d4c in RN tester, before the change content will jump on first click on add items.
    
    Tested using the same example and setting initial posts to 1000, then we can see our content view size is still constrained properly (see scrolling indicator as reference).
    
    Reviewed By: yungsters
    
    Differential Revision: D51964500
    
    Pulled By: NickGerleman
    
    fbshipit-source-id: 4465aa5a36c95466aef6571314973c1e2c9a0f2c
    janicduplessis authored and facebook-github-bot committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    3ed4bf9 View commit details
    Browse the repository at this point in the history
  10. Convert ReactAndroid and RN-Tester to Kotlin DSL (facebook#41834)

    Summary:
    Pull Request resolved: facebook#41834
    
    I'm updating other two `build.gradle` to `build.gradle.kts` files.
    The only functional change I made was to remove the function to check if major >= 1 and turn on New Architecture. This needs to be moved to RNGP as Kotlin doesn't have dynamic accessors to Object so we can't convert that function.
    
    Changelog:
    [Internal] [Changed] - Convert ReactAndroid and RN-Tester to Kotlin DSL
    
    Reviewed By: mdvacca
    
    Differential Revision: D51856356
    
    fbshipit-source-id: ef75579cd3ec121ef6ac9a357c1e10bcf9995432
    cortinico authored and facebook-github-bot committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    a115f97 View commit details
    Browse the repository at this point in the history
  11. Remove REACT_NATIVE_SKIP_PREFAB as unused (facebook#41833)

    Summary:
    Pull Request resolved: facebook#41833
    
    I'm removing those environment variables as they're legacy and not used anymore:
    - REACT_NATIVE_SKIP_PREFAB
    - REACT_NATIVE_HERMES_SKIP_PREFAB
    
    Changelog:
    [Internal] [Changed] - Remove REACT_NATIVE_SKIP_PREFAB as unused
    
    Reviewed By: dmytrorykun
    
    Differential Revision: D51890227
    
    fbshipit-source-id: 6579ff73d3030fe1acb587250cd99aff44a1de29
    cortinico authored and facebook-github-bot committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    646ff6e View commit details
    Browse the repository at this point in the history
  12. Remove the installArchives task (facebook#41832)

    Summary:
    Pull Request resolved: facebook#41832
    
    I'm removing the `installArchives` task and all the setup to publish
    the Maven Local inside the NPM package as we're not using this entirely
    and we won't be able to use it anyway (as the Maven Local is too big to fit an NPM package).
    
    Changelog:
    [Internal] [Changed] - Remove the installArchives task
    
    Reviewed By: GijsWeterings
    
    Differential Revision: D51890224
    
    fbshipit-source-id: 3ffdc67a9fe931118596f6f74a5a2df0313ca3f2
    cortinico authored and facebook-github-bot committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    f11608d View commit details
    Browse the repository at this point in the history
  13. Resolve several Gradle build warning (facebook#41831)

    Summary:
    Pull Request resolved: facebook#41831
    
    The build is currently firing several build warnings due to the Groovy -> Kotlin migration.
    I've fixed them all over here.
    
    Changelog:
    [Internal] [Changed] - Resolve several Gradle build warning
    
    Reviewed By: mdvacca
    
    Differential Revision: D51890225
    
    fbshipit-source-id: 4a2ff9dc168fca62893db704e282793e0bf03653
    cortinico authored and facebook-github-bot committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    2bf29a3 View commit details
    Browse the repository at this point in the history
  14. Convert ReactAndroid/hermes-engine/build.gradle to Kotlin DSL (facebo…

    …ok#41830)
    
    Summary:
    Pull Request resolved: facebook#41830
    
    Moving another Gradle file from Groovy to Kotlin DSL
    
    Changelog:
    [Internal] [Changed] - Convert ReactAndroid/hermes-engine/build.gradle to Kotlin DSL
    
    Reviewed By: dmytrorykun
    
    Differential Revision: D51890226
    
    fbshipit-source-id: 989c4b1ca053718a9d9e1b45d1230c9729685724
    cortinico authored and facebook-github-bot committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    1c77919 View commit details
    Browse the repository at this point in the history
  15. Fix cleanAssetCatalog error (facebook#41865)

    Summary:
    There is currently an error when building in release on iOS when using asset catalogs (experimental feature that is partially merged facebook#30129)
    
    This was probably incorrectly migrated from the community cli repo. `.imageset` is actually folders so it needs to be removed with `{recursive: true, force: true}`. I also renamed the variable `files` which is confusing since its folders.
    
    ## Changelog:
    
    [IOS] [FIXED] - Fix cleanAssetCatalog error
    
    Pull Request resolved: facebook#41865
    
    Test Plan: Tested in an app that uses asset catalogs
    
    Reviewed By: NickGerleman
    
    Differential Revision: D52032258
    
    Pulled By: huntie
    
    fbshipit-source-id: 1dc0ca09e0da0d514b03d7d72707bdcaef03301d
    janicduplessis authored and facebook-github-bot committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    d5114a4 View commit details
    Browse the repository at this point in the history

Commits on Dec 13, 2023

  1. support Array param for native component command in codegen (facebook…

    …#41894)
    
    Summary:
    Pull Request resolved: facebook#41894
    
    Changelog: [Internal]
    
    Reviewed By: rshest
    
    Differential Revision: D51866557
    
    fbshipit-source-id: 595de8d49c0654b36d70a2c8872173fd6232a2be
    zeyap authored and facebook-github-bot committed Dec 13, 2023
    Configuration menu
    Copy the full SHA
    c848bf9 View commit details
    Browse the repository at this point in the history
  2. translation auto-update for i18n/fb4a.config.json on master

    Summary:
    Chronos Job Instance ID: 1125907944443632
    Sandcastle Job Instance ID: 9007200387925392
    allow-large-files
    ignore-conflict-markers
    opt-out-review
    
    Differential Revision: D52106728
    
    fbshipit-source-id: b60dc162b0b45dc6b7a06f6a0f258d32789b8e88
    Intl Scheduler authored and facebook-github-bot committed Dec 13, 2023
    Configuration menu
    Copy the full SHA
    f676f42 View commit details
    Browse the repository at this point in the history
  3. Add fbjni wrapper for InspectorFlags (facebook#41913)

    Summary:
    Pull Request resolved: facebook#41913
    
    Progress towards an opt-in setup for our new CDP backend.
    
    - Adds and configures an [fbjni](https://github.com/facebookincubator/fbjni) interface for reading `jsinspector_modern::InspectorFlags`, allowing access in Java contexts.
    
    Changelog: [Internal]
    
    Reviewed By: motiz88
    
    Differential Revision: D52040150
    
    fbshipit-source-id: 5459eda2747279633a8312a3979ba29a1e0d1bde
    huntie authored and facebook-github-bot committed Dec 13, 2023
    Configuration menu
    Copy the full SHA
    7bdba28 View commit details
    Browse the repository at this point in the history
  4. Omit synthetic Debugger.disable message in modern CDP backend (facebo…

    …ok#41912)
    
    Summary:
    Pull Request resolved: facebook#41912
    
    Progress towards an opt-in setup for our new CDP backend.
    
    - For `DevSupportManagerBase` on Android: Conditionally omit sending `Debugger.disable` CDP message when new CDP backend is enabled.
    
    Reviewed By: motiz88
    
    Differential Revision: D52040149
    
    fbshipit-source-id: 452f46395261d2d9670bd38192d06e6fa8e1f93f
    huntie authored and facebook-github-bot committed Dec 13, 2023
    Configuration menu
    Copy the full SHA
    4fcfde1 View commit details
    Browse the repository at this point in the history
  5. Drop WITH_INSPECTOR build flag (facebook#41911)

    Summary:
    Pull Request resolved: facebook#41911
    
    Follow-up to D52040150.
    
    Changelog: [Internal]
    
    Reviewed By: motiz88
    
    Differential Revision: D52072475
    
    fbshipit-source-id: d028ca4c5282c4c061af08be5d7e63f1c3d9bdcb
    huntie authored and facebook-github-bot committed Dec 13, 2023
    Configuration menu
    Copy the full SHA
    957a197 View commit details
    Browse the repository at this point in the history
  6. Add 127.0.0.1 to allowlist for source map fetch

    Summary:
    Adds ipv4 localhost representation (127.0.0.1) to allowlisted hostnames for the inspector-proxy, to allow for proxied network requests fetching source maps.
    
    Changelog:
    [General][Fixed] Allow source map fetching in the inspector proxy from 127.0.0.1
    
    Reviewed By: motiz88
    
    Differential Revision: D52112849
    
    fbshipit-source-id: e6d45fa2fdfd570b7ab4f36121ba615c9b06d442
    Ian Park authored and facebook-github-bot committed Dec 13, 2023
    Configuration menu
    Copy the full SHA
    46d304a View commit details
    Browse the repository at this point in the history
  7. Update getDefaultJSExecutorFactory to load Hermes first and fallback …

    …to JSC (facebook#41914)
    
    Summary:
    Pull Request resolved: facebook#41914
    
    If the user does not specify which engine they're using, we still default to loading JSC first and then attempting to load Hermes.
    This has a small performance hit (as we attempt to load an existing library) + it prints an inactionable log for the user every time.
    
    Changelog:
    [Android] [Fixed] - Update getDefaultJSExecutorFactory to load Hermes first and fallback to JSC
    
    Reviewed By: luluwu2032
    
    Differential Revision: D52080545
    
    fbshipit-source-id: 95f37304d713da7d7079eabbd2dfdf230d29a1b9
    cortinico authored and facebook-github-bot committed Dec 13, 2023
    Configuration menu
    Copy the full SHA
    70a757f View commit details
    Browse the repository at this point in the history
  8. Fixed the height result of onContentSizeChange callback on iOS (faceb…

    …ook#41803)
    
    Summary:
    The height returned by TextInput's 'onContentSizeChange' callback method is incorrect
    
    Because, the borderwidth and horizontal padding are not subtracted from the content width used to calculate the height of the text.
    
    I have seen many people in the same situation in many issues. When I solved, some people suggested I submit a PR.
    
    More information can be found here [facebook#35234
    
    ## Changelog:
    
    [IOS] [FIXED]  - the wrong height result of onContentSizeChange callback
    
    <!-- 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
    
    Pull Request resolved: facebook#41803
    
    Test Plan: CI Green
    
    Reviewed By: NickGerleman
    
    Differential Revision: D51891909
    
    Pulled By: dmytrorykun
    
    fbshipit-source-id: fa297155ebdfc933cf0ea6bcdab37d7410809e8c
    zyestin authored and facebook-github-bot committed Dec 13, 2023
    Configuration menu
    Copy the full SHA
    5217cc9 View commit details
    Browse the repository at this point in the history
  9. Fix "Show Perf Monitor" crash in Catalyst (facebook#41926)

    Summary:
    Pull Request resolved: facebook#41926
    
    "Show Perf Monitor" is crashing due to some methods in FpsDebugFrameCallback.java calls bridge-only methods.
    
    Changelog:
    [Android][Changed] - Fix "Show Perf Monitor" crash in Catalyst
    
    Reviewed By: cortinico
    
    Differential Revision: D52053678
    
    fbshipit-source-id: 1a49ce6e9bb77cc07ceb796c5cacec179dba946d
    Lulu Wu authored and facebook-github-bot committed Dec 13, 2023
    Configuration menu
    Copy the full SHA
    6f11511 View commit details
    Browse the repository at this point in the history
  10. Ignore RCTThirdPartyFabricComponentsProvider for npm publish (faceboo…

    …k#41868)
    
    Summary:
    When publishing my RN fork I hit this issue where a RCTThirdPartyFabricComponentsProvider module would end up in the npm tarball which causes build issues. This file is generated by codegen and should never be included.
    
    ## Changelog:
    
    [INTERNAL] [FIXED] - Ignore RCTThirdPartyFabricComponentsProvider for npm publish
    
    Pull Request resolved: facebook#41868
    
    Test Plan: Tested that the file is no longer included when publishing my RN fork
    
    Reviewed By: christophpurrer
    
    Differential Revision: D52032223
    
    Pulled By: dmytrorykun
    
    fbshipit-source-id: a846813176d60119d97261131fd9d9a6aa919e62
    janicduplessis authored and facebook-github-bot committed Dec 13, 2023
    Configuration menu
    Copy the full SHA
    5a600e6 View commit details
    Browse the repository at this point in the history
  11. fix: reformat RCTLegacyInteropComponents (facebook#41908)

    Summary:
    When Codegen generates interop components it reformats `RCTLegacyInteropComponents.mm` to have each component in a new line. This creates this unnecessary diff every time I run `pod install`. This PR aims to commit a formatted version of the codegen-generated file to avoid creating this diff every time. Here is a reference of Codegen function generating this: https://github.com/facebook/react-native/blob/44d6e4310cc9ad0d711d05e8dd5ee5220738e5b5/packages/react-native/scripts/codegen/generate-legacy-interop-components.js#L53
    
    ![CleanShot 2023-12-12 at 14 09 34@2x](https://github.com/facebook/react-native/assets/52801365/2d5454d0-3bcb-484c-aa45-b5286c3ac5ba)
    
    ## Changelog:
    
    [INTERNAL] [CHANGED] - Reformat `RCTLegacyInteropComponents` to follow Codegen generated formatting
    
    Pull Request resolved: facebook#41908
    
    Test Plan: CI Green
    
    Reviewed By: cipolleschi
    
    Differential Revision: D52077611
    
    Pulled By: cortinico
    
    fbshipit-source-id: 12fbbfacc7e73147a988d321c8bc771acaaad8bb
    okwasniewski authored and facebook-github-bot committed Dec 13, 2023
    Configuration menu
    Copy the full SHA
    d5b1c71 View commit details
    Browse the repository at this point in the history
  12. Add safe guard when receive network response data too long (facebook#…

    …41717)
    
    Summary:
    Fixes facebook#41651
    
    ## Changelog:
    
    [IOS] [FIXED] - Add safe guard when receive network response data too long
    
    Pull Request resolved: facebook#41717
    
    Test Plan: None.
    
    Reviewed By: cortinico
    
    Differential Revision: D51981597
    
    Pulled By: dmytrorykun
    
    fbshipit-source-id: fabaa1490684da6725270e8ca617e3da97c56978
    zhongwuzw authored and facebook-github-bot committed Dec 13, 2023
    Configuration menu
    Copy the full SHA
    3c4517f View commit details
    Browse the repository at this point in the history
  13. (iOS) Fix strict prototype warning (facebook#41805)

    Summary:
    When using `RCT_EXTERN_REMAP_MODULE` a warning is produced with the following message: "A function declaration without a prototype is deprecated in all versions of C". This warning can be silenced by setting the `CLANG_WARN_STRICT_PROTOTYPES ` build setting. However this PR addresses the underlying problem resulting in no warning messages.
    
    ## Changelog:
    
    [IOS] [FIXED] - Fixed strict prototype warning when using the RCT_EXTERN_REMAP_MODULE macro.
    
    Pull Request resolved: facebook#41805
    
    Reviewed By: NickGerleman
    
    Differential Revision: D51891880
    
    Pulled By: dmytrorykun
    
    fbshipit-source-id: 7804d624b248b568643956a8a7b7e0f8540b5ae2
    dehlen authored and facebook-github-bot committed Dec 13, 2023
    Configuration menu
    Copy the full SHA
    746ad37 View commit details
    Browse the repository at this point in the history
  14. remove unused methods from RCTAppearance (facebook#41920)

    Summary:
    Pull Request resolved: facebook#41920
    
    Changelog: [Internal]
    
    these overrides do nothing, the superclass leaves these empty as well. remove
    
    Reviewed By: cipolleschi
    
    Differential Revision: D51968873
    
    fbshipit-source-id: a214903d2834aa502c9e81ebaab928694bfa0818
    philIip authored and facebook-github-bot committed Dec 13, 2023
    Configuration menu
    Copy the full SHA
    9dbecc5 View commit details
    Browse the repository at this point in the history
  15. Change offsetParent, offsetTop and offsetLeft to respect positioned a…

    …ncestor, not parent (facebook#41903)
    
    Summary:
    Pull Request resolved: facebook#41903
    
    These offset methods are supposed to be in reference to the node's nearest positioned (non-static) ancestor: https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetParent. Right now, because static did not exist, they return the offset from the parent. This changes it so that the API is spec compliant and will look at the position of its ancestors before settling on the right offset. I added a helper `getNewestPositionedAncestorOfShadowNode` to get the correct node. Then I use that to calculate the proper offset
    
    Changelog: [Internal]
    
    Reviewed By: rubennorte, NickGerleman
    
    Differential Revision: D51414950
    
    fbshipit-source-id: ebc8de1d3a0f3e9485f63e792b5bef5b9151460d
    joevilches authored and facebook-github-bot committed Dec 13, 2023
    Configuration menu
    Copy the full SHA
    1e22fa3 View commit details
    Browse the repository at this point in the history

Commits on Dec 14, 2023

  1. Use enum classes in C++ Turbo Modules (facebook#41923)

    Summary:
    Pull Request resolved: facebook#41923
    
    Changelog: [Internal][BREAKING] Use C++ enum classes in C++ Turbo Modules
    
    Problem:
    Using **C styles** `enums` can easily cause compiliation errors if symbol names collide. This code does not compile:
    ```
    enum CustomEnumInt { A = 23, B = 42 };
    
    static int A = 22;
    ```
    
    This **C++ code**, using `enum classes` compiles:
    ```
    enum class CustomEnumInt : int32_t { A = 23, B = 42 };
    
    static int A = 22;
    ```
    
    Reviewed By: rshest
    
    Differential Revision: D52098598
    
    fbshipit-source-id: c919bd2e41970c83a032fec91b0537cd6fae8397
    christophpurrer authored and facebook-github-bot committed Dec 14, 2023
    Configuration menu
    Copy the full SHA
    8183afe View commit details
    Browse the repository at this point in the history
  2. Unify SetProps for View and ShadowView in the InteropLayer (facebook#…

    …41941)
    
    Summary:
    Pull Request resolved: facebook#41941
    
    While working on the interop layer, I realized that htis code is duplicated.
    
    ## Changelog
    [Internal] - Use the same method for View And ShadowView in the Interop layer
    
    Reviewed By: sammy-SC
    
    Differential Revision: D51752171
    
    fbshipit-source-id: 579652de262fea7edb13a1329cb07683eab78124
    cipolleschi authored and facebook-github-bot committed Dec 14, 2023
    Configuration menu
    Copy the full SHA
    201d2d1 View commit details
    Browse the repository at this point in the history
  3. Improve setting props of the Interop Layer (facebook#41942)

    Summary:
    Pull Request resolved: facebook#41942
    
    Previously, every time a component was updated, we were passing all the props to the interoperated component.
    With this change, we are going to only pass the props that are changed.
    
    As a safety feature, if the new codepath is not able to detect the type of the prop properly, it will fall back to the previous behavior.
    
    ## Changelog:
    [Internal] - Only pass props to the interoperated component when they changes
    
    Reviewed By: sammy-SC
    
    Differential Revision: D51755764
    
    fbshipit-source-id: 0185d2cceeab2a1e45b87d5a1e82ab06e00aa82d
    cipolleschi authored and facebook-github-bot committed Dec 14, 2023
    Configuration menu
    Copy the full SHA
    b098297 View commit details
    Browse the repository at this point in the history
  4. deprecate @Property methodQueue (facebook#41944)

    Summary:
    Pull Request resolved: facebook#41944
    
    Changelog: [iOS][Deprecated]
    
    i think we can now communicate the deprecation of this selector.
    
    after removing all of the synthesize methodQueue callsites in our codebase, our native modules are still stable, save for one native module, RCTNetworking. so i feel comfortable recommending users to create their own queues.
    
    and after removing `methodQueue` overrides to support synchronous void methods, those modules are also still stable, so i'm also comfortable we can recommend handling the dispatch_async in the product layer.
    
    Reviewed By: arushikesarwani94, cipolleschi
    
    Differential Revision: D52150696
    
    fbshipit-source-id: ff6b90fc685796e5560167f1377a76526ee07744
    philIip authored and facebook-github-bot committed Dec 14, 2023
    Configuration menu
    Copy the full SHA
    a0efa26 View commit details
    Browse the repository at this point in the history
  5. support Array param for native component command (facebook#41899)

    Summary:
    Pull Request resolved: facebook#41899
    
    Changelog: [Internal]
    
    Reviewed By: dmytrorykun
    
    Differential Revision: D52046165
    
    fbshipit-source-id: b8276b3db54b3f88b90f16a3275d591decfa5fb3
    zeyap authored and facebook-github-bot committed Dec 14, 2023
    Configuration menu
    Copy the full SHA
    c52af32 View commit details
    Browse the repository at this point in the history
  6. Deploy 0.224.0 to xplat (facebook#41949)

    Summary:
    Pull Request resolved: facebook#41949
    
    Changelog: [internal]
    
    Reviewed By: gkz
    
    Differential Revision: D52177280
    
    fbshipit-source-id: 37fe478645ad30b40f4fb4e81d7fc467ac971928
    Alex Taylor (alta) authored and facebook-github-bot committed Dec 14, 2023
    Configuration menu
    Copy the full SHA
    1fed7ab View commit details
    Browse the repository at this point in the history

Commits on Dec 15, 2023

  1. Update ReactAndroid.api (facebook#41951)

    Summary:
    Pull Request resolved: facebook#41951
    
    Update ReactAndroid.api
    
    changelog: [internal] internal
    
    Reviewed By: RSNara
    
    Differential Revision: D52185871
    
    fbshipit-source-id: b8284e1cfaa6fe998904f9a5e7ae4c297905f1eb
    mdvacca authored and facebook-github-bot committed Dec 15, 2023
    Configuration menu
    Copy the full SHA
    8e1c45a View commit details
    Browse the repository at this point in the history
  2. add RNTester example for native command Array param (facebook#41897)

    Summary:
    Pull Request resolved: facebook#41897
    
    Changelog: [Internal]
    
    Reviewed By: christophpurrer
    
    Differential Revision: D51875073
    
    fbshipit-source-id: 403274b3063d7c49fe4642347d2f724d58a46c1f
    zeyap authored and facebook-github-bot committed Dec 15, 2023
    Configuration menu
    Copy the full SHA
    5d1eac0 View commit details
    Browse the repository at this point in the history
  3. Introduce "outputDir" property of "codegenConfig" (facebook#41782)

    Summary:
    Pull Request resolved: facebook#41782
    
    This diff adds `outputDir` property to `codegenConfig`.
    Now codegen output dir is resolved like this:
    1. It is set to `outputDir` argument of `generate-codegen-artifacts.js` if it is present.
    2. *[New]* It is set to `outputDir` property of `codegenConfig` if it is present.
    3. It is set to the project root.
    
    Changelog: [General][Added] - Introduce "outputDir" property of "codegenConfig"
    
    Reviewed By: cipolleschi
    
    Differential Revision: D51494009
    
    fbshipit-source-id: 0f6e3607b29a3c6d228a88a9460d55bb65c7e55a
    dmytrorykun authored and facebook-github-bot committed Dec 15, 2023
    Configuration menu
    Copy the full SHA
    d45a01d View commit details
    Browse the repository at this point in the history
  4. Use conditional type to flattern RN styles (facebook#41931)

    Summary:
    Pull Request resolved: facebook#41931
    
    `GenericStyleProp` is defined as
    
    ```
    type GenericStyleProp<+T> =
      | null
      | void
      | T
      | false
      | ''
      | $ReadOnlyArray<GenericStyleProp<T>>;
    ```
    
    and `____FlattenStyleProp_Internal` is designed to reverse it. We can use conditional type to achieve it instead of $Call:
    
    `null | void | false | ''` doesn't contribute to anything doing reversal, so they are mapped to empty. When we encounter $ReadOnlyArray, we recursively apply `____FlattenStyleProp_Internal`. Otherwise, we return the input type.
    
    Changelog: [Internal]
    
    Reviewed By: jbrown215
    
    Differential Revision: D52142082
    
    fbshipit-source-id: 590c71c6400498730675e20c67b173c3bc285d00
    SamChou19815 authored and facebook-github-bot committed Dec 15, 2023
    Configuration menu
    Copy the full SHA
    ce69213 View commit details
    Browse the repository at this point in the history

Commits on Dec 16, 2023

  1. Fix sizing and alignment issues with multi-line containers (facebook#…

    …41916)
    
    Summary:
    X-link: facebook/yoga#1513
    
    Pull Request resolved: facebook#41916
    
    Fixes facebook/yoga#1300
    Fixes facebook/yoga#1008
    
    This fixes a smattering of issues related to both sizing and aligment of multi-line-containers:
    
    1. We were previously incorrectly bounding the size of each flex line to the min/max of the entire container.
    2. Per-line leads were sometimes incorrectly contributing to alignment within the line
    3. The cross dim size used for multi-line alignment is not correct, or correctly clamped. If the available size comes from a max constraint, that was incorrectly used instead of a definite size, or size of content. Leads were entirely skipped for min constraint.
    
    Need to test how breaking this is, to see if it might need to go behind an errata.
    
    See related PRs:
    1. facebook/yoga#1491
    2. facebook/yoga#1493
    3. facebook/yoga#1013
    
    Changelog:
    [General][Fixed] - Fix Yoga sizing and alignment issues with multi-line containers
    
    Reviewed By: joevilches
    
    Differential Revision: D52087013
    
    fbshipit-source-id: 8d95ad17e58c1fec1cceab9756413d0b3bd4cd8f
    NickGerleman authored and facebook-github-bot committed Dec 16, 2023
    Configuration menu
    Copy the full SHA
    b221265 View commit details
    Browse the repository at this point in the history
  2. Install bundler versions depending on Ruby version (facebook#41962)

    Summary:
    Since yesterday evening (why it is always friday evening???) CircleCI or Gem decided to update the default bundler version that is installed with `gem bundle install`.
    Therefore, CI for iOS stopped working.
    
    This change installs bundler's versions so that they are compatible with the Ruby version.
    
    ## Changelog:
    
    [Internal] - Fix CI for iOS installing versions of bundler that are compatible with Ruby
    
    Pull Request resolved: facebook#41962
    
    Test Plan: CircleCI is green
    
    Reviewed By: GijsWeterings
    
    Differential Revision: D52230544
    
    Pulled By: cipolleschi
    
    fbshipit-source-id: 2f96e16ecb94159953056e8de757ea4d249f80f0
    cipolleschi authored and facebook-github-bot committed Dec 16, 2023
    Configuration menu
    Copy the full SHA
    479b4bb View commit details
    Browse the repository at this point in the history
  3. Ensure Bridge and Bridgeless register native modules using the same o…

    …rder
    
    Summary: I've noticed that Bridge and Bridgeless initialize the list of ReactPackages using a different order, we are fixing it in this diff
    
    Reviewed By: philIip
    
    Differential Revision: D52145148
    
    fbshipit-source-id: 6ad85bd0903f9beab455783e8deaf5c529b87a2e
    mdvacca authored and facebook-github-bot committed Dec 16, 2023
    Configuration menu
    Copy the full SHA
    17d2c8a View commit details
    Browse the repository at this point in the history

Commits on Dec 17, 2023

  1. std::terminate belongs to <exception> header (facebook#41917)

    Summary:
    Pull Request resolved: facebook#41917
    
    See also https://en.cppreference.com/w/cpp/error/terminate.
    
    X-link: facebook/yoga#1511
    
    Reviewed By: christophpurrer
    
    Differential Revision: D52072882
    
    Pulled By: NickGerleman
    
    fbshipit-source-id: 4d4d442b82d108d1d2ff5d241fbdc8df89045fed
    zcbenz authored and facebook-github-bot committed Dec 17, 2023
    Configuration menu
    Copy the full SHA
    b3ba340 View commit details
    Browse the repository at this point in the history
  2. Fix align-content of cross-stretched container (facebook#41964)

    Summary:
    Pull Request resolved: facebook#41964
    
    X-link: facebook/yoga#1524
    
    D52087013 (microsoft#1513) fixed some issues, including where measuring under max-content or fit-content, align-content stretch would consume the entire available cross-dimensions, instead of only sizing to definite dimension, like the spec dicates.
    
    I missed a case, where flexbox considers a container as having a definite cross-size if it is being stretched, even if it doesn't have a definite length.
    
    https://www.w3.org/TR/css-flexbox-1/#definite-sizes
    
    > 3. Once the cross size of a flex line has been determined, items in auto-sized flex containers are also considered definite for the purpose of layout;
    
    > 1. If a single-line flex container has a definite cross size, the outer cross size of any stretched flex items is the flex container’s inner cross size (clamped to the flex item’s min and max cross size) and is considered definite.
    
    We handle `align-items: stretch` of a flex container after cross-size determination by laying out the child under stretch-fit (previously YGMeasureModeExactly) constraint. This checks that case, and sizing the line container to specified cross-dim if we are told to stretch to it.
    
    We could probably afford to merge this a bit with later with what is currently step 9, where we end up redoing some of this same math.
    
    Reviewed By: yungsters
    
    Differential Revision: D52234980
    
    fbshipit-source-id: 475773a352fd01f63a4b21e93a55519726dc0da7
    NickGerleman authored and facebook-github-bot committed Dec 17, 2023
    Configuration menu
    Copy the full SHA
    b7eb0c8 View commit details
    Browse the repository at this point in the history
  3. Change Style::resolveColumnGap() return from Length to Style::Length

    Summary:
    X-link: facebook/yoga#1525
    
    Accidentally left this inconsistent with some of the refactoring. Rename the lone usage of `Length` within Style class to `Style::Length` to match the rest of the code.
    
    This is functionally identical as before.
    
    Changelog: [Internal]
    
    bypass-github-export-checks
    
    Reviewed By: yungsters
    
    Differential Revision: D52096820
    
    fbshipit-source-id: d6c569a02fb27a6e7548a9c12ff764afb823a282
    NickGerleman authored and facebook-github-bot committed Dec 17, 2023
    Configuration menu
    Copy the full SHA
    2441fa2 View commit details
    Browse the repository at this point in the history

Commits on Dec 18, 2023

  1. Use $REACT_NATIVE_PATH instead of relative path (facebook#41968)

    Summary:
    I believe it's valuable to be able to initialise the React Native template into a mono-repo and have it work with zero updates to the configuration.
    In its current form the template's Xcode project makes assumptions on the relative location of the `react-native` package, while it could instead use the `REACT_NATIVE_PATH` variable set in the `scripts/cocoapods/utils.rb` script:
    
    https://github.com/facebook/react-native/blob/2441fa284716ef782ec12dd0c2801548f8c47339/packages/react-native/scripts/cocoapods/utils.rb#L82
    
    via
    
    https://github.com/facebook/react-native/blob/2441fa284716ef782ec12dd0c2801548f8c47339/packages/react-native/template/ios/Podfile#L35
    
    ## Changelog:
    
    [IOS] [ADDED] - Add use of the `REACT_NATIVE_PATH` in the "Bundle React Native code and images" shell script build phase. This will help apps initialized into a mono-repo which hoists the `react-native` package.
    
    Pull Request resolved: facebook#41968
    
    Test Plan: I initialized the React Native template into an NPM workspaces mono-repo and experienced a failure running the script phase. I updated it to the code in this PR, which resolved the issue.
    
    Reviewed By: christophpurrer, cipolleschi
    
    Differential Revision: D52240559
    
    Pulled By: robhogan
    
    fbshipit-source-id: 1c5710c8ffe9d289f32c5ed83cb58ae27f3c931a
    kraenhansen authored and facebook-github-bot committed Dec 18, 2023
    Configuration menu
    Copy the full SHA
    289e783 View commit details
    Browse the repository at this point in the history
  2. chore: changelog for 0.73.1 (facebook#41970)

    Summary:
    Adds changelog for the 0.73.1 patch.
    
    ## 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
    -->
    
    [Internal] [Changed] - Add 0.73.1 changelog
    
    Pull Request resolved: facebook#41970
    
    Reviewed By: christophpurrer
    
    Differential Revision: D52253474
    
    Pulled By: huntie
    
    fbshipit-source-id: 18fb45afcbb4fa0f864916922c0e9d69cc6d213f
    Titozzz authored and facebook-github-bot committed Dec 18, 2023
    Configuration menu
    Copy the full SHA
    13c5cef View commit details
    Browse the repository at this point in the history
  3. Remove last useges of configFileDir CLI argument (facebook#41936)

    Summary:
    Pull Request resolved: facebook#41936
    
    This argument was removed in D51303793. This diff removes all remaining usages of it.
    
    Changelog: [Internal]
    
    Reviewed By: cipolleschi
    
    Differential Revision: D52035346
    
    fbshipit-source-id: 99886be7ed810f58d8fb31fb22a44b2471e974ce
    dmytrorykun authored and facebook-github-bot committed Dec 18, 2023
    Configuration menu
    Copy the full SHA
    a5ee029 View commit details
    Browse the repository at this point in the history
  4. Add the DoubleConversion dependency to third-party libraries (faceboo…

    …k#41972)
    
    Summary:
    Pull Request resolved: facebook#41972
    
    This diff adds the `DoubleConversion` dependency to the `install_modules_dependencies` function, that installs all the dependencies that third-party libraries might need.
    The libraries will need the `DoubleConversion` pod if they include the generated Fabric files.
    
    Changelog: [Internal]
    
    Reviewed By: cipolleschi
    
    Differential Revision: D51848314
    
    fbshipit-source-id: ae2ce022c6f51ce392852494c61e26ff810d30d0
    dmytrorykun authored and facebook-github-bot committed Dec 18, 2023
    Configuration menu
    Copy the full SHA
    32dab7a View commit details
    Browse the repository at this point in the history
  5. Make the Fabric Interop Layer automatic (facebook#41656)

    Summary:
    Pull Request resolved: facebook#41656
    
    This change makes all the legacy components to go through the interop layer.
    It also introduce the `RCTFabricInteropLayerEnabled()` and the `RCTEnableFabricInteropLayer(BOOL)` functions to work as feature flags behind the change to completely disable the Interop layer.
    
    ## Changelog
    [iOS][Changed] - Make the Fabric Interop Layer automatic when the Nw architecture is enabled.
    
    Reviewed By: cortinico
    
    Differential Revision: D51586461
    
    fbshipit-source-id: 8f92a76e6dbbee93055a1ebe49779dd64e484d95
    cipolleschi authored and facebook-github-bot committed Dec 18, 2023
    Configuration menu
    Copy the full SHA
    27f38f6 View commit details
    Browse the repository at this point in the history
  6. fix(rn-tester): add missing params when running Android app from watc…

    …h mode (facebook#41979)
    
    Summary:
    Passed `--mode HermesDebug` to `run-android` command when running from watch mode by pressing `a` on terminal running a dev server. The flag is the same as in the `package.json`:
    https://github.com/facebook/react-native/blob/27f38f6f0647ec1809ee0a0d8e9da3a77a9115b1/packages/rn-tester/package.json#L17
    
    ## Changelog:
    
    [INTERNAL] [CHANGED] - Add missing params when running Android app from watch mode by pressing `a`
    
    Pull Request resolved: facebook#41979
    
    Test Plan: Run `yarn start` press `a` in the watch mode, and Android app should be build and launch correctly.
    
    Reviewed By: cipolleschi
    
    Differential Revision: D52265462
    
    Pulled By: lunaleaps
    
    fbshipit-source-id: b2fbe6c889d8067876e160a8ce64dedcc4ce24d7
    szymonrybczak authored and facebook-github-bot committed Dec 18, 2023
    Configuration menu
    Copy the full SHA
    43826fa View commit details
    Browse the repository at this point in the history

Commits on Dec 19, 2023

  1. Removing Fabric check from UIManagerProvider (facebook#41982)

    Summary:
    Pull Request resolved: facebook#41982
    
    Moving the check for Fabric i.e. `ReactFeatureFlags.enableFabricRenderer` to old JSI Module path logic instead of new UIManagerProvider path for Fabric initialization and changing the default of UIManagerProvider from `null` -> `reactApplicationContext -> null;` since we are adding null check on the returned `UIManager`
    
    Slight change of design of API for JSI Module in order to address the issues faced due to `ReactFeatureFlags.enableFabricRenderer`,
    1. Getting rid of this check for the new Fabric initialization and keeping the old JSI Module path intact.
    2. Allowing the UIManager to be nullable so as to allow Twilight surface not have UIManager set even though they it succeeds in initializing the TwilightJSIModule.
    3. As made the UIManager nullable, added the null check for the same.
    4. This eradicates the dependency on this flag for Anna as well.
    
    Reviewed By: christophpurrer
    
    Differential Revision: D52273097
    
    fbshipit-source-id: bdf8b1de3771250c987c8f8bd4e48192f67a1afa
    arushikesarwani94 authored and facebook-github-bot committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    1045b22 View commit details
    Browse the repository at this point in the history
  2. Replace utils.parseArgs with yargs (facebook#41924)

    Summary:
    Pull Request resolved: facebook#41924
    
    `utils.parseArgs` are only available in Node >=18.3, we can't use this function because we target Node >=18.0.
    This diff replaces `utils.parseArgs` with `yargs`.
    
    Changelog: [Internal]
    
    Reviewed By: cipolleschi
    
    Differential Revision: D52117818
    
    fbshipit-source-id: 79223997874b6cfdea2ce38243b615a0dbb704a6
    dmytrorykun authored and facebook-github-bot committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    c45c13f View commit details
    Browse the repository at this point in the history
  3. Introduce "codegenConfig.includesGeneratedCode" property (facebook#41655

    )
    
    Summary:
    Pull Request resolved: facebook#41655
    
    This diff adds support for checked-in codegen artifacts for libraries.
    It introduces a new property to `codegenConfig`, called `includesGeneratedCode`. If codegen sees `includesGeneratedCode: true` in a project's dependency, it assumes that the library has codegen artifacts in it, and will not generate any code.
    
    Changelog: [General][Added] - Introduce "codegenConfig.includesGeneratedCode" property.
    
    Reviewed By: cipolleschi
    
    Differential Revision: D51207265
    
    fbshipit-source-id: 65855fd846e24a53cb18008839121e99eeb59309
    dmytrorykun authored and facebook-github-bot committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    21784e2 View commit details
    Browse the repository at this point in the history
  4. feat: Optimise RCTKeyWindow() calls in RCTForceTouchAvailable method (f…

    …acebook#41935)
    
    Summary:
    This PR optimises RCTKeyWindow() calls in `RCTForceTouchAvailable` method. This method was calling RCTKeyWindow hundreds of times while scrolling on the screen.
    
    Before:
    
    On the video you can see that this function is being called **350 times** just from simple list scrolling. RCTKeyWindow is looping over app windows so it's not a cheap operation.
    
    https://github.com/facebook/react-native/assets/52801365/5b69cbd6-d148-4d06-b672-bd7b60472c13
    
    After: the function is called only few times at the start of the app to get initial layout measurements.
    
    Solution: I think we can check just once for the force touch capabilities as devices can't change it on the fly
    
    bypass-github-export-checks
    
    ## Changelog:
    
    [IOS] [FIXED] - Optimise RCTKeyWindow() calls in RCTForceTouchAvailable method
    
    Pull Request resolved: facebook#41935
    
    Test Plan: CI Green
    
    Reviewed By: dmytrorykun
    
    Differential Revision: D52172510
    
    Pulled By: cipolleschi
    
    fbshipit-source-id: 881a3125a2af4376ce65d785d8eee09c7d8f1f16
    okwasniewski authored and facebook-github-bot committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    90fb73e View commit details
    Browse the repository at this point in the history
  5. Make CompactValue internal detail of yoga::Style (facebook#41776)

    Summary:
    Pull Request resolved: facebook#41776
    X-link: facebook/yoga#1492
    
    # Summary
    
    In preparation to replace `CompactValue`, this fully encapsulates it as an implementation detail of `yoga::Style`.
    
    The internal API now always operates on `Style::Length`, converted to `YGValue` at the public API boundary.
    
    In the next step, we can plug in a new representation within `Style`, which should enable 64 bit values, and lower memory usage.
    
    # Test Plan
    
    1. Existing tests (inc for style, invalidation, CompactValue) pass
    2. Check that constexpr `yoga::isinf()` produces same assembly under Clang as `std::isinf()`
    3. Fabric Android builds
    4. Yoga benchmark does style reads
    
    # Performance
    
    Checking whether a style is defined, then reading after, is a hot path, and we are doubling any space style lengths take in the stack (but not long-term on the node). After a naive move, on one system, the Yoga benchmark creating, laying out, and destroying a tree, ran about 8-10%  slower in the "Huge nested flex" example. We are converting in many more cases instead of doing undefined check, but operating on accessed style values no longer needs to do the conversion multiple times.
    
    I changed the `CompactValue` conversion to YGValue/StyleLength path to check for undefined as the common case (since we always convert, instead of calling `isUndefined` directly on CompactValue. That seemed to get the difference down to ~5-6% when I was playing with it then. We can optimistically make some of this up with ValuePool giving better locality, and fix this more holistically if we reduce edge and value resolution.
    
    On another machine where I tested this, the new revision went the opposite direction, and was about 5% faster, so this isn't really a cut and dry regression, but we see different characteristics than before.
    
    # Changelog
    [Internal]
    
    Reviewed By: rozele
    
    Differential Revision: D51775346
    
    fbshipit-source-id: c618af41b4882b4a227c917fcad07375806faf78
    NickGerleman authored and facebook-github-bot committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    6e71851 View commit details
    Browse the repository at this point in the history
  6. yoga::resolveValue -> Length::resolve (facebook#41939)

    Summary:
    Pull Request resolved: facebook#41939
    
    X-link: facebook/yoga#1520
    
    This code originates as `YGValueResolve`, used to compute a YGValue to a length in points, using a reference for 100%.
    
    This moves it to `Style::Length`, so we can encapsulate parts of it (for style value functions), and make the API more cohesive now that we can do C++ style OOP with it.
    
    Changelog: [Internal]
    
    Reviewed By: joevilches
    
    Differential Revision: D51796973
    
    fbshipit-source-id: a7c359c7544f4bd2066a80d976dde67a0d16f1dd
    NickGerleman authored and facebook-github-bot committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    87a636a View commit details
    Browse the repository at this point in the history
  7. Node::styleDefinesDimension() -> Node::hasDefiniteLength() (facebook#…

    …41995)
    
    Summary:
    Pull Request resolved: facebook#41995
    
    X-link: facebook/yoga#1526
    
    This function has made quite the journey from something that originally made more sense. This renames, refactors, and adds documentation for what it actually does.
    
    This should eventually make its way into `yoga::Style` once computed style is moved into that structure.
    
    bypass-github-export-checks
    
    Reviewed By: joevilches
    
    Differential Revision: D52105718
    
    fbshipit-source-id: 6492224dd2e10cef3c5fc6a139323ad189a0925c
    NickGerleman authored and facebook-github-bot committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    52af3e4 View commit details
    Browse the repository at this point in the history
  8. Reorder members in Node.h (facebook#41994)

    Summary:
    Pull Request resolved: facebook#41994
    
    X-link: facebook/yoga#1529
    
    Reorganizes the header according to common C++ convnetions. Public first, then private. Constructors, then functions, then member variables.
    
    Reviewed By: joevilches
    
    Differential Revision: D52106056
    
    fbshipit-source-id: 0095cf7caa58dc79c1803b3b231911e4fc66ddaf
    NickGerleman authored and facebook-github-bot committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    9436d2d View commit details
    Browse the repository at this point in the history
  9. Deploy 0.225.0 to xplat (facebook#42004)

    Summary:
    Pull Request resolved: facebook#42004
    
    Changelog: [Internal]
    
    Reviewed By: SamChou19815
    
    Differential Revision: D52305312
    
    fbshipit-source-id: b18045c450dc3204b08452ede17b76d1a43cce50
    pieterv authored and facebook-github-bot committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    bd4ddbe View commit details
    Browse the repository at this point in the history
  10. Add E2E Test for experimental_layoutConformance (facebook#42002)

    Summary:
    Pull Request resolved: facebook#42002
    
    Adds an E2E test on top of the RNTester example for this (as a practice we should probably do this for new examples).
    
    I didn't add unit tests for this originally, but probably should do that as well if it gets more interesting...
    
    Changelog: [Internal]
    
    Reviewed By: joevilches
    
    Differential Revision: D51639134
    
    fbshipit-source-id: 379d95dfc676252e10b7076e294ac5534c6f06bf
    NickGerleman authored and facebook-github-bot committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    11d3e11 View commit details
    Browse the repository at this point in the history
  11. Set InspectorFlags in RCTAppDelegate (facebook#41976)

    Summary:
    Pull Request resolved: facebook#41976
    
    Progress towards an opt-in setup for our new CDP backend.
    
    - Wires up D51563107 to conditionally disable the legacy Hermes debugger via `ReactNativeConfig`.
        - **Configuration covered**: iOS, for the `RCTAppDelegate` code path.
    - Create C++-only overload of `RCTAppSetupPrepareApp`, deprecate the previous function.
    
    Changelog:
    [iOS][Deprecated] - Deprecate `RCTAppSetupPrepareApp`, replaced with C++ overload
    
    Reviewed By: motiz88
    
    Differential Revision: D51589221
    
    fbshipit-source-id: 1688f97c69abb06d271b4d26b875365a8d86ba77
    huntie authored and facebook-github-bot committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    7a4950b View commit details
    Browse the repository at this point in the history
  12. Delete unused methods in JSCHeapCapture (facebook#41973)

    Summary:
    Pull Request resolved: facebook#41973
    
    Delete unused methods in JSCHeapCapture
    
    changelog: [internal] internal
    
    Reviewed By: christophpurrer
    
    Differential Revision: D52153259
    
    fbshipit-source-id: 323dfc5ab5848f246a3a603ae8b973db9044685f
    mdvacca authored and facebook-github-bot committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    0373329 View commit details
    Browse the repository at this point in the history

Commits on Dec 20, 2023

  1. clean up unused methods from NativeBugReporting (facebook#41984)

    Summary:
    Pull Request resolved: facebook#41984
    
    Changelog: [Internal]
    
    this is unused anywhere, delete. for some reason we only have the spec file in oss but no native implementation
    
    Reviewed By: christophpurrer
    
    Differential Revision: D51968870
    
    fbshipit-source-id: a4931d08c50954bfa557451e5e4d79a10dfeaefe
    philIip authored and facebook-github-bot committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    60b1182 View commit details
    Browse the repository at this point in the history
  2. Update hermes-parser and related packages in fbsource to 0.18.2 (face…

    …book#42003)
    
    Summary:
    Pull Request resolved: facebook#42003
    
    Bump hermes-parser and related packages to [0.18.2](https://github.com/facebook/hermes/blob/main/tools/hermes-parser/js/CHANGELOG.md).
    
    Changelog: [internal]
    
    Reviewed By: pieterv
    
    Differential Revision: D52303145
    
    fbshipit-source-id: 1b2b07c16bf55879ecb3b6611cbd53faa1ecc012
    Alex Taylor (alta) authored and facebook-github-bot committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    e730fdf View commit details
    Browse the repository at this point in the history
  3. Back out "Add log message if App moves to background" (facebook#41971)

    Summary:
    Pull Request resolved: facebook#41971
    
    Original commit changeset: 29e1aba9c4ea
    
    Original Phabricator Diff: D49956535
    
    D49956535 added the new behaviour of logging helpful messages to the CDP console when the app is backgrounded/foregrounded. The underlying UX issue is legitimate: how do we reinforce the mental connection between the debugger frontend and the app being debugged, when they might be running in different windows or even machines, and particularly when the app might be backgrounded while the debugger frontend remains active.
    
    However, this implementation is too closely coupled to the socket management layer, and is iOS-specific to boot. I'm removing it here to simplify porting `RCTInspectorPackagerConnection` to C++. We can revisit this UX problem later - preferably by investigating how it's handled in the case of Chrome Android and a remote DevTools client.
    
    This feature has not been included in an OSS release of React Native yet, so very few users will be affected by its removal.
    
    Changelog: [iOS][Removed] - Revert D49956535; remove console.log notification in DevTools if app transitions between back/foreground.
    
    Reviewed By: blakef
    
    Differential Revision: D51468311
    
    fbshipit-source-id: b875d6cf03d3521c8e876c358b2299f20d395400
    motiz88 authored and facebook-github-bot committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    82bc2d7 View commit details
    Browse the repository at this point in the history
  4. Use didReceiveMessageWithString in RCTInspectorPackagerConnection (fa…

    …cebook#41974)
    
    Summary:
    Pull Request resolved: facebook#41974
    
    Changelog: [Internal]
    
    Switches `RCTInspectorPackagerConnection` to use the recommended and type-safe `didReceiveMessageWithString` method to receive messages from SRWebSocket.
    
    Reviewed By: huntie
    
    Differential Revision: D52257082
    
    fbshipit-source-id: ce1233a06b15a353500f81ae5a7730422c668be7
    motiz88 authored and facebook-github-bot committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    9842994 View commit details
    Browse the repository at this point in the history
  5. Update CHANGELOG.md (facebook#42011)

    Summary:
    Adds changelog for the 0.72.8 release.
    
    ## 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
    -->
    
    [INTERNAL] [CHANGED] - Add changelog for the 0.72.8 release.
    
    Pull Request resolved: facebook#42011
    
    Test Plan: Read the changelog 🤞
    
    Reviewed By: christophpurrer
    
    Differential Revision: D52325318
    
    Pulled By: huntie
    
    fbshipit-source-id: 377a81f255c909b7da9370d6e3856265e2081b46
    fortmarek authored and facebook-github-bot committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    b00569c View commit details
    Browse the repository at this point in the history
  6. Introduce "headerPrefix" codegen option (facebook#41956)

    Summary:
    Pull Request resolved: facebook#41956
    
    By default, generated Cxx sources for components all end up in same directory. However the include declarations in them look like this:
    ```
    #include <react/renderer/components/${libraryName}/ShadowNodes.h>
    ```
    And not like this:
    ```
    #include "ShadowNodes.h"
    ```
    This works fine with Buck because it supports header prefixes.
    To get this working with CocoaPods we define additional `HEADER_SEARCH_PATHS` for our `React-Codegen` pod.
    This approach will not work if we want to generate code at the library level and check in the artifacts. That's because we don't have control over the Podspec there, and can't inject those additional `HEADER_SEARCH_PATHS`.
    
    This diff adds the `headerPrefix` argument to the codegen entry point. It is `react/renderer/components/${libraryName}` by default, but can become empty if we want to generate code at the library level, and don't want to deal with this nested header structure.
    
    *Note:* `RNCodegen` runs all the generators [in a loop](https://github.com/facebook/react-native/blob/main/packages/react-native-codegen/src/generators/RNCodegen.js#L263-L275), assuming that the all have same function signature So I had to add the `headerPrefix` argument to all the generators, even to the ones that don't really need it.
    
    Changelog: [General][Added] - Introduce "headerPrefix" codegen option.
    
    Reviewed By: zeyap
    
    Differential Revision: D51811596
    
    fbshipit-source-id: c5c3e1e571c7c4ea2f5354eb9a7b0df6b917fc0c
    dmytrorykun authored and facebook-github-bot committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    dae4a11 View commit details
    Browse the repository at this point in the history
  7. Remove unused bundle status reporting from inspector infra (facebook#…

    …41975)
    
    Summary:
    Pull Request resolved: facebook#41975
    
    The version of `inspector-proxy` included with React Native has not used the `isLastBundleDownloadSuccess` and `bundleUpdateTimestamp` properties in years. This diff removes the backend support for reporting them (in preparation for a C++ rewrite of this infrastructure). We can consider bringing a similar feature back in the future on top of the modern CDP infra (which we are currently building).
    
    Changelog: [General][Breaking] Remove APIs for reporting bundle download status to inspector-proxy, which does not use this information.
    
    Reviewed By: huntie
    
    Differential Revision: D52258567
    
    fbshipit-source-id: e810278f949d8ab7dbc660cdc036a0f8464727f6
    motiz88 authored and facebook-github-bot committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    cfa02ee View commit details
    Browse the repository at this point in the history
  8. C++ InspectorPackagerConnection (facebook#41977)

    Summary:
    Pull Request resolved: facebook#41977
    
    Changelog: [Internal]
    
    Adds a new C++ implementation of `InspectorPackagerConnection`, intended to eventually replace `RCTInspectorPackagerConnection` on iOS and `InspectorPackagerConnection.java` on Android.
    
    The main *new* abstraction in the C++ version is the `InspectorPackagerConnectionDelegate` interface, which will allow each platform to plug in its own scheduler and WebSocket implementation
    
    This is almost entirely a direct translation of the Objective-C implementation to C++, so I've modelled it as a file copy in source control for ease of review. We may iterate further on the API at a later date, especially once the old implementations are gone.
    
    Reviewed By: huntie
    
    Differential Revision: D52134592
    
    fbshipit-source-id: b4778b9c4fd424c4fa8d23bb9171629874e50e73
    motiz88 authored and facebook-github-bot committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    db0d178 View commit details
    Browse the repository at this point in the history
  9. C++ InspectorPackagerConnection tests (facebook#42017)

    Summary:
    Pull Request resolved: facebook#42017
    
    Changelog: [Internal]
    
    C++ unit tests for D52134592. The tests heavily use gtest / gmock features to mock the various interfaces associated with `InspectorPackagerConnection` (see `InspectorMocks.h`) and to make it easy to write complex assertions on dynamic and JSON values (see `FollyDynamicMatchers.h`).
    
    To simplify access to the mock objects while they are owned by the `InspectorPackagerConnection` under test, I've also created the `UniquePtrFactory` helper (see doc comments and unit tests that fully explain its functionality).
    
    Reviewed By: huntie
    
    Differential Revision: D52134593
    
    fbshipit-source-id: 23b8098232898be7e5cbd9b31b3358640c5e5eec
    motiz88 authored and facebook-github-bot committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    2b63b9b View commit details
    Browse the repository at this point in the history

Commits on Dec 21, 2023

  1. RN: Remove Deprecated Prop Types (facebook#42019)

    Summary:
    Pull Request resolved: facebook#42019
    
    Removes the following deprecated properties from React Native:
    
    - `Image.propTypes`
    - `Text.propTypes`
    - `TextInput.propTypes`
    - `ColorPropType`
    - `EdgeInsetsPropType`
    - `PointPropType`
    - `ViewPropTypes`
    
    The deprecation history for these prop types is not super obvious, so here is a summary:
    
    - `react@15.5` extracted `prop-types` into a separate package to reflect that not everybody uses them.
    - `react-native@0.68` added a deprecation warning to built-in prop types. (facebook@3f62904)
    - `react-native@0.69` removed built-in prop types. (facebook@3e229f2)
    - `react-native@0.71` restored built-in prop types, along with bug fixes to isolate deprecated usage. (facebook@b966d29)
    
    We believe that by the next public release, enough time will have passed for the community to be able to upgrade without patching React Native or otherwise working around the removal of these deprecated prop types.
    
    **If anyone has trouble identifying the source of a deleted prop types usage, please file an issue so we can help track it down with you.**
    
    Changelog:
    [General][Removed] - Removed deprecated prop types
    
    Reviewed By: lunaleaps, NickGerleman
    
    Differential Revision: D52337762
    
    fbshipit-source-id: 9731f7e1dec29f3df535ab75cc50bed001fdfa0b
    yungsters authored and facebook-github-bot committed Dec 21, 2023
    Configuration menu
    Copy the full SHA
    228cb80 View commit details
    Browse the repository at this point in the history
  2. Improved RNTester deeplink support to go straight to a specific examp…

    …le (facebook#41981)
    
    Summary:
    Pull Request resolved: facebook#41981
    
    Improved RNTester URL deeplink support to cover:
    *  `rntester://example/<moduleKey>`
    *  `rntester://example/<moduleKey>/<exampleKey>`
    
    Extra details:
    * For example modules that do not specify `showIndividualExamples: true`, allow deeplink URL with the specific exampleKey to only render the specific example, instead of all of them.
    * Added flexibility for moduleKey: search for optional suffixes ("Index", "Example").
    * Adjusted Back button action to properly go back to the root after a deeplink.
    * Added `example-container` generic testID on the example wrapper component.
    
    Changelog: [Internal]
    
    Reviewed By: yungsters, NickGerleman
    
    Differential Revision: D52227013
    
    fbshipit-source-id: 4ba050592f39d6895f5124fa25c77f2d0199aa3f
    fkgozali authored and facebook-github-bot committed Dec 21, 2023
    Configuration menu
    Copy the full SHA
    a47d7c5 View commit details
    Browse the repository at this point in the history
  3. RNTester: inline BorderExample testIDs for simpler maintenance (faceb…

    …ook#41987)
    
    Summary:
    Pull Request resolved: facebook#41987
    
    Previously, the examples allow overriding the testIDs for each inner example from BorderExample.js in RNTester. However, that setup relies on another infra/abstraction to inject the testIDs properly. For simplicity, let's just make them hardcoded using the pattern `border-test-<example-name>`.
    
    Changelog: [Internal]
    
    Reviewed By: NickGerleman, mdvacca
    
    Differential Revision: D52282922
    
    fbshipit-source-id: 8fdc3d799befddbbb9bd8e60c8a904670c035d59
    fkgozali authored and facebook-github-bot committed Dec 21, 2023
    Configuration menu
    Copy the full SHA
    f7e99e6 View commit details
    Browse the repository at this point in the history
  4. ReactNativeCoreE2E: hardcode testIDs for View tests (facebook#42026)

    Summary:
    Pull Request resolved: facebook#42026
    
    Previously, the examples allow overriding the testIDs for each inner example from ViewExample.js in RNTester. However, that setup relies on another infra/abstraction to inject the testIDs properly. For simplicity, let's just make them hardcoded using the pattern view-test-<example-name>.
    
    Changelog: [Internal]
    
    Reviewed By: NickGerleman
    
    Differential Revision: D52349100
    
    fbshipit-source-id: 09d51935318d0592a9aae7da61cab0c87ac69152
    fkgozali authored and facebook-github-bot committed Dec 21, 2023
    Configuration menu
    Copy the full SHA
    08c916d View commit details
    Browse the repository at this point in the history
  5. Deploy 0.225.1 to xplat (facebook#42027)

    Summary:
    Pull Request resolved: facebook#42027
    
    Changelog: [Internal]
    
    Reviewed By: SamChou19815
    
    Differential Revision: D52353283
    
    fbshipit-source-id: 4f6cefdcfe38d34c8629178823df6b39c5aebbfb
    panagosg7 authored and facebook-github-bot committed Dec 21, 2023
    Configuration menu
    Copy the full SHA
    1f89a1c View commit details
    Browse the repository at this point in the history
  6. Create new inspector flag for enabling the C++ packager connection im…

    …plementation (facebook#42035)
    
    Summary:
    Pull Request resolved: facebook#42035
    
    In upcoming diffs we will begin integrating the new C++ `InspectorPackagerConnection` (D52134592) into React Native on Android and iOS. This diff adds a shared C++ flag that is the source of truth for whether the new implementation should be enabled.
    
    Changelog: [Internal]
    
    Reviewed By: huntie
    
    Differential Revision: D52335446
    
    fbshipit-source-id: 7f16ffc1728c8de7d4fbf090268ffed6fbaa879f
    motiz88 authored and facebook-github-bot committed Dec 21, 2023
    Configuration menu
    Copy the full SHA
    210a7c2 View commit details
    Browse the repository at this point in the history
  7. Remove exclude for normalize-colors in template test setup (facebook#…

    …42033)
    
    Summary:
    Pull Request resolved: facebook#42033
    
    Intends to fix failing `test_*_template` jobs in CircleCI, broken after D52337762.
    
    Changelog: [Internal]
    
    Reviewed By: motiz88, cipolleschi
    
    Differential Revision: D52364225
    
    fbshipit-source-id: 0e088f300fc8f38dc439446a29d81f2bec2e5d51
    huntie authored and facebook-github-bot committed Dec 21, 2023
    Configuration menu
    Copy the full SHA
    7eed881 View commit details
    Browse the repository at this point in the history
  8. use Pressable over TouchableWithoutFeedback (facebook#42016)

    Summary:
    Pull Request resolved: facebook#42016
    
    changelog: [internal]
    
    TouchableWithoutFeedback is broken with React 18. Before we fix it, let's use Pressable in tests.
    
    Reviewed By: fkgozali
    
    Differential Revision: D52328529
    
    fbshipit-source-id: 1d7d5032ffaf7f8ff5ffa47af2a87b733fd2e840
    sammy-SC authored and facebook-github-bot committed Dec 21, 2023
    Configuration menu
    Copy the full SHA
    4885743 View commit details
    Browse the repository at this point in the history
  9. Introduce the "platform" option to generate-codegen-artifacts.js (fac…

    …ebook#42012)
    
    Summary:
    Pull Request resolved: facebook#42012
    
    Up until now `generate-codegen-artifacts.js` has been iOS only. But its logic is actually quite general, and this diff makes it platform agnostic.
    
    Changelog: [General][Added] - Introduce the "platform" option to generate-codegen-artifacts.js
    
    Reviewed By: RSNara
    
    Differential Revision: D52257542
    
    fbshipit-source-id: b7e698c779f7c6dae9b0de98a19ba452111fea5e
    dmytrorykun authored and facebook-github-bot committed Dec 21, 2023
    Configuration menu
    Copy the full SHA
    7b10609 View commit details
    Browse the repository at this point in the history
  10. Bump minimum version of activesupport for CVE-2023-38037 (facebook#42023

    )
    
    Summary:
    Bump activesupport to minimum 6.1.7.5 CVE-2023-38037. More details GHSA-cr5q-6q9f-rq6q
    
    Updated the gemfile and then ran `bundle install` at the root
    
    ## Changelog:
    
    [IOS] [SECURITY] - Bump activesupport to minimum 6.1.7.5 CVE-2023-38037.
    
    Pull Request resolved: facebook#42023
    
    Reviewed By: cipolleschi
    
    Differential Revision: D52346223
    
    Pulled By: lunaleaps
    
    fbshipit-source-id: f8141048b68cde9c58eb23ee2d41cb4a6becb6ef
    lunaleaps authored and facebook-github-bot committed Dec 21, 2023
    Configuration menu
    Copy the full SHA
    07a159f View commit details
    Browse the repository at this point in the history
  11. Introduce "npx react-native codegen" command (facebook#41925)

    Summary:
    Pull Request resolved: facebook#41925
    
    This diff introduces the `npx react-native codegen` command.
    It runs the codegen for the `package.json` file in current working directory.
    
    Changelog: [General][Added] - Introduce "npx react-native codegen" command.
    
    Reviewed By: cipolleschi
    
    Differential Revision: D51495465
    
    fbshipit-source-id: 1fd4c3645235a12f68f9032349a443b92b4764b8
    dmytrorykun authored and facebook-github-bot committed Dec 21, 2023
    Configuration menu
    Copy the full SHA
    a612053 View commit details
    Browse the repository at this point in the history
  12. Improve codegen logging formatting (facebook#42013)

    Summary:
    Pull Request resolved: facebook#42013
    
    The existing codegen logging is quite wild. This diff makes it slightly nicer.
    
    Changelog: [Internal]
    
    Reviewed By: RSNara
    
    Differential Revision: D52328744
    
    fbshipit-source-id: 1466de2d1188d35a746ab94ce9fc60ef08e3ddda
    dmytrorykun authored and facebook-github-bot committed Dec 21, 2023
    Configuration menu
    Copy the full SHA
    06a053f View commit details
    Browse the repository at this point in the history
  13. Move prop diffing for Interop Layer to Adapter

    Summary:
    We have 1 coordinator per class but 1 adapter per instance.
    Currently, the `oldProps` are stored in the coordinator and not into the adapter.
    Therefore, when we create multiple instances of the same legacy component, the props might get messy or not updated properly.
    
    This change moves the `oldProps` and the diffing code to the Adapter rather than to the coordinator, making them instance-specific.
    
    ## Changelog:
    [iOS][Fixed] - Move old props and prop diffing to the interop layer adapter
    
    Reviewed By: sammy-SC
    
    Differential Revision: D52368222
    
    fbshipit-source-id: 0f0c47b586fe61404250c5bfe51a7e2c63012815
    cipolleschi authored and facebook-github-bot committed Dec 21, 2023
    Configuration menu
    Copy the full SHA
    3b80531 View commit details
    Browse the repository at this point in the history
  14. Refactor hover tracking logic to the shared C++ renderer (facebook#41519

    )
    
    Summary:
    Pull Request resolved: facebook#41519
    
    Changelog: [Internal] - Refactor hover tracking logic to the shared c++ renderer
    
    This diff refactors our hover tracking logic out of the platform (in this case only iOS, integrating Android is going to require extra work due to their pointer events being untyped) and puts it into the event intercepting infra in Fabric's C++ core. This is a big-ish diff so I'm going to try my best to use this summary to guide you through the changes.
    
    To begin with — the changes inside `RCTSurfacePointerHandler.mm` are mostly about removing the existing hover tracking logic. The logic of the hover tracking is largely the same between the objective-c and c++ implementations with minor tweaks in order to be a better citizen when it comes to storing node references. One small "addition" to this file is explicitly firing a `pointerleave` event from the iOS layer when we detect that the pointer has left the app entirely because the C++ would otherwise not know when the pointer leaves the app. We don't need to include a special case for `pointerenter` because we can derive that in C++ from the first `pointermove` event that gets sent once the pointer re-enters the app's root view.
    
    Next I think it makes most sense to continue onto the `PointerEventsProcessor.h/mm` which is the central class we're working in. One small change is adding a flag to the `ActivePointer` struct (`shouldLeaveWhenReleased`) which we will set during `ActivePointer` registration — setting to false if the pointer in question exists in the (also) newly added `previousHoverTrackersPerPointer_` registry. This logic is primarily used for knowing later when the pointer is released and whether we should emit the synthetic leave/out event on release. If the pointer existed in `previousHoverTrackersPerPointer_` **before** the `ActivePointer` registration that implies that the pointer is capable of hovering to some degree and we should **not** emit those leave/out events yet.
    
    The real meat & potatoes of this diff is the `handleIncomingPointerEventOnNode` method which matches the `handleIncomingPointerEvent` method we removed from `RCTSurfacePointerHandler.mm`. This method derives the enter/leave/over/out pointer events by comparing the current event's target path (list of nodes from the root node to the target node of the event) to the previously recorded event target path. The representation of this event path is through the new `PointerHoverTracker` class which stores a pointer to just the root node and the target node as we can recreate the entire event path from these.
    
    For over/out events all that matters is when the deepest-most target changes which is checked in `handleIncomingPointerEventOnNode` by leveraging `PointerHoverTracker`'s `hasSameTarget` method. For enter/leave events we need to fire discrete events for every node in the path which has either been removed or added, so the `diffEventPath` method was introduced on `PointerHoverTracker` to provide that.
    
    Reviewed By: yungsters
    
    Differential Revision: D51317492
    
    fbshipit-source-id: e15ac3a396d5afa7ab921e4589861b43b07a33b5
    vincentriemer authored and facebook-github-bot committed Dec 21, 2023
    Configuration menu
    Copy the full SHA
    72b876a View commit details
    Browse the repository at this point in the history
  15. Remove duplicate declaration of calculateLayoutInternal (facebook#42030)

    Summary:
    X-link: facebook/yoga#1532
    
    Pull Request resolved: facebook#42030
    
    as per title
    
    Reviewed By: joevilches
    
    Differential Revision: D52289613
    
    fbshipit-source-id: 51a810dda32e6fe44be05a42fe21d78aede52d30
    NickGerleman authored and facebook-github-bot committed Dec 21, 2023
    Configuration menu
    Copy the full SHA
    ff8938c View commit details
    Browse the repository at this point in the history
  16. Move trailing position functions (facebook#42031)

    Summary:
    X-link: facebook/yoga#1533
    
    Pull Request resolved: facebook#42031
    
    I have some reservations about  some of the conditional setting of trailing position in general, and some of the repeated transformations that neccesitates this, but these functions don't belong in `CalculateLayout.h`. For now, just move these to their own header.
    
    Reviewed By: joevilches
    
    Differential Revision: D52292121
    
    fbshipit-source-id: 4a998a4390a8d045af45f5424adaf049ed635e7a
    NickGerleman authored and facebook-github-bot committed Dec 21, 2023
    Configuration menu
    Copy the full SHA
    9271957 View commit details
    Browse the repository at this point in the history
  17. Rename prefix of binaryCompatibilityValidator properties (facebook#42041

    )
    
    Summary:
    Pull Request resolved: facebook#42041
    
    binaryCompatibilityValidator is a generic library, it shouldn't have referecences to react. I'm renaming:
    
    ```
    react.internal.binaryCompatibilityValidator...
    ```
    
    by
    
    ```
    binaryCompatibilityValidator...
    ```
    
    changelog: [internal] internal
    
    Reviewed By: philIip
    
    Differential Revision: D52380035
    
    fbshipit-source-id: fc71595939e7f71b135acc44a9918f09361a604f
    mdvacca authored and facebook-github-bot committed Dec 21, 2023
    Configuration menu
    Copy the full SHA
    fa470ef View commit details
    Browse the repository at this point in the history

Commits on Dec 22, 2023

  1. Clean up stale mobileconfig reading for pointer events (facebook#41946)

    Summary:
    Pull Request resolved: facebook#41946
    
    Changelog: [Internal]
    
    Reviewed By: yungsters
    
    Differential Revision: D52090274
    
    fbshipit-source-id: 592c03c841ca26509d39ef597cab776c8fa84fcb
    vincentriemer authored and facebook-github-bot committed Dec 22, 2023
    Configuration menu
    Copy the full SHA
    0be527b View commit details
    Browse the repository at this point in the history
  2. RNTester: fixed up ScrollViewExample test name (facebook#42043)

    Summary:
    Pull Request resolved: facebook#42043
    
    It had a typo: pressableStickyHeader vs pressableStickyHeaders
    
    Changelog: [Internal]
    
    Reviewed By: lunaleaps
    
    Differential Revision: D52378237
    
    fbshipit-source-id: b0ee4029797868298c00aab74808fce73e59e357
    fkgozali authored and facebook-github-bot committed Dec 22, 2023
    Configuration menu
    Copy the full SHA
    d5797ae View commit details
    Browse the repository at this point in the history
  3. Re-sync with internal repository (facebook#42046)

    The internal and external repositories are out of sync. This Pull Request attempts to brings them back in sync by patching the GitHub repository. Please carefully review this patch. You must disable ShipIt for your project in order to merge this pull request. DO NOT IMPORT this pull request. Instead, merge it directly on GitHub using the MERGE BUTTON. Re-enable ShipIt after merging.
    facebook-github-bot committed Dec 22, 2023
    Configuration menu
    Copy the full SHA
    c54bfe4 View commit details
    Browse the repository at this point in the history
  4. docs: bump minSdk to 23 (facebook#42034)

    Summary:
    The Android minSdk has been bumped in facebook#38874 but not in the README.
    
    ## Changelog:
    [General] [Fixed] - Updated docs to match Android 6.0 (API 23) minimum requirement.
    
    Pull Request resolved: facebook#42034
    
    Test Plan: N/A
    
    Reviewed By: fkgozali
    
    Differential Revision: D52364522
    
    Pulled By: arushikesarwani94
    
    fbshipit-source-id: b04b5aa94b629380b559b2717e12a882f8817a6f
    dcangulo authored and facebook-github-bot committed Dec 22, 2023
    Configuration menu
    Copy the full SHA
    192a88d View commit details
    Browse the repository at this point in the history

Commits on Dec 26, 2023

  1. BridgelessUIManager: Make error reporting more readable (facebook#42001)

    Summary:
    Pull Request resolved: facebook#42001
    
    ## Rational
    Every call-site was calling into console.error.
    Some call-sites were using string concatination.
    
    This diff introduces a new error reporting method: raiseSoftError, that hides all the string concatination and console.errors.
    
    I believe this makes the error reporting logic within BridgelessUIManager more readable.
    
    Changelog: [Internal]
    
    Reviewed By: luluwu2032
    
    Differential Revision: D52002911
    
    fbshipit-source-id: 186842a4835ca65f326dda35b1c0db50f8ff149c
    RSNara authored and facebook-github-bot committed Dec 26, 2023
    Configuration menu
    Copy the full SHA
    09ab59a View commit details
    Browse the repository at this point in the history
  2. BridgelessUIManager: Refactor how constants are retrieved and cached (f…

    …acebook#42000)
    
    Summary:
    Pull Request resolved: facebook#42000
    
    I think this makes BridgelessUIManager easier to read: if the getUIManagerConstants method exists, get the cached constants.
    
    Also, this unifies the nomenclature between PaperUIManager and BridgleessUIManager. That way, it's easy to compare/constrast the two files.
    
    Changelog: [Internal]
    
    Reviewed By: dmytrorykun, luluwu2032
    
    Differential Revision: D52002910
    
    fbshipit-source-id: 01bfbd5fedbe3f995b4a1f68309714d84027133b
    RSNara authored and facebook-github-bot committed Dec 26, 2023
    Configuration menu
    Copy the full SHA
    55e4543 View commit details
    Browse the repository at this point in the history
  3. RNTester iOS: internal profiling test setup (facebook#42071)

    Summary:
    Pull Request resolved: facebook#42071
    
    Proxying background handling to set up Meta internal test infra.
    
    Changelog: [Internal]
    
    Reviewed By: RSNara
    
    Differential Revision: D52420805
    
    fbshipit-source-id: a68645b7b630f976dfd9e863b0c985c738c658ec
    fkgozali authored and facebook-github-bot committed Dec 26, 2023
    Configuration menu
    Copy the full SHA
    5d520ab View commit details
    Browse the repository at this point in the history

Commits on Dec 27, 2023

  1. BridgelessUIManager: Use blocks for all functions (facebook#41999)

    Summary:
    Pull Request resolved: facebook#41999
    
    Just a cosmetic change, that will remove noise from the subsequent diffs.
    
    Now, all the raiseSoftError are on similar columns in the file.
    
    Changelog: [internal]
    
    Reviewed By: cortinico
    
    Differential Revision: D52041976
    
    fbshipit-source-id: bc22add358becf1ad8d5f7602253e2af28697d42
    RSNara authored and facebook-github-bot committed Dec 27, 2023
    Configuration menu
    Copy the full SHA
    963ce9b View commit details
    Browse the repository at this point in the history
  2. BridgelessUIManager: Pull already implemented methods out (facebook#4…

    …2068)
    
    Summary:
    Pull Request resolved: facebook#42068
    
    These methods are overriden in UIManager.js
    
    Let's pull them out, so that we don't get distracted by them.
    
    Changelog: [Internal]
    
    Reviewed By: fkgozali
    
    Differential Revision: D52350348
    
    fbshipit-source-id: 3d4b446c40be9d8797ec787f45335f42f8982956
    RSNara authored and facebook-github-bot committed Dec 27, 2023
    Configuration menu
    Copy the full SHA
    e75f050 View commit details
    Browse the repository at this point in the history
  3. Refactor React to get rid of JSIModule (facebook#42069)

    Summary:
    Pull Request resolved: facebook#42069
    
     Refactor React to get rid of JSIModule and its dependencies now that the changes are rolled out for all internal apps.
    
    Changelog:
    [Internal] Internal
    
    Reviewed By: christophpurrer
    
    Differential Revision: D51058885
    
    fbshipit-source-id: 07a7335235605fbc07657f8da8588ec548bce797
    arushikesarwani94 authored and facebook-github-bot committed Dec 27, 2023
    Configuration menu
    Copy the full SHA
    6555205 View commit details
    Browse the repository at this point in the history
  4. Tests to get rid of JSI module (facebook#42058)

    Summary:
    Pull Request resolved: facebook#42058
    
    Getting rid of JSIModule from tests
    
    Changelog:
    [Internal] internal
    
    Reviewed By: christophpurrer
    
    Differential Revision: D50925102
    
    fbshipit-source-id: bce1c9459ae2c4d690712e2c09a7e935fa8e4427
    arushikesarwani94 authored and facebook-github-bot committed Dec 27, 2023
    Configuration menu
    Copy the full SHA
    cd5f6aa View commit details
    Browse the repository at this point in the history
  5. Get rid of old APIs in FabricUIManagerProvider (facebook#42059)

    Summary:
    Pull Request resolved: facebook#42059
    
    Getting rid of old APIs in FabricUIManagerProvider and also clearing it of the inheritance dependency it has on JSIModule post it's references have been cleared.
    
    Reviewed By: christophpurrer
    
    Differential Revision: D51001239
    
    fbshipit-source-id: c3d4650c292e957e9f939304662932c11af7a24f
    arushikesarwani94 authored and facebook-github-bot committed Dec 27, 2023
    Configuration menu
    Copy the full SHA
    c2c346c View commit details
    Browse the repository at this point in the history
  6. Avoid using std::views::filter to fix issues with macosx-x86_64 toolc…

    …hain (facebook#42076)
    
    Summary:
    Pull Request resolved: facebook#42076
    
    ## Changelog:
    [Internal] -
    
    In facebook#41519 we introduced usage of C++20s range operations, which broke MacOSX desktop builds for the x86_64 targets (e.g. on Intel Mac laptops).
    
    This appears to be a [known issue](https://stackoverflow.com/questions/73929080/error-with-clang-15-and-c20-stdviewsfilter), fixed in the later clang versions, however we need to support the earlier ones as well.
    
    This changes the code to use the good old imperative style to do the same thing, but without using `std::views::filter`, thus working around the problem.
    
    Reviewed By: christophpurrer
    
    Differential Revision: D52428984
    
    fbshipit-source-id: 6d0a390549c462b7040b5c0e669c00932bd99af7
    rshest authored and facebook-github-bot committed Dec 27, 2023
    Configuration menu
    Copy the full SHA
    ffe219c View commit details
    Browse the repository at this point in the history
  7. Fix comment about adding packages in android template (facebook#41856)

    Summary:
    I noticed this comment is still in Java in the Kotlin template. It also doesn't really work anymore since there is no packages variable.
    
    To fix it I completed the comment with all code needed for it to work in kotlin. I think an older version of the template used to be more like:
    
    ```kotlin
    val packages = PackageList(this).packages
    // packages.add(MyReactNativePackage())
    return packages
    ```
    
    But then it requires adding a lint suppress annotation since packages variable can be simplified. I think this is simpler even if it makes the comment a few more lines.
    
    ## Changelog:
    
    [GENERAL] [FIXED] - Fix comment about adding packages in android template
    
    Pull Request resolved: facebook#41856
    
    Test Plan: Tested that uncommenting that code works
    
    Reviewed By: cipolleschi
    
    Differential Revision: D51987483
    
    Pulled By: cortinico
    
    fbshipit-source-id: d0135b5b536960017ccc7b25f92c75b3bd863cd9
    janicduplessis authored and facebook-github-bot committed Dec 27, 2023
    Configuration menu
    Copy the full SHA
    ac9b87c View commit details
    Browse the repository at this point in the history
  8. Convert the last Unit Tests to Kotlin (facebook#42078)

    Summary:
    Pull Request resolved: facebook#42078
    
    Resubmit of D51891716 and D52033328
    
    I'm doing a pass and converting the last Java Unit Tests we had to Kotlin
    I've also re-enabled multiple tests that were disabled in the past.
    
    Changelog:
    [Internal] [Changed] - Convert the last Unit Tests to Kotlin
    
    Reviewed By: rshest
    
    Differential Revision: D52430728
    
    fbshipit-source-id: e6b4a6ed88d852024d959cf5148e992e97a84434
    cortinico authored and facebook-github-bot committed Dec 27, 2023
    Configuration menu
    Copy the full SHA
    c75abef View commit details
    Browse the repository at this point in the history

Commits on Dec 28, 2023

  1. Move legacy tests from OSS to fbandroid/java/com/facebook/fbreact (fa…

    …cebook#41802)
    
    Summary:
    Pull Request resolved: facebook#41802
    
    Those tests are not executing at all, they're just compiled.
    Our internal infra is still depending on some bits of it though, so I'm moving them to `fbandroid/java/com/facebook/fbreact
    
    Changelog:
    [Internal] [Changed] - Move legacy tests from OSS to  fbandroid/java/com/facebook/fbreact
    
    Reviewed By: rshest
    
    Differential Revision: D51805702
    
    fbshipit-source-id: 2c5cec68efa9854184e981220202d8f356ff690a
    cortinico authored and facebook-github-bot committed Dec 28, 2023
    Configuration menu
    Copy the full SHA
    d992abc View commit details
    Browse the repository at this point in the history
  2. Make TurboModuleManager not implement JSIModule (facebook#42060)

    Summary:
    Pull Request resolved: facebook#42060
    
    For removal of JSIModule getting rid of the inheritance relationship b/w interfaces TurboModuleManager & JSIModule by directly defining `invalidate()`. `initialize()` here isn't being used hence not defining it.
    
    Changelog:
    [Internal] internal
    
    Reviewed By: philIip, mdvacca
    
    Differential Revision: D49977957
    
    fbshipit-source-id: 8de644b1f344d8ce8d4a78655556829f860a2b10
    arushikesarwani94 authored and facebook-github-bot committed Dec 28, 2023
    Configuration menu
    Copy the full SHA
    b507e11 View commit details
    Browse the repository at this point in the history
  3. Fix support for --sourcemap-output path containing spaces in Xcode pr…

    …ojects (facebook#40937)
    
    Summary:
    This PR contains the changes from facebook#30981 that got closed due to inactivity.
    
    Many thanks to nickdowell for this bug report & fix. We encountered this error in our project when we had an Xcode scheme that contains a space (like `AppName alpha`).
    
    This change fixes the generation of source maps for Xcode projects where the output path contains spaces.
    
    The `EXTRA_ARGS` environment variable, being a plain string, would be split into arguments by whitespace - so a path containing spaces was being treated as several arguments rather than one.
    
    This change uses an array to contain the arguments instead, allowing the proper handling of arguments that may contain spaces.
    
    bypass-github-export-checks
    
    ## Changelog:
    
    [iOS] [Fixed] - Fix support for --sourcemap-output path containing spaces
    
    Pull Request resolved: facebook#40937
    
    Test Plan:
    Tested using a sample project with the following "Bundle React Native code and images" Xcode build phase
    
    ```
    export SOURCEMAP_FILE="$CONFIGURATION_BUILD_DIR/$UNLOCALIZED_RESOURCES_FOLDER_PATH/main.jsbundle.map"
    set -e
    export NODE_BINARY=node
    ../node_modules/react-native/scripts/react-native-xcode.sh
    ```
    
    and a `CONFIGURATION_BUILD_DIR` that contains spaces - `~/Library/Xcode/Derived Data`. **You can also try an XCode-scheme that contains a space.**
    
    ### Before
    
    ```
    + EXTRA_ARGS=
    + case "$PLATFORM_NAME" in
    + BUNDLE_PLATFORM=ios
    + EMIT_SOURCEMAP=
    + [[ ! -z /Users/nick/Library/Developer/Xcode/Derived Data/RN064-cpnwckdferodycbevupbrkjydate/Build/Products/Release-iphonesimulator/RN064.app/main.jsbundle.map ]]
    + EMIT_SOURCEMAP=true
    + PACKAGER_SOURCEMAP_FILE=
    + [[ true == true ]]
    + [[ '' == true ]]
    + PACKAGER_SOURCEMAP_FILE='/Users/nick/Library/Developer/Xcode/Derived Data/RN064-cpnwckdferodycbevupbrkjydate/Build/Products/Release-iphonesimulator/RN064.app/main.jsbundle.map'
    + EXTRA_ARGS=' --sourcemap-output /Users/nick/Library/Developer/Xcode/Derived Data/RN064-cpnwckdferodycbevupbrkjydate/Build/Products/Release-iphonesimulator/RN064.app/main.jsbundle.map'
    + node /Users/nick/Desktop/RN064/node_modules/react-native/cli.js bundle --entry-file index.js --platform ios --dev false --reset-cache --bundle-output '/Users/nick/Library/Developer/Xcode/Derived Data/RN064-cpnwckdferodycbevupbrkjydate/Build/Products/Release-iphonesimulator/main.jsbundle' --assets-dest '/Users/nick/Library/Developer/Xcode/Derived Data/RN064-cpnwckdferodycbevupbrkjydate/Build/Products/Release-iphonesimulator/RN064.app' --sourcemap-output /Users/nick/Library/Developer/Xcode/Derived Data/RN064-cpnwckdferodycbevupbrkjydate/Build/Products/Release-iphonesimulator/RN064.app/main.jsbundle.map
                        Welcome to Metro!
                  Fast - Scalable - Integrated
    
    info Writing bundle output to:, /Users/nick/Library/Developer/Xcode/Derived Data/RN064-cpnwckdferodycbevupbrkjydate/Build/Products/Release-iphonesimulator/main.jsbundle
    info Writing sourcemap output to:, /Users/nick/Library/Developer/Xcode/Derived
    ```
    Note the incorrect sourcemap output path.
    
    ### After
    
    ```
    + EXTRA_ARGS=()
    + case "$PLATFORM_NAME" in
    + BUNDLE_PLATFORM=ios
    + EMIT_SOURCEMAP=
    + [[ ! -z /Users/nick/Library/Developer/Xcode/Derived Data/RN064-cpnwckdferodycbevupbrkjydate/Build/Products/Release-iphonesimulator/RN064.app/main.jsbundle.map ]]
    + EMIT_SOURCEMAP=true
    + PACKAGER_SOURCEMAP_FILE=
    + [[ true == true ]]
    + [[ '' == true ]]
    + PACKAGER_SOURCEMAP_FILE='/Users/nick/Library/Developer/Xcode/Derived Data/RN064-cpnwckdferodycbevupbrkjydate/Build/Products/Release-iphonesimulator/RN064.app/main.jsbundle.map'
    + EXTRA_ARGS+=("--sourcemap-output")
    + EXTRA_ARGS+=("$PACKAGER_SOURCEMAP_FILE")
    + node /Users/nick/Desktop/RN064/node_modules/react-native/cli.js bundle --entry-file index.js --platform ios --dev false --reset-cache --bundle-output '/Users/nick/Library/Developer/Xcode/Derived Data/RN064-cpnwckdferodycbevupbrkjydate/Build/Products/Release-iphonesimulator/main.jsbundle' --assets-dest '/Users/nick/Library/Developer/Xcode/Derived Data/RN064-cpnwckdferodycbevupbrkjydate/Build/Products/Release-iphonesimulator/RN064.app' --sourcemap-output '/Users/nick/Library/Developer/Xcode/Derived Data/RN064-cpnwckdferodycbevupbrkjydate/Build/Products/Release-iphonesimulator/RN064.app/main.jsbundle.map'
                        Welcome to Metro!
                  Fast - Scalable - Integrated
    
    info Writing bundle output to:, /Users/nick/Library/Developer/Xcode/Derived Data/RN064-cpnwckdferodycbevupbrkjydate/Build/Products/Release-iphonesimulator/main.jsbundle
    info Writing sourcemap output to:, /Users/nick/Library/Developer/Xcode/Derived Data/RN064-cpnwckdferodycbevupbrkjydate/Build/Products/Release-iphonesimulator/RN064.app/main.jsbundle.map
    ```
    sourcemap output path fixed 🎉
    
    Reviewed By: arushikesarwani94
    
    Differential Revision: D52431057
    
    Pulled By: cipolleschi
    
    fbshipit-source-id: 528217c84fe3f467a30baa15cfa4dcb2ed713165
    JorenVos authored and facebook-github-bot committed Dec 28, 2023
    Configuration menu
    Copy the full SHA
    e25a9b4 View commit details
    Browse the repository at this point in the history
  4. Detect ccache and provide a default configuration (facebook#42051)

    Summary:
    Building native modules from source, may take a long time. Xcode already helps bring this down, by providing incremental builds, as long as the user doesn't delete their `ios/build` directory. But in some situations, i.e. when iterating the native code of an app or library or when the developer need to delete that `ios/build` directory, it's advantageous to use a compiler cache, such as ccache. This is already outlined in our ["Speeding up your Build phase"](https://reactnative.dev/docs/build-speed#xcode-specific-setup) guide.
    
    But setting up an Xcode project to use Ccache with the correct configuration, isn't trivial in a way that doesn't require symlinking `clang` and `clang++` or passing configuration via environment variables on every `npm run ios` invokation.
    
    This PR takes its inspiration from the existing guide on [setting up Ccache for Xcode](https://reactnative.dev/docs/build-speed#xcode-specific-setup), but applies the build settings only if an installation of `ccache` is detected and the feature is explicitly opted into via an argument to the `react_native_post_install` function or a `USE_CCACHE` environment variable. It uses two shell scripts to wrap the call to `ccache`, which both injects a default `CCACHE_CONFIGPATH` environment variable (i.e. it won't override this if already provided, to allow for customisations on CI), pointing to a `ccache.config` which works well with React Native projects (it has the same values as the guide mentions).
    
    For context, I posted about this change in the ios channel of the contributors Discord server, where I discussed it with cipolleschi and saadnajmi
    
    ### Additional output printed when running `pod install`
    
    #### When `ccache_available and ccache_enabled`
    
    ```
    [Ccache]: Ccache found at /opt/homebrew/bin/ccache
    [Ccache]: Setting CC, LD, CXX & LDPLUSPLUS build settings
    ```
    
    #### When `ccache_available and !ccache_enabled`
    
    ```
    [Ccache]: Ccache found at /opt/homebrew/bin/ccache
    [Ccache]: Pass ':ccache_enabled => true' to 'react_native_post_install' in your Podfile or set environment variable 'USE_CCACHE=1' to increase the speed of subsequent builds
    ```
    
    #### When `!ccache_available and ccache_enabled`
    
    ```
    [!] [Ccache]: Install ccache or ensure your neither passing ':ccache_enabled => true' nor setting environment variable 'USE_CCACHE=1'
    ```
    
    #### Otherwise
    
    If the user doesn't have ccache installed and doesn't explicitly opt into this feature, nothing will be printed.
    
    bypass-github-export-checks
    
    ## Changelog:
    
    [IOS] [ADDED] - Added better support for `ccache`, to speed up subsequent builds of native code. After installing `ccache` and running `pod install`, the Xcode project is injected with compiler and linker build settings pointing scripts that loads a default  Ccache configuration and invokes the `ccache` executable.
    
    Pull Request resolved: facebook#42051
    
    Test Plan:
    I've tested this manually - would love some inspiration on how to automate this, if the reviewer deem it needed.
    To test this locally:
    1. Install Ccache and make sure the `ccache` executable is in your `PATH` (verify by running `ccache --version`)
    2. Create a new template app instance and apply the changes of this PR to the `node_modules/react-native` package.
    3. Set the `USE_CCACHE` environment variable using `export USE_CCACHE=1`.
    4. Run `pod install` in the `ios` directory.
    5. Check the stats of Ccache (running `ccache -s`).
    6. Run `npm run ios` or build the project from Xcode.
    7. Check the Ccache stats again to verify ccache is intercepting compilation ("Cacheable calls" should ideally be 100%).
    8. To check the speed gain:
      a. Delete the `ios/builds` directory
      b. Zero out the ccache stats (by running `ccache -z`)
      c. Run `pod install` again (only needed if you ran the initial `pod install` with new architecture enabled `RCT_NEW_ARCH_ENABLED=1`).
      d. Run `npm run ios` or build the project from Xcode.
      e. This last step should be significantly faster and you should see "Hits" under "Local storage" in the ccache stats approach 100%.
    
    Reviewed By: huntie
    
    Differential Revision: D52431507
    
    Pulled By: cipolleschi
    
    fbshipit-source-id: 6cfe39acd6250fae03959f0ee74d1f2fc46b0827
    kraenhansen authored and facebook-github-bot committed Dec 28, 2023
    Configuration menu
    Copy the full SHA
    e85d51c View commit details
    Browse the repository at this point in the history
  5. Unhandled promise rejection - attach non-standard Error object stack …

    …info if possible (facebook#42079)
    
    Summary:
    This is a continuation of my [last PR](facebook#40914) which improved the symbolication of unhandled promise rejections.
    
    While I was developing another library I noticed I still got an error stack of the log adding and not of the error itself. The library I'm trying to debug does not throw a standard error object but rather a custom one, but it still contains the stack field. By passing this stack field to the logbox call I was able to get a better symbolicated stack trace. The exact line of the failure is not displayed but at least the correct file is.
    
    ## Changelog:
    
    <!-- Help reviewers and the release process by writing your own changelog entry.
    
    Pick one each for the category and type tags:
    
    [GENERAL] [ADDED] - Unhandled promise rejection - attach non-standard Error object stack info if possible
    
    For more details, see:
    https://reactnative.dev/contributing/changelogs-in-pull-requests
    
    Pull Request resolved: facebook#42079
    
    Test Plan:
    Test any unhandled promise rejection with a non-standard error (line 23, toString must not return `[object Error]`) and see if the correct (or at least a better) stack trace is shown.
    
    Here is the one I got before and after this change:
    
    <img src="https://github.com/facebook/react-native/assets/1634213/3d07faad-9535-42c9-8032-b4d8fe407e88" width="200" />
    
    <img src="https://github.com/facebook/react-native/assets/1634213/2c39bd82-c7a1-4f58-8ac4-5c479bb96b6e" width="200" />
    
    Reviewed By: huntie
    
    Differential Revision: D52431711
    
    Pulled By: cipolleschi
    
    fbshipit-source-id: be2172d3b1e2fc3f72812faac372c83bc6dface2
    ospfranco authored and facebook-github-bot committed Dec 28, 2023
    Configuration menu
    Copy the full SHA
    655b12d View commit details
    Browse the repository at this point in the history
  6. Deprecate old JSI module APIs (facebook#42085)

    Summary:
    Pull Request resolved: facebook#42085
    
    Deprecating the old JSI module APIs: `getJSIModule(JSIModuleType moduleType)`, `addJSIModules(List<JSIModuleSpec> jsiModules)` and `setTurboModuleManager(JSIModule getter)` to further delete them in future release. Deprecating them as of now to cater the OSS use-cases
    
    Changelog:
    [Internal] internal
    
    Reviewed By: christophpurrer
    
    Differential Revision: D50927292
    
    fbshipit-source-id: 1d25f9f28b8aaf34979a90e4792317b263ae1714
    arushikesarwani94 authored and facebook-github-bot committed Dec 28, 2023
    Configuration menu
    Copy the full SHA
    e2fb88e View commit details
    Browse the repository at this point in the history
  7. Remove * dependencies on @react-native (facebook#42081)

    Summary:
    See facebook#41929 for an issue on multiple monorepo packages being installed. The reason is that `*` resolves to whatever is tagged `latest` on npm.
    
    We still need to fix the fact that our monorepo publish script will update the latest tag everytime we publish. For now, we should remove these from `main` and we will also update this in the 0.73 release branch.
    
    I've left the two peer dependencies on `react-native` to keep at `*`.
    ```
    virtualized-lists/package.json
    30:    "react-native": "*"
    
    rn-tester/package.json
    32:    "react-native": "*"
    ```
    
    As a peer-dependency this won't be a problem in terms of installing a second `react-native`. I thought about updating these to `nightly`, but that would install multiple nightly react-natives as the tag will be updated with each nightly release. I think for now this is fine and something we can revisit.
    
    Things left to do
    [ ] Fix monorepo publish script to not update `--latest`
    [ ] Remove ^ dependencies on monorepo packages: facebook#41958
    [ ] Re-evaluate how we bump and align monorepo packages when we cut a release branch. I forget if we manually update this when we cut or if there is a script. We may want to change the script and have `main` dependencies point to some fake version like `1000.0.0` and only update these on nightly publishes. Regardless, this will need some discussion.
    
    ## Changelog:
    
    [GENERAL] [CHANGED] - Be explicit about what monorepo versions we are using
    
    Pull Request resolved: facebook#42081
    
    Test Plan: N/A
    
    Reviewed By: cortinico, cipolleschi
    
    Differential Revision: D52435234
    
    Pulled By: lunaleaps
    
    fbshipit-source-id: 67da029d2b637e3997c12c21fe2a9ab9bc344399
    lunaleaps authored and facebook-github-bot committed Dec 28, 2023
    Configuration menu
    Copy the full SHA
    b5e08e8 View commit details
    Browse the repository at this point in the history

Commits on Dec 29, 2023

  1. iOS: renamed experimental new-arch-only flag to clarify its intent (f…

    …acebook#42072)
    
    Summary:
    Pull Request resolved: facebook#42072
    
    This existing flag was for experimental (WIP) purpose only, and is undocumented, by design. Let's rename it so to make it clear. Libraries/Apps should not use this flag.
    
    Changelog: [Internal]
    
    Reviewed By: christophpurrer
    
    Differential Revision: D52424750
    
    fbshipit-source-id: 742fc6e31d1887e68439849e157dd23aaa054e36
    fkgozali authored and facebook-github-bot committed Dec 29, 2023
    Configuration menu
    Copy the full SHA
    95bed60 View commit details
    Browse the repository at this point in the history

Commits on Dec 31, 2023

  1. Deprecate [RCTConvert UIBarStyle:] (facebook#42100)

    Summary:
    The enums [UIBarStyleBlackOpaque](https://developer.apple.com/documentation/uikit/uibarstyle/uibarstyleblackopaque) and [UIBarStyleBlackTranslucent](https://developer.apple.com/documentation/uikit/uibarstyle/uibarstyleblacktranslucent) have been deprecated since iOS 13, already below React Native's minimum OS of iOS 13.4. Indeed, they are not available on visionOS and tvOS, making this a source of extra diffs.
    
    Rather than deprecate and remove those options, I noticed that we don't actually use that `RCTConvert` method in the core repo, and haven't since `0.58-stable` (presumably before the lean core effort). Let's just remove it, it's a conversion that should be easy enough to replicate elsewhere. However, removal is a breaking change, so let's deprecate it for one release (0.74) and remove it for the next one (0.75). For posterity, tracking deprecation with microsoft#2008 and removal with microsoft#2009 .
    
    ## Changelog:
    
    [IOS] [DEPRECATED] - Deprecate `[RCTConvert UIBarStyle:]`
    
    Pull Request resolved: facebook#42100
    
    Test Plan: CI should pass
    
    Reviewed By: shwanton
    
    Differential Revision: D52458912
    
    Pulled By: NickGerleman
    
    fbshipit-source-id: 5614b6624b9b929ba601ac976149b2002163ff54
    Saadnajmi authored and facebook-github-bot committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    157cb0e View commit details
    Browse the repository at this point in the history

Commits on Jan 2, 2024

  1. Delete getJSIModule() from context (facebook#42097)

    Summary:
    Pull Request resolved: facebook#42097
    
    Since we switched all apps from `getJSIModule()` to `getFabricUIManager()` from `ReactContext` and it's subclasses it's safe to delete this method.
    
    NOTE: The fallback for FabricUIManager is still catalystInstance.getJSIModule() that's still there for backwards comptability just deleting the indirection through ReactContext
    
    Changelog:
    [Internal] Internal
    
    Reviewed By: christophpurrer
    
    Differential Revision: D51748655
    
    fbshipit-source-id: dbf1a661f9e380307614662dd6079110f878d143
    arushikesarwani94 authored and facebook-github-bot committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    ce54772 View commit details
    Browse the repository at this point in the history
  2. Making UIManager not implement JSIModule (facebook#42061)

    Summary:
    Pull Request resolved: facebook#42061
    
    For removal of JSIModule getting rid of the inheritance relationship b/w interfaces UIManager & JSIModule by directly defining `initialize()` and `invalidate()`
    
    Changelog:
    [Internal] internal
    
    Reviewed By: philIip, mdvacca
    
    Differential Revision: D49306312
    
    fbshipit-source-id: 041870418e13bb4b2381e609b94331c87be5f6fa
    arushikesarwani94 authored and facebook-github-bot committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    af8c56a View commit details
    Browse the repository at this point in the history
  3. Add function to customise RootView in Bridgeless (facebook#42088)

    Summary:
    Pull Request resolved: facebook#42088
    
    This change adds an extra function to customise the RootView in both Bridge and Bridgeless mode.
    To nudge users in a migration, we also add a warning message for next version that should push our users to migrate away from the old implementation to the new one.
    *The Warning is shown ONLY when the user do customise the rootView*. For users which were not customising the Root View, the warning will not appear.
    
    The documentation of the new method plus the warning should guide the users toward the right migration path.
    
    ## Changelog
    [iOS][Added] - Added the customiseRootView method which is called in both bridge and bridgeless. Added also a warning for 0.74 with instructions on how to migrate.
    
    Reviewed By: cortinico
    
    Differential Revision: D52442598
    
    fbshipit-source-id: 8b99b67f4741ee61989a8659a3d74c1eba27bc5b
    cipolleschi authored and facebook-github-bot committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    db9c9ea View commit details
    Browse the repository at this point in the history
  4. Add functions to check whether the New Arch is enabled at runtime (fa…

    …cebook#42090)
    
    Summary:
    Pull Request resolved: facebook#42090
    
    This change is the last pieces of removing `RCT_NEW_ARCH_ENABLED` flag and defragmenting the build setup on iOS.
    
    Before, 3rd party libraries had to use the `#if RCT_NEW_ARCH_ENABLED` flag to compile in and out segment of code depending on whether the new architecture was turned on or not.
    
    After the recent changes, we can now expose the `RCTIsNewArchEnabled()` function to read whether the New Arch is enabled at runtime or not.
    This will promote better code practices as we can replace ugly, compile time, `#if-#else-#endif`s with a more readable and natural regular obj-c code.
    We can also use inheritance to have different implementation based on the architecture.
    
    To use the new function, a 3rd party library have to:
    1. `#import <React/RCTUtils.h>` (if they use the  `install_modules_dependencies` function we provide, they can already do it)
    2. invoke `RCTIsNewArchEnabled()` which returns a BOOL.
    3. implement the code accordingly, depending on the New arch state.
    
    **Note:** we implemented also the `RCTSetNewArchEnabled` function. This is called as soon as React Native is initialized in the `RCTAppDelegate`. The method can be called only once per React Native lifecycle. Subsequent calls to that method are ignored.
    
    ## Changelog:
    [iOS][Added] - Added the `RCTIsNewArchEnabled()` to check whether the New Arch is enabled at runtime.
    
    Reviewed By: cortinico
    
    Differential Revision: D52445107
    
    fbshipit-source-id: 1b432832912d33c85687b4c37f9e360ce9699f59
    cipolleschi authored and facebook-github-bot committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    f1a7f08 View commit details
    Browse the repository at this point in the history

Commits on Jan 3, 2024

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

Commits on Jan 5, 2024

  1. Configuration menu
    Copy the full SHA
    a20aa46 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f738dc8 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1d1025b View commit details
    Browse the repository at this point in the history

Commits on Jan 10, 2024

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