forked from facebook/react-native
-
Notifications
You must be signed in to change notification settings - Fork 149
Bring in the rest of 0.72-stable from RNCore #1927
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
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#publish-packages-to-npm
Co-authored-by: Riccardo Cipolleschi <cipolleschi@fb.com>
…#36654) Co-authored-by: Riccardo Cipolleschi <cipolleschi@fb.com>
…k#36655) Co-authored-by: Riccardo Cipolleschi <cipolleschi@fb.com>
Co-authored-by: Riccardo Cipolleschi <cipolleschi@fb.com> Co-authored-by: Alex Hunt <alexeh@meta.com> resolved: facebook#36502
Summary: changelog: [internal] Turn on NSTextStorage in OSS. Reviewed By: cipolleschi Differential Revision: D44216186 fbshipit-source-id: 7f08291dc0bc1237e72dd96235f76ed90361826b
Summary: This diff optimizes text measurement by adding a layer of caching per shadow node. When ReactFeatureFlags.enableTextMeasureCachePerShadowNode is enabled, we will cache and reused measurements per shadow node. This optimization showed a 2x improvement on text rendearing when a screen contains a big amount of text components. Changelog: [Internal] Internal Reviewed By: sammy-SC Differential Revision: D44221170 fbshipit-source-id: c3e7ba1ad216929826a99585874981717c90e13b
Summary: changelog: [internal] `setNativeProps` have been implemented in Fabric but require a React change to be accessible from JavaScript components. For React sync to be imported in OSS builds, React needs to have have a new release in NPM. To work around this limitation, I manually copied over lines of code that glue together setNativeProps to OSS build. Reviewed By: cortinico, cipolleschi Differential Revision: D44216496 fbshipit-source-id: b34b598c1a317bdc03cc5a4cadb3f7c610059709
Summary: New Architecture Support missing in React Native Fragment, added same. Changelog: [Android] [Added] - Support to enable/disable Fabric in ReactFragment Pull Request resolved: facebook#36263 Test Plan: <details> <summary>Kotlin Code Snippet to test:</summary> <p> ```kotlin supportFragmentManager .beginTransaction() .add(android.R.id.content, ReactFragment.Builder() .setComponentName("componentName") .setFabricEnabled(true) .build()) .commit() ``` </p> </details> Reviewed By: mdvacca Differential Revision: D43701078 Pulled By: cortinico fbshipit-source-id: 659ed2b4cf6619c6d64b803a198a93ff84b574fe
Summary: Pull Request resolved: facebook#36571 Changelog: [Internal] The problem is related to the way we use `js_srcs_dir` & `output_dir` options, one requires just relative path from current ruby script, other requires relative path from iOS root project (where the Podfile located) output_dir was introduced in D43304641 resulted into the issue, described in https://discord.com/channels/514829729862516747/1087736932953509958 allow-large-files Reviewed By: cipolleschi Differential Revision: D44294112 fbshipit-source-id: 47fcf510e203d0880e1f92ab6ead09f4b79cb4dd
…ere it is (facebook#36541) Summary: Pull Request resolved: facebook#36541 We only know where the last focused cell lives after it is rendered. Apart from dead refs handled in D43835135, this means items added or removed before the focused cell will lead to a stale last index for the next state update. We don't have a good way to correlate cells after data change. This effects the implementation for [`maintainVisibleContentPosition`](facebook#35993) as well, but needs some thought on the right way to handle it. For now, we bail when we don't know where the last focused cell lives. Changelog: [General][Fixed] - Bail on realizing region around last focused cell if we don't know where it is Reviewed By: yungsters Differential Revision: D44221162 fbshipit-source-id: 8fc7e726fe13c62b98870600563857bb89290280
Summary: Pull Request resolved: facebook#36543 This is part of a series of changes to minimize the number of spans committed to EditText, as a mitigation for platform issues on Samsung devices. See this [GitHub thread]( facebook#35936 (comment)) for greater context on the platform behavior. We cache the backing EditText span on text change to later measure. To measure outside of a TextInput we need to restore any spans we removed. Spans may overlap, so base attributes should be behind everything else. The logic here for dealing with precedence is incorrect, and we should instead accomplish this by twiddling with the `SPAN_PRIORITY` bits. Changelog: [Android][Fixed] - Minimize Spans 1/N: Fix precedence Reviewed By: javache Differential Revision: D44240779 fbshipit-source-id: f731b353587888faad946b8cf1e868095cdeced3
…ic (facebook#36546) Summary: Pull Request resolved: facebook#36546 This is part of a series of changes to minimize the number of spans committed to EditText, as a mitigation for platform issues on Samsung devices. See this [GitHub thread]( facebook#35936 (comment)) for greater context on the platform behavior. This change generalizes `stripAttributeEquivalentSpans()` to allow plugging in different spans. Changelog: [Internal] Reviewed By: rshest Differential Revision: D44240781 fbshipit-source-id: 89005266020f216368e9ad9ce382699bd8db85a8
Summary: Pull Request resolved: facebook#36547 This is part of a series of changes to minimize the number of spans committed to EditText, as a mitigation for platform issues on Samsung devices. See this [GitHub thread]( facebook#35936 (comment)) for greater context on the platform behavior. This adds `ReactBackgroundColorSpan` to the list of spans eligible to be stripped. Changelog: [Android][Fixed] - Minimize Spans 3/N: ReactBackgroundColorSpan Reviewed By: javache Differential Revision: D44240782 fbshipit-source-id: 2ded1a1687a41cf6d5f83e89ffadd2d932089969
Summary: Pull Request resolved: facebook#36545 This is part of a series of changes to minimize the number of spans committed to EditText, as a mitigation for platform issues on Samsung devices. See this [GitHub thread]( facebook#35936 (comment)) for greater context on the platform behavior. This adds ReactForegroundColorSpan to the list of spans eligible to be stripped. Changelog: [Android][Fixed] - Minimize Spans 4/N: ReactForegroundColorSpan Reviewed By: javache Differential Revision: D44240780 fbshipit-source-id: d86939cc2d7ed9116a4167026c7d48928fc51757
) Summary: Pull Request resolved: facebook#36544 This is part of a series of changes to minimize the number of spans committed to EditText, as a mitigation for platform issues on Samsung devices. See this [GitHub thread]( facebook#35936 (comment)) for greater context on the platform behavior. This change makes us apply strikethrough and underline as paint flags to the underlying EditText, instead of just the spans. We then opt ReactUnderlineSpan and ReactStrikethroughSpan into being strippable. This does actually create visual behavior changes, where child text will inherit any underline or strikethrough of the root EditText (including if the child specifies `textDecorationLine: "none"`. The new behavior is consistent with both iOS and web though, so it seems like more of a bugfix than a regression. Changelog: [Android][Fixed] - Minimize Spans 5/N: Strikethrough and Underline Reviewed By: rshest Differential Revision: D44240778 fbshipit-source-id: d564dfc0121057a5e3b09bb71b8f5662e28be17e
Summary: Pull Request resolved: facebook#36548 This is part of a series of changes to minimize the number of spans committed to EditText, as a mitigation for platform issues on Samsung devices. See this [GitHub thread]( facebook#35936 (comment)) for greater context on the platform behavior. This change lets us set `letterSpacing` on the EditText instead of using our custom span. Changelog: [Android][Fixed] - Minimize EditText Spans 6/N: letterSpacing Reviewed By: rshest Differential Revision: D44240777 fbshipit-source-id: 9bd10c3261257037d8cacf37971011aaa94d1a77
Summary: Pull Request resolved: facebook#36576 This is part of a series of changes to minimize the number of spans committed to EditText, as a mitigation for platform issues on Samsung devices. See this [GitHub thread]( facebook#35936 (comment)) for greater context on the platform behavior. This change addresses some minor CR feedback and removes the temporary list of spans in favor of applying them directly. Changelog: [Internal] Reviewed By: javache Differential Revision: D44295190 fbshipit-source-id: bd784e2c514301d45d0bacd8ee6de5c512fc565c
Summary: Pull Request resolved: facebook#36577 This is part of a series of changes to minimize the number of spans committed to EditText, as a mitigation for platform issues on Samsung devices. See this [GitHub thread]( facebook#35936 (comment)) for greater context on the platform behavior. This change allows us to strip CustomStyleSpan. We already set all but `fontVariant` on the underlying EditText, so we just need to route that through as well. Note that because this span is non-parcelable, it is seemingly not subject to the buggy behavior on Samsung devices of infinitely cloning the spans, but non-parcelable spans have different issues on the devices (they disappear), so moving `fontVariant` to the top-level makes sense here. Changelog: [Android][Fixed] - Minimize EditText Spans 8/N: CustomStyleSpan Reviewed By: javache Differential Revision: D44297384 fbshipit-source-id: ed4c000e961dd456a2a8f4397e27c23a87defb6e
…k#36575) Summary: Pull Request resolved: facebook#36575 This is part of a series of changes to minimize the number of spans committed to EditText, as a mitigation for platform issues on Samsung devices. See this [GitHub thread]( facebook#35936 (comment)) for greater context on the platform behavior. D23670779 addedd a previous mechanism to add spans for measurement caching, like we needed to do as part of this change. It is called in more specific cases (e.g. when there is a text hint but no text), but it edits the live EditText spannable instead of the cache copy, and does not handle nested text at all. We are already adding spans back to the input after this, behind everything else, and can replace it with the code we have been adding. Changelog: [Android][Fixed] - Mimimize EditText Spans 9/9: Remove `addSpansForMeasurement()` Reviewed By: javache Differential Revision: D44298159 fbshipit-source-id: 1af44a39de7550b7e66e45db9ebc3523ae9ff002
…ecution (facebook#38715) Summary: Hello! This PR is a fix for one merged some time ago (facebook#36216). In the PR check for `nullptr` value of `newRootShadowNode` just after performing commit hooks was overlooked. This PR restores previous behaviour of conditional commit cancellation after commit hook execution. ## Changelog: [INTERNAL] [FIXED] - Restore checking shadow tree commit cancellation after commit hook execution Pull Request resolved: facebook#38715 Test Plan: Just register a commit hook that return `nullptr`. In that case current code crashes due to `nullptr` dereference. Reviewed By: sammy-SC Differential Revision: D47972245 Pulled By: ryancat fbshipit-source-id: 7599ad11ed4b2dcaf25e53f676ec4530e37410d5
Co-authored-by: Luna Wei <luwe@fb.com>
Summary: Pull Request resolved: facebook#38857 `hitSlop` must be passed into the `usePressability` hook in order for it to take effect. It's a no-op if no hit slop is present Changelog: [Internal][Fixed] - Propagate hit slop prop to TextInput pressability config Reviewed By: NickGerleman Differential Revision: D48124538 fbshipit-source-id: a910fdcec55e67d37c84facca297428556ef777e
#publish-packages-to-npm
#publish-packages-to-npm
…72 edition) (facebook#38888) Co-authored-by: William Bell <williambell9708@outlook.com> resolved: facebook#38247 resolved: facebook#38666
Summary: Pull Request resolved: facebook#37914 Restores facebook#37874 (reverted earlier today), with fix for `JSCRuntime.cpp` build on Android. Changelog: None Reviewed By: cortinico Differential Revision: D46762984 fbshipit-source-id: 6d56f81b9d0c928887860993b2b729ed96c0734c
…acebook#38891) Summary: `mFirstVisibleView` is a weak ref so it can also be null when dereferencing. This was reported on the original PR here facebook#35049 (comment) ## Changelog: [ANDROID] [FIXED] - Fix null crash when using maintainVisibleContentPosition on Android Pull Request resolved: facebook#38891 Test Plan: Not sure exactly in what cases this can happen, but the fix is trivial and makes sense. Reviewed By: cortinico Differential Revision: D48192154 Pulled By: rshest fbshipit-source-id: 57a38a22a0e216a33603438355bde0013c014fbf
…of props (facebook#39008) Summary: Pull Request resolved: facebook#39008 Changelog: [Internal] - Adjust RawPropsPropNameLength's type to account for increased number of props While investigating why we needed to back out D48288752 I discovered that the root cause was that the `items_` vector in `RawProsKeyMap` was now a size greater than 255 which becomes an issue because `items_`'s indices are statically cast to `RawPropsPropNameLength` (previously alias to `uint8_t`). This diff updates `RawPropsPropNameLength` to be an alias to `uint16_t` so the current issue is resolved as well as adding an assert to ensure (however unlikely) that this happens again. Reviewed By: rozele Differential Revision: D48331909 fbshipit-source-id: f6bc3e4825f2f293d79d8cd90c40ced7cba0e3c5
… Xcode 14.3+ (facebook#39037) Summary: An earlier [change](facebook@8b1bf05) I made (that huntie resubmitted) only works on Xcode 14.3+ (See more info [here](react-native-community/discussions-and-proposals#687)). This change adds the appropriate compiler checks so that the change is compatible with Xcode 14.2 and earlier, and therefore cherry-pickable to 0.71 and 0.72. The check works by checking if iOS 16.4+ is defined, which is the closest proxy I could find for "Is this Xcode 14.3". ## Changelog: [IOS] [CHANGED] - Guard `JSGlobalContextSetInspectable` behind a compile time check for Xcode 14.3+ Pull Request resolved: facebook#39037 Test Plan: I can't actually test on Xcode 14.2 (it won't launch on my MacBook 😢), but I made a similar [PR](microsoft#1848) in React Native macOS, whose CI checks run against Xcode 14.2 and I'm getting passing checks there. Reviewed By: huntie Differential Revision: D48414196 Pulled By: NickGerleman fbshipit-source-id: ba10a6505dd11d982cc56c02bf9f7dcdc104bbec
Summary: Android builds with new arch fail on Windows build host (facebook#36475). This tiny correction fixes generation of `schema.json` (without it codegen failed to find any files, and generated empty schema). Unfortunately, does not fixes the issue with Windows host entirely, as builds still fail later (on ninja build step). ## Changelog: [Android] [Fixed] - A bug fix for Android builds with new arch on Windows host. Pull Request resolved: facebook#36542 Reviewed By: NickGerleman Differential Revision: D48563587 Pulled By: cortinico fbshipit-source-id: acd510308ce9768fb17d3a33c7927de3237748ac
…ook#38158)" (facebook#39177) Summary: This partially reverts commit 58adc5e. Using an absolute path in a podspec is wrong, and causes checksum issues when installs are ran on different systems. Example: `pod install --deployment --clean-install` breaks on non-matching checksums on CI because the absolute path is not the same in that environment. ``` Adding spec repo `trunk` with CDN `https://cdn.cocoapods.org/` Verifying no changes [!] There were changes to the lockfile in deployment mode: SPEC CHECKSUMS: React-debug: New Lockfile: 419922cde6c58cd5b9d43e4a09805146a7dd13a8 Old Lockfile: 1ce329843d8f9a9cbe0cdd9de264b20e89586734 React-NativeModulesApple: New Lockfile: a683b0c999e76b7d15ad9d5eaf8b6308e710a93e Old Lockfile: f82356d67a137295d098a98a03be5ee35871b5a5 React-runtimescheduler: New Lockfile: 79f8dff11acbe36aaeece63553680d7a8272af96 Old Lockfile: 16c5282d43a0df50d7c68ebf0218aeeb642a7086 React-utils: New Lockfile: 4fabb3cba786651e35bc41e610b0698fa24cecff Old Lockfile: e7e9118d0e85b107bb06d1a5f72ec5db6bddb911 ReactCommon: New Lockfile: af30fb021799e18c85a8e30ce799e15607e82212 Old Lockfile: f04f86f33c22e05dbf875789ea522ee486dace78 ``` And even tho the change fixed an issue with pnpm, the issue it introduces with cocoapods I think is a bigger one. ## Changelog: [INTERNAL] - Revert commit that makes podfile unstable Pull Request resolved: facebook#39177 Test Plan: Tested locally that the hashes are stable Reviewed By: NickGerleman Differential Revision: D48773887 Pulled By: cipolleschi fbshipit-source-id: 96bcdbadc17a24fa9a8669f569d004bee6a03521
Summary: Currently Android fails to build on Windows, because CMake cannot work with native Windows paths that are passed to it as build arguments. This change converts the input paths to the CMake format. ## Changelog: [Android] [Fixed] - Fix building Android on Windows. Pull Request resolved: facebook#39190 Test Plan: Build the React Native Android project on Windows. It should complete successfully. Reviewed By: NickGerleman Differential Revision: D48948140 Pulled By: cortinico fbshipit-source-id: 6d584c2a10e683cdb6df0dd6dcd5875da7e06e2b
…37878) (facebook#39033) Summary: See: http://blog.nparashuram.com/2019/10/debugging-react-native-ios-apps-with.html When using direct debugging with JavaScriptCore, Safari Web Inspector doesn't pick up the source map over the network. Instead, as far as I can tell, it expects you to pass the source URL at the time you load your bundle: https://developer.apple.com/documentation/javascriptcore/jscontext/1451384-evaluatescript?language=objc . This leads to a very sub-par developer experience debugging the JSbundle directly. It will however, pick up an inline source map. Therefore, let's add a way to have React Native tell metro to request an inline source map. I did this by modifying `RCTBundleURLProvider` to have a new query parameter for `inlineSourceMap`, and set to true by default for JSC. [IOS] [ADDED] - Added support to inline the source map via RCTBundleURLProvider Pull Request resolved: facebook#37878 Test Plan: I can put a breakpoint in RNTester, via Safari Web Inspector, in human readable code :D <img width="1728" alt="Screenshot 2023-06-14 at 4 09 03 AM" src="https://github.com/facebook/react-native/assets/6722175/055277fa-d887-4566-9dc6-3ea07a1a60b0"> Reviewed By: motiz88 Differential Revision: D46855418 Pulled By: huntie fbshipit-source-id: 2134cdbcd0a3e81052d26ed75f83601ae4ddecfe
Saadnajmi
reviewed
Sep 6, 2023
Saadnajmi
approved these changes
Sep 6, 2023
4 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Please select one of the following
Summary
This is the result of running
git merge facebook/0.72-stable
and resolving any merge conflicts.Changelog
[INTERNAL] [FIXED] - Bring in the rest of 0.72-stable from RNCore
Test Plan
RNTester runs fine everywhere.