Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/facebook/react-native.git. Pull mirroring updated .
  1. Jan 26, 2024
  2. Jan 25, 2024
    • Pieter De Baets's avatar
      Clarify docs and deprecation on Event methods (#42600) · c9764c5a
      Pieter De Baets authored
      Summary:
      Pull Request resolved: https://github.com/facebook/react-native/pull/42600
      
      Disentangled the logic for emitting touches to JS on Android. `receiveTouches` should never be used as a public API, as TouchEvents can be dispatched just like any other event, and receiveTouches is an internal helper for `TouchEvent`.
      
      Changelog: [Android][Removed] Updated migrated guidance for EventEmitter and reduced visibility of internal TouchesHelper methods
      
      Reviewed By: cortinico
      
      Differential Revision: D52907393
      
      fbshipit-source-id: a8207039c863ab23a1d93dd2d2f28e8a274c8ecf
      c9764c5a
    • Pieter De Baets's avatar
      Fix Soloader call in DefaultComponentsRegistry (#42660) · 49f6ffc9
      Pieter De Baets authored
      Summary:
      Pull Request resolved: https://github.com/facebook/react-native/pull/42660
      
      Calling `maybeLoadSoLibrary` from init is too late, as we call `initHybrid` before `init`. Instead use a static initializer.
      
      Changelog: [Internal]
      
      Reviewed By: cortinico
      
      Differential Revision: D53048065
      
      fbshipit-source-id: dfd2957fd9209e02c498ee08e9cbd7c7a1a83c3e
      49f6ffc9
    • Riccardo Cipolleschi's avatar
      Enable the DevMenu in bridgeless mode (#42657) · e7fd142c
      Riccardo Cipolleschi authored
      Summary:
      Pull Request resolved: https://github.com/facebook/react-native/pull/42657
      
      When the RCT_DEV flag is turned on, we force the eager initialization of the DevMenu at startup.
      The initialization was happening in a method of the `CxxBridgeDelegate` protocol.
      In bridgeless mode, we don't have the bridge, hence we don't call this method.
      
      I need to put the initialization code in the `RCTIntance` because the only way I found to eagerly initialize a module was to tap into the `RCTTurboModuleManager` and, in Bridgeless mode, that's seemed to be the only way.
      I'm open to move the code to a better place, anyway!
      
      ## Changelog:
      [Internal] - Enable the DevMenu eagerly in Bridgeless mode
      
      Reviewed By: sammy-SC
      
      Differential Revision: D53083637
      
      fbshipit-source-id: 219698eab77ed115ab0f4ea43911ae883a4c9e8a
      e7fd142c
    • Jakub Trzebiatowski's avatar
      `RCTAttributedTextUtils.mm`: Split `NSAttributedString` creation (#42595) · 2dc2d4db
      Jakub Trzebiatowski authored
      Summary:
      `RCTAttributedTextUtils.mm`: Split `NSAttributedString` creation to functions in preparation for adding new logic here.
      
      This is a minor improvement in the context of my multi-PR work on https://github.com/react-native-community/discussions-and-proposals/issues/695.
      
      ## 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] [CHANGE] - Refactor `NSAttributedString` creation in `RCTAttributedTextUtils.mm`
      
      Pull Request resolved: https://github.com/facebook/react-native/pull/42595
      
      Reviewed By: cipolleschi
      
      Differential Revision: D53001495
      
      Pulled By: sammy-SC
      
      fbshipit-source-id: 52d28e48f0a9d88d44325a73c64737fc7ac97781
      2dc2d4db
    • Jakub Trzebiatowski's avatar
      `CustomLineHeightSpan`: Increase the readability (#42592) · 01115231
      Jakub Trzebiatowski authored
      Summary:
      Increase the readability of `CustomLineHeightSpan` by making the logic less stateful.
      
      This is a minor improvement in the context of my multi-PR work on https://github.com/react-native-community/discussions-and-proposals/issues/695.
      
      ## 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] - Increase the readability of `CustomLineHeightSpan`
      
      Pull Request resolved: https://github.com/facebook/react-native/pull/42592
      
      Test Plan:
      - Prove the equivalence of the old and the new logic
      - Test that the behavior of `lineHeight` doesn't change
      
      Reviewed By: NickGerleman
      
      Differential Revision: D53028467
      
      Pulled By: mdvacca
      
      fbshipit-source-id: d533bb77c8e10c29d8f2acc8cc39565d0013b03b
      01115231
    • Samuel Susla's avatar
      enable setNativeProps in animations on by default (#42603) · a5aed129
      Samuel Susla authored
      Summary:
      Changelog: [General][Added] Enable setNativeProps in animations in the New Architecture
      
      Pull Request resolved: https://github.com/facebook/react-native/pull/42603
      
      Enabling setNativeProps in animations on by default.
      
      Reviewed By: mdvacca
      
      Differential Revision: D52962882
      
      fbshipit-source-id: 67921c8e36e97b7b1315dfa0d5f3bd708ccb0079
      a5aed129
    • Jakub Trzebiatowski's avatar
      `TextLayoutUtils`: Use named arguments (#42593) · 87bcaa3f
      Jakub Trzebiatowski authored
      Summary:
      `TextLayoutUtils`: Use named arguments to ensure same-type arguments (like `start`/`end`) are not confused
      
      This is a minor readability follow-up to https://github.com/facebook/react-native/pull/39630.
      
      ## 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] - Increase the `TextLayoutUtils` readability slightly
      
      Pull Request resolved: https://github.com/facebook/react-native/pull/42593
      
      Reviewed By: NickGerleman
      
      Differential Revision: D53028402
      
      Pulled By: mdvacca
      
      fbshipit-source-id: 39e99ba70b93eecfc51bda19d30a5b1977cfe406
      87bcaa3f
    • szymonrybczak's avatar
      Bump CLI to 13.5.1 (#42183) · 78967b33
      szymonrybczak authored
      Summary:
      Updates CLI to v13.5.1.
      
      ## Changelog:
      
      [GENERAL] [CHANGED] - Bump CLI to 13.5.1
      
      Pull Request resolved: https://github.com/facebook/react-native/pull/42183
      
      Test Plan: CI
      
      Reviewed By: christophpurrer
      
      Differential Revision: D52600707
      
      Pulled By: huntie
      
      fbshipit-source-id: f314a405d8d7e9200595b42b62d354e61f0a2964
      78967b33
    • Alex Hunt's avatar
      Improve types, fix translator compatibility for version-related modules (#42638) · 02e7244b
      Alex Hunt authored
      Summary:
      Pull Request resolved: https://github.com/facebook/react-native/pull/42638
      
      Enables these modules to be covered by `public-api-test`.
      
      - Standardise as CommonJS modules, fixing compatibility with [`flow-api-translator`](https://www.npmjs.com/package/flow-api-translator).
      - Use explicit object type in generated file template.
      
      Changelog: [Internal]
      
      Reviewed By: NickGerleman
      
      Differential Revision: D52963967
      
      fbshipit-source-id: c9f3e35f70859c1b99b7297228ee2498f91d9041
      02e7244b
    • Krzysztof Magiera's avatar
      Unify codepath for retrieveing metro location on Android (#42617) · 0ea16fd3
      Krzysztof Magiera authored
      Summary:
      With the current ways metro location is determined, when we want to use a different metro port this requires app to be rebuild as the port and location are stored in resource file that gets compiled to R.class. The only way to avoid app rebuild due to a port change is to use shared preferences that can be accessed from dev menu, where metro URL can be specified. However, due to a separate code-paths for retrieving bundle location and for `/inspector/device` calls, the setting only applies to the former. As a consequence, you can change metro URL in the shared preferences, but debugging would only work if you use the default port or you rebuild the app with the correct port number.
      
      This PR removes the separate code-path for retrieving inspector URL including all the dependencies scattered across different files including the gradle plugin. We then replace calls to `PackagerConnectionSettings.getInspectorServerHost` with `PackagerConnectionSettings.getDebugServerHost` which respects the shared preferences and other possible ways of configuring the port.
      
      I decided to remove the separate inspector URL code path, as the resource value for inspector port added in https://github.com/facebook/react-native/issues/23616 was never functioning properly due to a bug. In the said PR introduced a bug in [AndroidInfoHelpers.java](https://github.com/facebook/react-native/blob/a13d51ff1c38ea85e59f4215563c0dd05452f670/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.java#L77) where `react_native_dev_server_port` was used instead `react_native_inspector_proxy_port`. As a result the added resource value was never read.
      
      This can be potentially a breaking change as I'm removing some public methods. However I think it is unlikely anyone relied on said methods. As a part of this PR I'm also changing occurences of removed methods from ReactAndroid.api – I don't know how to test those changes since I don't understand how this file is used as it doesn't have any references in public code.
      
      ## Changelog:
      
      [ANDROID] [FIXED] - Make Android respect metro location from shared preferences for the debugger workflow
      
      Pull Request resolved: https://github.com/facebook/react-native/pull/42617
      
      Test Plan:
      1. Run android app on emulator using default port
      2. Check the debugger works when using "Open Debugger" option from dev menu
      3. Restart metro with custom port (`--port 9090`) while keeping the app running
      4. Open dev menu, click "Settings" then "Debug server host & port", put "10.0.2.2:9090" there
      5. Reload the app
      6. Before this change things like hot reload would continue to work while "Open Debugger" option would do nothing
      7. After this change both reloading and debugging will work
      
      Important: I haven't tested changes made to ReactAndroid.api as I don't know what this files is used for with no references in the codebase.
      
      Reviewed By: cortinico
      
      Differential Revision: D53010023
      
      Pulled By: huntie
      
      fbshipit-source-id: cc8b9c5c7e834ec9ea02b1ed5acf94f04f7b7116
      0ea16fd3
    • Kudo Chien's avatar
      Enable DEFINES_MODULE for DoubleConversion (#42591) · 631b6a12
      Kudo Chien authored
      Summary:
      since https://github.com/facebook/react-native/commit/32dab7a63fd0795c3aaefa766aa9f818428ed2de, `DoubleConversion` is now added as an implicit dependency for 3rd party module and it breaks swift integration. this pr tries to add the `DEFINES_MODULE` to DoubleConversion.
      
      ## Changelog:
      
      [IOS] [FIXED] - Fixed `DoubleConversion` build error from Swift integration
      
      Pull Request resolved: https://github.com/facebook/react-native/pull/42591
      
      Test Plan:
      i'll need to test this on expo latest and react-native nightly build
      
      ```sh
      # pull latest expo repo and get template tarball
      $ git clone --depth 1 https://github.com/expo/expo.git
      $ cd expo
      $ yarn install
      $ cd templates/expo-template-bare-minimum
      $ npx pack --pack-destination ../../
      
      # now create an expo app
      $ yarn create expo -t blank@sdk-50 sdk50
      $ cd sdk50
      $ yarn add react-native@nightly
      $ jq '.expo.runtimeVersion = { "policy": "appVersion" }' app.json > app.json.tmp && mv app.json.tmp app.json
      $ npx expo prebuild -p ios --template /path/to/expo/expo-template-bare-minimum-50.0.17.tgz
      $ cd ios
      $ pod install
      ```
      
      then it will show the error message:
      ```
      [!] The following Swift pods cannot yet be integrated as static libraries:
      
      The Swift pod `ExpoModulesCore` depends upon `DoubleConversion`, which does not define modules. To opt into those targets generating module maps (which is necessary to import them from Swift when building as static libraries), you may set `use_modular_headers!` globally in your Podfile, or specify `:modular_headers => true` for particular dependencies.
      ```
      
      Reviewed By: cortinico
      
      Differential Revision: D53048352
      
      Pulled By: cipolleschi
      
      fbshipit-source-id: b1e27d3d26e8543a4cb2e8062c93c68543a051c5
      631b6a12
    • Gabriel Donadel's avatar
      Remove ATS config patch from react_native_post_install (#42637) · 41c601e4
      Gabriel Donadel authored
      Summary:
      This PR removes the `apply_ats_config` function of ReactNativePodsUtils that was used inside `react_native_post_install` because it was preventing users from configuring `NSAllowsArbitraryLoads` to true in their projects, especially when building in CI as the plist file would be reset after running pod install.
      
      ## Changelog:
      
      [IOS] [CHANGED] - Remove ATS config patch from react_native_post_install
      
      Pull Request resolved: https://github.com/facebook/react-native/pull/42637
      
      Test Plan: Edit `Info.plist`, run `pod install` and check if changes have not been overwritten
      
      Reviewed By: cortinico
      
      Differential Revision: D53048299
      
      Pulled By: cipolleschi
      
      fbshipit-source-id: 8dc335fae2e05a62daf931a50fa3f7a314e76a2e
      41c601e4
    • Riccardo Cipolleschi's avatar
      Fix RCTFabric podspec (#42639) · f4dbd15f
      Riccardo Cipolleschi authored
      Summary:
      Pull Request resolved: https://github.com/facebook/react-native/pull/42639
      
      When I reverted part of the deprecation of `RCT_NEW_ARCH_ENABLED`, I forget a little bit which was breaking RCTFabric podspec.
      
      This diff fixes that.
      
      ## Changelog:
      [Internal] - Bring back `RCT_NEW_ARCH_ENABLED` to Fabric to make the `RCTThirdPartyFabricComponentsProvider` work again.
      
      Reviewed By: cortinico
      
      Differential Revision: D53048270
      
      fbshipit-source-id: d21e833c10b332fb70147cc65b690f88016655e6
      f4dbd15f
    • Luna Wei's avatar
      Typing scripts used for test-e2e-local (#42610) · f322dc7a
      Luna Wei authored
      Summary:
      Pull Request resolved: https://github.com/facebook/react-native/pull/42610
      
      Changelog: [Internal] Adding more typing to internal scripts used by test-e2e-local
      
      Reviewed By: NickGerleman
      
      Differential Revision: D52988733
      
      fbshipit-source-id: 6e187b7c9560b30def014e8932ab82ed07cf8488
      f322dc7a
    • Luna Wei's avatar
      Type circle-ci-artifacts-util (#42608) · 3d097d46
      Luna Wei authored
      Summary:
      Pull Request resolved: https://github.com/facebook/react-native/pull/42608
      
      Changelog: [Internal] - Type circle-ci-artifacts-util and migrate it to node-fetch
      
      Reviewed By: NickGerleman
      
      Differential Revision: D52932555
      
      fbshipit-source-id: 50e874e23fe8131a9376845006dab3116aed8a04
      3d097d46
    • Ingrid Wang's avatar
      Migrate RNTester onto new RN notification callbacks (#42406) · ccff2bb8
      Ingrid Wang authored
      Summary:
      Pull Request resolved: https://github.com/facebook/react-native/pull/42406
      
      ## Changelog:
      
      [iOS][Changed] Migrated RNTester/AppDelegate to the new notification callback
      
      Reviewed By: philIip
      
      Differential Revision: D52883367
      
      fbshipit-source-id: 0afcd81f4ad4ee0c49b264785fa261789603a072
      ccff2bb8
  3. Jan 24, 2024
    • Riccardo Cipolleschi's avatar
      Register RCTDeviceInfo to invalidating and cleanup observer (#42396) · d46d80d2
      Riccardo Cipolleschi authored
      Summary:
      Pull Request resolved: https://github.com/facebook/react-native/pull/42396
      
      Cmmunity reported [#42120](https://github.com/facebook/react-native/issues/42120) where React Native was crashing if RCTDeviceInfo native module was receiving a notification while the bridge is invalidating.
      
      Upon investigation, I realized that:
      1. The RCTDeviceInfo module is never invalidated
      2. Observers are still observing even when the Bridge is in an invalidated state and it is not back up.
      
      This change makes sure that we invalidate the `RCTDeviceInfo.mm` module and that we unregister the observers.
      
      ## Changelog:
      [iOS][Fixed] - Make `RCTDeviceInfo` listen to invalidate events and unregister observers while invalidating the bridge
      
      Reviewed By: RSNara
      
      Differential Revision: D52912604
      
      fbshipit-source-id: 1727bcdef5393b1bd5a272e2143bc65456c2a389
      d46d80d2
    • Riccardo Cipolleschi's avatar
      Add a snapshot only if the Modal is visible (#42619) · 7c4afa10
      Riccardo Cipolleschi authored
      Summary:
      Pull Request resolved: https://github.com/facebook/react-native/pull/42619
      
      This is a workaround to prepare for the next diff in the stack and make sure that the modal works correctly
      
      ## Changelog
      [iOS][Changed] - Add the for the dismissal snapshot only when we need it.
      
      Reviewed By: sammy-SC
      
      Differential Revision: D53003657
      
      fbshipit-source-id: 6d6cc85946b1beb8e784e08a650d1247cf780228
      7c4afa10
    • Moti Zilberman's avatar
      Create PageTarget{Delegate,Controller}, respond to Page.reload (#42587) · be441f8f
      Moti Zilberman authored
      Summary:
      Pull Request resolved: https://github.com/facebook/react-native/pull/42587
      
      Changelog: [Internal]
      
      * Introduces the Target Delegate and Target Controller concepts (see `CONCEPTS.md`).
      * Introduces the `PageTargetDelegate` interface and `PageTargetController` class (see doc comments).
      * Uses the above infra to implement support for the `Page.reload` CDP command. Each integration provides its own `PageTargetDelegate` that knows how to trigger a reload in a platform- and architecture-specific way.
        * iOS Bridge/Bridgeless and `PageTargetTest` are the only integrations that exist as of this diff, and are all updated here; Android will follow later.
      
      NOTE: `RCTBridge` = iOS Bridge, `RCTHost` = iOS Bridgeless.
      
      ## Object lifetimes
      
      `PageAgent` holds a raw `PageTargetController&` reference to a member of `PageTarget`, through which it gets access to that target's `PageTargetDelegate&` (another raw reference).
      
      Here's what makes this safe:
      
      1. **`PageTargetDelegate` outlives `PageTarget`** - this is the responsibility of the platform integration ( = the code that instantiates `PageTarget`).
      2. **`PageTarget` outlives its Sessions and Agents** - this is `PageTarget`'s "moral" responsibility, even though it doesn't own its Sessions outright (`InspectorPackagerConnection` does). We add an assertion in `PageTarget`'s destructor to catch violations, and document that the integrator must call `getInspectorInstance().removePage` (which terminates all remaining sessions) before destroying the corresponding `PageTarget`.
      
      NOTE: In upcoming diffs we'll use the new Target→Session references, currently used only for the assertion in (2), to power actual functionality (e.g. dispatching CDP events to the frontend when some imperative method is called on `PageTarget`).
      
      ## Thread safety
      
      `PageTargetDelegate::onReload` is guaranteed to be called synchronously on the thread where messages are dispatched to `PageTargetSession`, which on iOS is the main (UI) thread.
      
      Reviewed By: huntie
      
      Differential Revision: D51164125
      
      fbshipit-source-id: 4c3eeb81a8df9677c173588eb5acfd686722c3c9
      be441f8f
    • Nicola Corti's avatar
      Build Android on Ubuntu 22.04 (#42618) · b8778abc
      Nicola Corti authored
      Summary:
      Bumping the Docker image we use to build Android from Ubuntu 20.04 to 22.04
      
      ## Changelog:
      
      [INTERNAL] - Build Android on Ubuntu 22.04
      
      Pull Request resolved: https://github.com/facebook/react-native/pull/42618
      
      Test Plan: CI
      
      Reviewed By: NickGerleman
      
      Differential Revision: D53003492
      
      Pulled By: cortinico
      
      fbshipit-source-id: 547d19628e67aeb7a6d32e0a006673c909b55f32
      b8778abc
    • Jakub Trzebiatowski's avatar
      Clean up the function naming in `TextMeasureCache.h` (#42598) · cbd818da
      Jakub Trzebiatowski authored
      Summary:
      Clean up the function naming in `TextMeasureCache.h`. One name was clearly a human mistake. Make the naming consistent.
      
      This is a minor improvement in the context of my multi-PR work on https://github.com/react-native-community/discussions-and-proposals/issues/695.
      
      ## 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] [CHANGE] - Clean up the function naming in `TextMeasureCache.h`
      
      Pull Request resolved: https://github.com/facebook/react-native/pull/42598
      
      Reviewed By: NickGerleman
      
      Differential Revision: D52960435
      
      Pulled By: sammy-SC
      
      fbshipit-source-id: 01327610446933972e8dc87e1b6e2950b7c706d2
      cbd818da
  4. Jan 23, 2024
    • Oskar Kwaśniewski's avatar
      feat: make codegen take OOT Apple platforms into account (#42047) · ebb2b9c3
      Oskar Kwaśniewski authored
      Summary:
      ### The problem
      
      1. We have a library that's supported on iOS but doesn't have support for visionOS.
      2. We run pod install
      3. Codegen runs and generates Code for this library and tries to reference library class in `RCTThirdPartyFabricComponentsProvider`
      4. Example:
      
      ```objc
      Class<RCTComponentViewProtocol> RNCSafeAreaProviderCls(void) __attribute__((used)); // 0
      ```
      
      This is an issue because the library files are not linked for visionOS platform (because code is linked only for iOS due to pod supporting only iOS).
      
      ### Solution
      
      Make codegen take Apple OOT platforms into account by adding compiler macros if the given platform doesn't explicitly support this platform in the native package's podspec file.
      
      Example generated output for library supporting only `ios` and `visionos` in podspec:
      
      ![CleanShot 2023-12-22 at 15 48 22@2x](https://github.com/facebook/react-native/assets/52801365/0cdfe7f5-441d-4466-8713-5f65feef26e7)
      
      I used compiler conditionals because not every platform works the same, and if in the future let's say react-native-visionos were merged upstream compiler conditionals would still work.
      
      Also tvOS uses Xcode targets to differentiate which platform it builds so conditionally adding things to the generated file wouldn't work.
      
      ## Changelog:
      
      [IOS] [ADDED] - make codegen take OOT Apple platforms into account
      
      Pull Request resolved: https://github.com/facebook/react-native/pull/42047
      
      Test Plan:
      1. Generate a sample app with a template
      5. Add third-party library (In my case it was https://github.com/callstack/react-native-slider)
      6. Check if generated codegen code includes compiler macros
      
      Reviewed By: cipolleschi
      
      Differential Revision: D52656076
      
      Pulled By: dmytrorykun
      
      fbshipit-source-id: c827f358997c70a3c49f80c55915c28bdab9b97f
      ebb2b9c3
    • Nicola Corti's avatar
      Remove dead android scripts (#42612) · a13d51ff
      Nicola Corti authored
      Summary:
      Those scripts are all dead, and should not be used anymore.
      I'm removing them.
      
      ## Changelog:
      
      [INTERNAL] - Remove dead android scripts
      
      Pull Request resolved: https://github.com/facebook/react-native/pull/42612
      
      Test Plan: n/a
      
      Reviewed By: cipolleschi
      
      Differential Revision: D52997852
      
      Pulled By: cortinico
      
      fbshipit-source-id: cf57177eedb8bc0f40daf7c6c5fcd1d5ba89ba32
      a13d51ff
    • Jakub Trzebiatowski's avatar
      Extract fragment conversions to separate functions (#42597) · 2722f957
      Jakub Trzebiatowski authored
      Summary:
      Extract fragment conversions to separate functions to make refactoring easier and simplify reasoning about the code.
      
      This code is being modified later.
      
      This is a minor improvement in the context of my multi-PR work on https://github.com/react-native-community/discussions-and-proposals/issues/695.
      
      ## 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] [CHANGE] - Extract fragment conversions to separate functions
      
      Pull Request resolved: https://github.com/facebook/react-native/pull/42597
      
      Reviewed By: NickGerleman
      
      Differential Revision: D52960655
      
      Pulled By: robhogan
      
      fbshipit-source-id: 0df62b9980c06a1c2fc113d645ba8b6b668fa394
      2722f957
    • Nick Gerleman's avatar
      Fix flooring of border (#42411) · e27452a6
      Nick Gerleman authored
      Summary:
      Pull Request resolved: https://github.com/facebook/react-native/pull/42411
      
      X-link: https://github.com/facebook/yoga/pull/1562
      
      I added a small regression D52605596, where negative border would not be correctly floored. This fixes that, and starts adding tests specifically targeting the computed style API, now decoupled from the yoga node.
      
      Reviewed By: joevilches
      
      Differential Revision: D52930827
      
      fbshipit-source-id: e165dade705a8de54c92d65f3664c9081137788c
      e27452a6