-
Notifications
You must be signed in to change notification settings - Fork 135
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merge 0.66 into master #951
Conversation
Summary: Changelog: [Internal] This diff replaced all the internal occurrences of "Immediate" with "ReactNativeMicrotask" in the legacy bridge and then polyfilled the original immediate APIs during the timer setup phases as aliases of them. Note that this diff is part of a larger refactoring. Reviewed By: RSNara Differential Revision: D29785430 fbshipit-source-id: 7325d2a7358a6c9baa3e9abb8acf90414de5072f
Summary: Changelog: [internal] Fabric didn't have prop [removeClippedSubviews](https://reactnative.dev/docs/view#removeclippedsubviews) implemented. This diff adds it. It is Reviewed By: JoshuaGross Differential Revision: D29906458 fbshipit-source-id: 5851fa41d7facea9aab73ca131b4a0d23a2411ea
Summary: Changelog: [Internal] Reviewed By: yungsters Differential Revision: D29832704 fbshipit-source-id: dfd37d08d0f25fe86716a21682648894e8adad8b
Summary: Part of facebook#31788 ~Updated link in README that was pointing to master branch to main branch~ Realized that link in rn-tester README and ReactAndroid README leads to a dead link, so I've fixed the links ## Changelog <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see: https://github.com/facebook/react-native/wiki/Changelog --> [INTERNAL] [FIXED] - Fix dead links in README Pull Request resolved: facebook#31901 Test Plan: - [ ] Updated link directs you to appropriate page Reviewed By: PeteTheHeat Differential Revision: D29933044 Pulled By: GijsWeterings fbshipit-source-id: c1f301626acbb2995d74f78d8bc19214c70e9319
Summary: Some of the links in `CONTRIBUTING.md` redirects you to a different page. I've fixed the links so each link would directly send users to the appropriate page. ## Changelog <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see: https://github.com/facebook/react-native/wiki/Changelog --> [INTERNAL] [Changed] - update links in CONTRIBUTING.md Pull Request resolved: facebook#31903 Test Plan: - [ ] Change links shows the appropriate content Reviewed By: lunaleaps Differential Revision: D29933105 Pulled By: GijsWeterings fbshipit-source-id: b5be74181f8a8e88d8f43e44c469337b7393dedf
Summary: Changelog: [internal] The warnings are in-actionable for product engineers. Reviewed By: JoshuaGross Differential Revision: D29911438 fbshipit-source-id: f0f81588e8cbe88059e531c8be302ab19b8eb83f
Summary: Currently, React Native throws an invariant violation error when a text string or number is supplied as a child. This is undesirable because core library components should be fault-tolerant and degrade gracefully (with soft errors, if relevant). This change will work when a change in the host configs are landed (facebook/react#21953). Changelog: [internal] Reviewed By: yungsters, sammy-SC Differential Revision: D29894182 fbshipit-source-id: 827ff299991a476b57981382d196c7ee1396ec28
Summary: This sync includes the following changes: - **[419cc9c37](facebook/react@419cc9c37 )**: Fix: Hide new/updated nodes in already hidden tree ([facebook#21929](facebook/react#21929)) //<Andrew Clark>// - **[4758e4533](facebook/react@4758e4533 )**: React Native: Export getInspectorDataForInstance API ([facebook#21572](facebook/react#21572)) //<Brian Vaughn>// - **[ae5d26154](facebook/react@ae5d26154 )**: Fix: LegacyHidden should not toggle effects ([facebook#21928](facebook/react#21928)) //<Andrew Clark>// - **[9ab90de60](facebook/react@9ab90de60 )**: Clean-up: Move Offscreen logic from Suspense fiber ([facebook#21925](facebook/react#21925)) //<Andrew Clark>// - **[3f62dec84](facebook/react@3f62dec84 )**: Typo fix ([facebook#21729](facebook/react#21729)) //<Deniz Susman>// - **[5579f1dc8](facebook/react@5579f1dc8 )**: Update test comments with explanations ([facebook#21857](facebook/react#21857)) //<Ricky>// - **[262ff7ad2](facebook/react@262ff7ad2 )**: Refactor "disappear" logic into its own traversal ([facebook#21901](facebook/react#21901)) //<Andrew Clark>// - **[34600f4fa](facebook/react@34600f4fa )**: Refactor "reappear" logic into its own traversal ([facebook#21898](facebook/react#21898)) //<Andrew Clark>// - **[310187264](facebook/react@310187264 )**: Clean up flushSync flow types ([facebook#21887](facebook/react#21887)) //<Ricky>// - **[a97b5ac07](facebook/react@a97b5ac07 )**: [Bugfix] Don't hide/unhide unless visibility changes ([facebook#21875](facebook/react#21875)) //<Andrew Clark>// - **[81346764b](facebook/react@81346764b )**: Run persistent tests in more configurations in CI ([facebook#21880](facebook/react#21880)) //<Andrew Clark>// - **[9090257e6](facebook/react@9090257e6 )**: fix: restore execution context after RetryAfterError completed ([facebook#21766](facebook/react#21766)) //<Sebastian Silbermann>// - **[14bac6193](facebook/react@14bac6193 )**: Allow components to render undefined ([facebook#21869](facebook/react#21869)) //<Ricky>// - **[87b67d319](facebook/react@87b67d319 )**: Enable scheduling profiler flag for react-dom profiling builds ([facebook#21867](facebook/react#21867)) //<Brian Vaughn>// - **[464f27572](facebook/react@464f27572 )**: Update link to flow ([facebook#21862](facebook/react#21862)) //<Ehsan Hosseini>// - **[9f5224a9c](facebook/react@9f5224a9c )**: Restore DevTools console message ([facebook#21864](facebook/react#21864)) //<Dan Abramov>// - **[a4ecd85e8](facebook/react@a4ecd85e8 )**: act: Batch updates, even in legacy roots ([facebook#21797](facebook/react#21797)) //<Andrew Clark>// - **[c2c6ea1fd](facebook/react@c2c6ea1fd )**: Capture suspense boundaries with undefined fallbacks ([facebook#21854](facebook/react#21854)) //<Ricky>// - **[0f09f14ae](facebook/react@0f09f14ae )**: Check if already rendering before flushing //<Andrew Clark>// - **[54e88ed12](facebook/react@54e88ed12 )**: Bugfix: Flush legacy sync passive effects at beginning of event ([facebook#21846](facebook/react#21846)) //<Andrew Clark>// - **[cb8afda18](facebook/react@cb8afda18 )**: Add test for facebook#21837 ([facebook#21842](facebook/react#21842)) //<Andrew Clark>// - **[f85f429d5](facebook/react@f85f429d5 )**: Use `act()` in ReactFabric tests ([facebook#21839](facebook/react#21839)) ([facebook#21841](facebook/react#21841)) //<Andrew Clark>// - **[84639ab53](facebook/react@84639ab53 )**: Guard against reused fibers in React Native commands ([facebook#21837](facebook/react#21837)) //<Timothy Yung>// - **[c549bc491](facebook/react@c549bc491 )**: Revert "Use `act()` in ReactFabric tests ([facebook#21839](facebook/react#21839))" ([facebook#21840](facebook/react#21840)) //<Timothy Yung>// - **[59d3aca68](facebook/react@59d3aca68 )**: Use `act()` in ReactFabric tests ([facebook#21839](facebook/react#21839)) //<Timothy Yung>// - **[9ccc25a0e](facebook/react@9ccc25a0e )**: Reverting recent flushSync changes ([facebook#21816](facebook/react#21816)) //<Brian Vaughn>// - **[ed6c091fe](facebook/react@ed6c091fe )**: Replace unbatchedUpdates with flushSync ([facebook#21776](facebook/react#21776)) //<Andrew Clark>// - **[32eefcb3c](facebook/react@32eefcb3c )**: Replace flushDiscreteUpdates with flushSync ([facebook#21775](facebook/react#21775)) //<Andrew Clark>// - **[ab390c65e](facebook/react@ab390c65e )**: ReactDebugHooks optionally includes fileName, and line/column numbers ([facebook#21781](facebook/react#21781)) //<Brian Vaughn>// - **[c96761c7b](facebook/react@c96761c7b )**: Delete batchedEventUpdates ([facebook#21774](facebook/react#21774)) //<Andrew Clark>// - **[3e8c86c1c](facebook/react@3e8c86c1c )**: fix: maxYieldInterval should not compare with currentTime directly in Scheduler-shouldYieldToHost //<郭帅彬>// - **[d483463bc](facebook/react@d483463bc )**: Updated scripts and config to replace "master" with "main" branch ([facebook#21768](facebook/react#21768)) //<Brian Vaughn>// Changelog: [General][Changed] - React Native sync for revisions cae6350...419cc9c jest_e2e[run_all_tests] Reviewed By: JoshuaGross Differential Revision: D29913856 fbshipit-source-id: 58e4903766a312a64a17cfba0b0f684cf4bcacb0
Summary: Changelog: [internal] Making measure calls asynchronous in Fabric regresses core metrics, let's remove the option. Reviewed By: JoshuaGross Differential Revision: D29909385 fbshipit-source-id: eea3fefc8da757c8db82cb0af340650e2ce6a947
Summary: This diff fixes the Android View dimensions in VR PixelUtil.toSPFromPixel and PixelUtil.getDisplayMetricDensity() are both using getScreenDisplayMetrics() to perform conversion of dimensions. This is not correct because we should take into consideration the density of the Context / Activity instead of the Screen. This problem didn't raise before in Fabric Android because it seems that android OS on phones usually share the scale between the screen and the Activity? These two methods are only used in Fabric and they were introduced by D9583972 (facebook@5c0da01) and D9173758 (facebook@8b5e3fc) As part of this diff I'm also deleting the method toSPFromPixel in favor of toDIPFromPixel because I noticed the usages of these methods are meant to use toDIPFromPixel() changelog: [Internal] internal Reviewed By: JoshuaGross Differential Revision: D29864944 fbshipit-source-id: a0a093c120bde21a6cf9e1043a83c31e870d4368
Summary: Changelog: [Internal] Separate the functionality of the isPackagerRunning() function into a new class PackagerStatusCheck with the intention of being able to use this without needing a DevServerHelper Reviewed By: makovkastar, ShikaSD Differential Revision: D29933318 fbshipit-source-id: d708bb987b08634015d6ee6b6c8989faba416c5a
Summary: Changelog: [General][Added] - Add global.queueMicrotask `queueMicrotask` is a relatively recent API defined in the WHATWG HTML spec and it's been widely adopted by all web browsers and Node.js. This diff introduced it to React Native by polyfilling it via a lazily-allocated resolved Promise, or calling directly into a fast path provided by Hermes. Reviewed By: RSNara Differential Revision: D29838852 fbshipit-source-id: 8c4378b1b713fb8b0da5e67f92ba2ea9838766f7
Summary: Changelog: [Internal] Historically, Immediate API is implemented upon the React Native's internal microtask-y queue (known as "immediate queue"), which is the same queue Promise polyfill is operating on. To make React Native suitable of using the built-in Promises from JSVMs, which usually enqueues to the JSVM internal microtask queue and has no access to React Native microtask-y queue, we need to migrate the Immediate API to use the JSVM microtask queue as well to preserve the semantics of code relies on the interleaving of promises and immediates. To do that, this diff implement a shim layer for immediate APIs via the new `global.queueMicrotask` API (which enqueues to JSVM) in JS, by wrapping the immediate callback into a "microtask callback", which validate the `immediate ID` against `clearedImmediate` Set before invoking it. Reviewed By: RSNara Differential Revision: D29845305 fbshipit-source-id: c2ed3fed426a5316b1e0dfbfaad51706d1765d4d
Summary: changelog: [internal] Completion block can retain `_eventEmitter` beyond existence of the component. To fix this, do not retain `_eventEmitter` by block but try to acquire it inside it. Reviewed By: JoshuaGross Differential Revision: D29969189 fbshipit-source-id: 456c42f816acc160f9d6bbd3f9c8c55d611940b2
…ook#31780) Summary: Fixes facebook#31779 For more detailed explanation, see issue facebook#31779 React Native touch handler events (onTouchStart, onTouchMoved, etc..) are intended to have "force" properties when used on devices which support pressure input (3D Touch & Apple Pencil events). However, due to a check in RCTForceTouchAvailable() function which checks for UITraitCollection's "forceTouchCapability" to be equal to UIForceTouchCapabilityAvailable, the check returns NO on iPad-based devices, due to iPad devices returning UIForceTouchCapabilityUnavailable at all times. This causes "force" values of Apple Pencils to never be passed on to React Native. Since simply passing 0 as a value for force across the RN bridge for every touch event seemed like a change that might seem jarring to some, I decided that a simple additional boolean check if the touch event's type is UITouchTypePencil (this is the same as UITouchTypeStylus) should also suffice. ## Changelog <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see: https://github.com/facebook/react-native/wiki/Changelog --> [iOS] [Fixed] - Fixed "force" property of touch events for Apple Pencil/Stylus devices. [iOS] [Feature] - Added "altitudeAngle" property to touch events from Apple Pencil/Stylus devices. Pull Request resolved: facebook#31780 Test Plan: The code compiles and runs, and trying a simple handler for a View like ```` touchMove = (e: GestureResponderEvent) => { console.log(`pressure, altitude (${e.nativeEvent.force}, ${e.nativeEvent.altitudeAngle})`); ```` results in <img width="424" alt="Screen Shot 2564-06-28 at 17 13 22" src="https://user-images.githubusercontent.com/5000572/123621055-0b563f00-d835-11eb-9eff-526ba27fdf7b.png"> and when pencil is oriented perpendicular to the screen and pressed with full force shows <img width="412" alt="Screen Shot 2564-06-28 at 17 13 58" src="https://user-images.githubusercontent.com/5000572/123621139-1c06b500-d835-11eb-8207-68a49720d708.png"> Reviewed By: sammy-SC Differential Revision: D29964102 Pulled By: sota000 fbshipit-source-id: 5a1f41d64c6fe325afbd2b9579eaf20a522e92dc
Summary: occured -> occurred ## Changelog <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see: https://github.com/facebook/react-native/wiki/Changelog --> [Internal] [Fixed] - Fixed typo in VirtualizedList-test.js Pull Request resolved: facebook#31756 Test Plan: NONE Reviewed By: lunaleaps Differential Revision: D29975153 Pulled By: charlesbdudley fbshipit-source-id: 966d90df0bf015b4a6a2e3b1bf88c66b61161a7a
Summary: Unfortunately, parsing some props requires stateful context - namely, PlatformColor on Android. We explored several different options but they all seemed inferior to the approach of using ContextContainer, and most would require using global state. By introducing this change everywhere as early as possible, we can avoid later pain. It is likely that some prop, on some platform, will require this mechanism. We'll be ready for it! Because we can pass a constref of the ContextContainer through to all props and because the context and context data is never retained by prop parsers, perf and memory hit should be ~0. This diff contains core changes only. Leaf changes to all props structs and conversions files will be in next diff(s). Changelog: [Internal] Reviewed By: mdvacca Differential Revision: D29838789 fbshipit-source-id: f5090e7f02eb6e8fbe0ef4dd201e7d12104a3e3c
Summary: See previous diffs for context. This updates all of the relevant props structs. Changelog: [Internal] Reviewed By: mdvacca Differential Revision: D29855426 fbshipit-source-id: 30177c3380ef82ecf8f2a4321f128cfbe8a576e0
Summary: See previous diffs for context. This updates all conversions.h files. Changelog: [Internal] Reviewed By: mdvacca Differential Revision: D29855425 fbshipit-source-id: d5751ddfc2724392e3a35f5e22bb68574e95e737
Summary: Changelog: [internal] Reviewed By: mdvacca Differential Revision: D29921232 fbshipit-source-id: ba045f545b564aedf1b287045a0e75428de30a0f
Summary: controling -> controlling ## Changelog [Internal] [Fixed] - Fixed typo in comment Pull Request resolved: facebook#31049 Test Plan: NONE Reviewed By: lunaleaps Differential Revision: D29980007 Pulled By: charlesbdudley fbshipit-source-id: 419f28f08d74faa07db18a07ab41b62c41776344
Reviewed By: zertosh Differential Revision: D29983521 fbshipit-source-id: bebd38e79180c544c8c1986605cc1af4b1f4df98
Summary: preferred instead of preffered ## Changelog <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see: https://github.com/facebook/react-native/wiki/Changelog --> [CATEGORY] [TYPE] - Message Pull Request resolved: facebook#29858 Reviewed By: charlesbdudley Differential Revision: D29998754 Pulled By: sota000 fbshipit-source-id: f13fef58e9154ddf8087944d53e022fb9afa6b1b
Summary: This diff updates the xplat flowconfigs to make existential types an error. Changelog: [Internal] Reviewed By: pieterv Differential Revision: D29967838 fbshipit-source-id: f08bbafe2a0269adb2c9afa4572b7a34fd254a4d
Summary: Remove unused import ## Changelog <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see: https://github.com/facebook/react-native/wiki/Changelog --> [iOS] [performance] - Remove unused import Pull Request resolved: facebook#30544 Test Plan: Should build on CI Reviewed By: lunaleaps Differential Revision: D30000901 Pulled By: charlesbdudley fbshipit-source-id: 3d3310917823b7af57564ca1ea397cd32cd0c4d5
…#26010) Summary: Fix for bug facebook#26003 Rename TextInput prop "autoCompleteType" to "autoComplete". ## Changelog [Android] [Changed] - Updated `autoCompleteType` prop of `TextInput` to `autoComplete` Pull Request resolved: facebook#26010 Test Plan: Test Pass PR for [Doc Update](facebook/react-native-website#1184) Reviewed By: mdvacca Differential Revision: D29980220 Pulled By: lunaleaps fbshipit-source-id: 3c9e7d3250b5f95b0dbd523fdb0d917a039cd6a9
Summary: This diff implements PlatformColor in Fabric Android changelog: [internal] internal Reviewed By: JoshuaGross Differential Revision: D29841461 fbshipit-source-id: 63a523626b021c634bc399e749b639b55730391a
facebook#29099) Summary: This issue: fixes facebook#24224 fixes facebook#28695 fixes facebook#23651 fixes facebook#23475 fixes facebook#22256 fixes facebook#22226 fixes facebook#19234 fixes facebook#18285 fixes facebook#17344 fixes facebook#17343 fixes facebook#17251 fixes facebook#12817 fixes facebook#12403 fixes facebook#11042 fixes facebook#9343 fixes facebook#8236 fixes facebook#8105 fixes facebook#7838 fixes facebook#6721 fixes facebook#5411 fixes facebook#3159 fixes facebook#2335 fixes facebook#840 fixes facebook#27133 fixes facebook#28695 Allows to set individual (left,top,right,bottom) dotted/dashed borders. If a single border is specified and the borderStyle is dotted or dashed, each border will be drawn with moveTo and lineTo taking in consideration of the border style and thickness. ## Changelog <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see: https://github.com/facebook/react-native/wiki/Changelog --> [Android] [Fixed] - Quickfix individual border style dotted or dashed rendering as solid Pull Request resolved: facebook#29099 Test Plan: **<details><summary>CLICK TO OPEN TESTS RESULTS</summary>** <p> | **AFTER** | **AFTER** | |:-------------------------:|:-------------------------:| | <img src="https://user-images.githubusercontent.com/24992535/84158300-05e05800-aa6c-11ea-96a3-40007b2ca611.png" width="300" height="" /> | <img src="https://user-images.githubusercontent.com/24992535/84158309-07aa1b80-aa6c-11ea-973b-51e8e68b5808.png" width="300" height="" /> | | **AFTER** | **AFTER** | |:-------------------------:|:-------------------------:| | <img src="https://user-images.githubusercontent.com/24992535/84158320-0d9ffc80-aa6c-11ea-9d7f-dfba49fbfe41.png" width="300" height="" /> | <img src="https://user-images.githubusercontent.com/24992535/84158334-11cc1a00-aa6c-11ea-8422-cd5b9384f391.png" width="300" height="" /> | | **AFTER** | **AFTER** | |:-------------------------:|:-------------------------:| | <img src="https://user-images.githubusercontent.com/24992535/84158556-4c35b700-aa6c-11ea-9a4d-eea791b3813a.png" width="300" height="" /> | <img src="https://user-images.githubusercontent.com/24992535/84158574-51930180-aa6c-11ea-8e84-526cfb168f49.png" width="300" height="" /> | | **AFTER** | **AFTER** | |:-------------------------:|:-------------------------:| | <img src="https://user-images.githubusercontent.com/24992535/84158586-55268880-aa6c-11ea-9540-51d79a8e4cb0.png" width="300" height="" /> | <img src="https://user-images.githubusercontent.com/24992535/84158601-5952a600-aa6c-11ea-82e7-85d54b858f1a.png" width="300" height="" /> | | **AFTER** | **AFTER** | |:-------------------------:|:-------------------------:| | <img src="https://user-images.githubusercontent.com/24992535/84158638-62dc0e00-aa6c-11ea-8765-ecba0d9d126f.png" width="300" height="" /> | <img src="https://user-images.githubusercontent.com/24992535/84158652-67a0c200-aa6c-11ea-8336-e6eb8aa52e96.png" width="300" height="" /> | | **AFTER** | **AFTER** | |:-------------------------:|:-------------------------:| | <img src="https://user-images.githubusercontent.com/24992535/84158690-738c8400-aa6c-11ea-9cf1-edec72d27cb7.png" width="300" height="" /> | <img src="https://user-images.githubusercontent.com/24992535/84158912-b6e6f280-aa6c-11ea-94a7-0ee0db685f38.png" width="300" height="" /> | </p> </details> Reviewed By: mdvacca Differential Revision: D28688914 Pulled By: RSNara fbshipit-source-id: 34781d63265dcf55e30f11c014e6b4a35d67dcbd
Summary: Changelog: [internal] Here, getting `viewState` has failed, not its view property. Reviewed By: mdvacca Differential Revision: D30042652 fbshipit-source-id: 42831b577f17db1f64860e68be33870f5be27207
Summary: This experiment was shipped in D27436402 (facebook@3d1afbb). Changelog: [Internal] Reviewed By: JoshuaGross Differential Revision: D30023039 fbshipit-source-id: 5f7335f2ddaf6f4e2d876a917aaff2cf3d906b5c
A few more fixes to RNTester
|
…id-patches Fix Android patches in fb66merge
This reverts commit c09b6c5.
It looks like this PR didn't pick up #945 . Could we do a merge of main so that CI stays green after it is merged? |
Just saying thanks for this! I maintain a couple libraries that have macos ports, and being stuck on react-native 0.64 was not a pain until all the sudden jcenter became really flaky making android builds fail if react-native < 0.65. This is a huge help, thanks! |
Please select one of the following
Summary
This change brings in the latest 0.66 changes into our fork of react-native. Once this change is in and we've verified stability, we'll create a 0.66-stable branch and continue stable development on the 0.66 branch while new changes can continue going in to main.
Test Plan
RN-macOS_66.mov
Each test page was opened and verified the contents are interactable on iOS and macOS.