-
Notifications
You must be signed in to change notification settings - Fork 30
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
chore: sync with upstream 'main' #162
chore: sync with upstream 'main' #162
Conversation
Summary: Pull Request resolved: facebook#46664 # Changelog: [Internal] Please see facebook/react#31068. Synced changes for React Native - D63453667. Reviewed By: huntie Differential Revision: D63421463 fbshipit-source-id: e455711206598a06f7cdce4150e79c3548843b99
Summary: Pull Request resolved: facebook#46663 # Changelog: [Internal] Now we can use the native module for persisting settings in React DevTools. Basically, this diff adds read / write implementations. Reviewed By: huntie Differential Revision: D62967060 fbshipit-source-id: c14ef056c8d7e30a23d2b84d1ad4fc0ad8eaaf34
…ding (facebook#46691) Summary: Pull Request resolved: facebook#46691 In Bridgeless, ReactSurface would only call `registerSurface` when it started, which did not match the behaviour seen in startSurface(WithConstraints). Instead, make all calls to start the surface go through the FabricUIManager Binding so we can correctly configure `setMountingOverrideDelegate` which is required for layout animations. Changelog: [Android][FIxed] LayoutAnimations work on full new architecture Reviewed By: cortinico Differential Revision: D63533635 fbshipit-source-id: f6d3db020bb2d7245f7b14f2407271d76837d40c
Summary: I've noticed that some users are reporting build failures due to warnings inside RNGP. We do have `allWarningsAsErrors` set to true for everyone (also for users). That's too aggressive, and can cause build failures which are not necessary. Let's keep it enabled only on our CI (when the `enableWarningsAsErrors` property is set). ## Changelog: [INTERNAL] - RNGP: Read `enableWarningsAsErrors` property correctly Pull Request resolved: facebook#46657 Test Plan: CI Reviewed By: NickGerleman Differential Revision: D63459601 Pulled By: cortinico fbshipit-source-id: 0307e8d6771518038a5abe27ca5a993cb0a9f8c0
Summary: Pull Request resolved: facebook#46699 Switch from legacy Babel Flow parser integrations to the Meta-maintained `hermes-eslint` and `babel-plugin-syntax-hermes-parser` packages (both part of the `hermes-parser` codebase). Required to unblock D63535216. Changelog: [Internal] Reviewed By: hoxyq Differential Revision: D63541483 fbshipit-source-id: 04ccfa04c9a2b8c0a87ef1a5c38e952971838b77
…ok#46696) Summary: Pull Request resolved: facebook#46696 Following D62161923, we began to lose sync with modern Flow syntax when Metro's `transformer.hermesParser` option is disabled. This config option loads Babel for transformation (instead of `hermes-parser`), which requires a Babel plugin to parse (not strip) Flow syntax. This diff migrates us away from `babel/plugin-syntax-flow` (see also babel/babel#16264) and uses the modern [`babel-plugin-syntax-hermes-parser`](https://www.npmjs.com/package/babel-plugin-syntax-hermes-parser) instead (a component of the modern Hermes Parser stack). Following this change, new projects that unset `transformer.hermesParser` will compile. Resolves facebook#46601. Changelog: [General][Fixed] - Fix parsing of modern Flow syntax when `transformer.hermesParser = false` is configured in Metro config Reviewed By: cipolleschi Differential Revision: D63535216 fbshipit-source-id: d2c6ddec030d89e2698e03b76194cf3568d04e6b
Summary: Similar to D63541483, modernises our Flow syntax support for our published ESLint config to use `hermes-eslint` (`hermes-parser`). Changelog: [Internal] Reviewed By: hoxyq Differential Revision: D63541856 fbshipit-source-id: 06cc5725faf5934fda07713ec1dac54ff9c32ddf
) Summary: Pull Request resolved: facebook#46689 Resubmission of D61014834 / facebook#45959 (previously reverted). > Addresses TODO comment. I noticed this lone reference to babel-preset-fbjs (last published 3y ago) while attempting to upgrade our Babel Flow syntax plugin. Changelog: [Internal] Reviewed By: hoxyq Differential Revision: D63532211 fbshipit-source-id: e94b55b7b61194b50131b36a2fe817e149152953
…45785) Summary: Pull Request resolved: facebook#45785 Adds `flow` annotation, and/or adds minimal Flow types to remaining files under `packages/react-native/Libraries/`. As of this diff, 100% of this directory is now parsable by `flow-api-translator` and covered by `public-api-test`. Changelog: [Internal] Reviewed By: cortinico Differential Revision: D60377082 fbshipit-source-id: 67e8acafc3fdd8f107f1d8d53c69ee6c27d3ed0a
Summary: Pull Request resolved: facebook#45786 Following D60377082, `packages/react-native/Libraries/` is now 100% parsable by `flow-api-translator` and covered by `flow-api-test`. This diff increases test strictness to preserve this state going forward. Changelog: [Internal] Reviewed By: cortinico Differential Revision: D60377123 fbshipit-source-id: 8c48bdd73d9d0d97a114d553eb70cc01faf18e89
…cebook#46582) Summary: Fixes facebook#46568 . cc cipolleschi ## Changelog: [IOS] [FIXED] - Fabric: Fixes animations strict weak ordering sorted check failed Pull Request resolved: facebook#46582 Test Plan: See issue in facebook#46568 ## Repro steps - Install Xcode 16.0 - navigate to react-native-github - yarn install - cd packages/rn-tester - bundle install - RCT_NEW_ARCH_ENABLED=1 bundle exec pod install open RNTesterPods.xcworkspace to open Xcode {F1885373361} Testing with Reproducer from OSS | Paper | Fabric (With Fix) | |--------|-----------------| | {F1885395747} | {F1885395870} | Android - LayoutAnimation (Looks like it has been broken and not working way before this changes.) https://pxl.cl/5DGVv Reviewed By: cipolleschi Differential Revision: D63399017 Pulled By: realsoelynn fbshipit-source-id: aaf4ac2884ccca2da7e90a52a8ef10df6ae4fc8a
Summary: Pull Request resolved: facebook#46710 Changelog: [Internal] Reviewed By: SamChou19815 Differential Revision: D63560047 fbshipit-source-id: a43ac647fee12115c794aa8002bd340a4c4bcf16
…Executor" Summary: A crash we are getting in the wild suggests that destruction on weak ref count going away may be delaying RuntimeExecutor task destruction to a point where jsi::Function is invalid. Let's try backing D62748768 out and seeing if the crash goes away. Changelog: [General][Fixed] - Attempt to fix crash from delayed RuntimeExecutor task destruction #bypass-github-export-checks Reviewed By: mdvacca Differential Revision: D63568504 fbshipit-source-id: 6152e7293902d0eb67a14c5840bea56561c35b08
…rizontalScrollContentView translation during layout metric assignment (facebook#46685) Summary: Pull Request resolved: facebook#46685 This attempts a similar fix to D59566611, but keeps the removedClippedSubviews logic as is, instead moving the current translation done in ReactHorizontalScrollContainerView onLayout to ShadowNode layout metric assignment (so the world is consistent from very early on, and `removeClippedSubviews` never sees coordinates before translation), I suspect doing this at the ShadowNode layer might also result in some fixes to DevTools in RTL. This should let us roll out setAndroidLayoutDirection again. Changelog: [Android][Fixed] - Fix interactions between removeClippedSubviews and RTL Reviewed By: mdvacca Differential Revision: D63318754 fbshipit-source-id: 828e103e2ad21c7e886e39c163474b10ebd5099e
…46650) Summary: Pull Request resolved: facebook#46650 tsia Changelog: [General] [Added] - Removed `experimental` prefix and fully released `mixBlendMode` prop Reviewed By: joevilches Differential Revision: D63407473 fbshipit-source-id: 892ababcfe19b82d3f4c73d3cbc13fb46b7425b6
Summary: Pull Request resolved: facebook#46680 Since the parent of a view with mixBlendMode prop set is the one responsible for setting the compositing of the child, when updating mixBlendMode on a child we need to also invalidate the parent. Changelog: [Android] [Fixed] - mixBlendMode now properly does state updates Reviewed By: joevilches Differential Revision: D63424394 fbshipit-source-id: 0eb15520f1087e25683853632943e64a66344481
Summary: Pull Request resolved: facebook#46704 Our build log for Gradle is extremely noisy due to Hermes. Here I'm suppressing all the build output from Hermes as we can't really do much from that side of the build. This should make it easier for folks on GitHub Actions to immediately spot where are failures. Changelog: [Internal] [Changed] - Silence unnecessary Gradle outputs Reviewed By: GijsWeterings Differential Revision: D63541175 fbshipit-source-id: d1a60098c317ff9e8c9575b5b8b2aab639f28f2f
Summary: Pull Request resolved: facebook#46658 changelog: [internal] We are shipping a better solution: Runtime Shadow Node Reference Syncing which is being rolled out. Reviewed By: lenaic, rubennorte Differential Revision: D63456344 fbshipit-source-id: e70b7dd4be7bf0670366e5200a910195b929a14d
Summary: Pull Request resolved: facebook#46661 The previous approach was brittle and it was not working in all the scenarios. This is the same approach used [by Expo](https://github.com/expo/expo/blob/12f24ea7fdbc8bab864d7852ae8e7275e44db4df/packages/expo-modules-autolinking/scripts/ios/xcode_env_generator.rb#L37C44-L37C75) (thanks guys! :D) and it looks like it is more stable. This should definitely fix [facebook#43285](facebook#43285). ## Changelog [Internal] - Fix the generation of .xcode.env.local Reviewed By: cortinico Differential Revision: D63460707 fbshipit-source-id: c6732adce3df5f8365b17ed9c500c38f773ecee5
…acebook#46701) Summary: Pull Request resolved: facebook#46701 Reduce the interface we expose in SurfaceHandler(Binding), and concentrate the logic in the FabricUIManager Binding. Changelog: [Internal] Reviewed By: rshest Differential Revision: D63536328 fbshipit-source-id: 5882bdd24fd3ca8f3d36210dca80587fee091dcf
Summary: Pull Request resolved: facebook#46705 We have multiple classes in React Native Android acting as a binding layer (between C++ and Java, between C++ and JS). Make it more obvious this Binding is for (Android) FabricUIManager and flatten the (now) unused Binding interface. Changelog: [Android][Removed] BindingImpl is no longer part of the public interface Reviewed By: cortinico Differential Revision: D63536329 fbshipit-source-id: 329d184c1889fbe804995211cdd339b50a7c9234
…acebook#46655) Summary: Solve a part of this issue: facebook#46631 ## Changelog: <!-- Help reviewers and the release process by writing your own changelog entry. Pick one each for the category and type tags: For more details, see: https://reactnative.dev/contributing/changelogs-in-pull-requests --> [IOS] [CHANGED] - Passed correct title and titleColor prop to updateTitle function **What's the Issue:** When updating the PullToRefreshViewProps in a React Native iOS app, changes to the title and titleColor were not being reflected properly in the RefreshControl. This happened because the function responsible for updating the title (_updateTitle) was not always receiving the correct or updated values for title and titleColor. **Updated `_updateTitle` function:** The _updateTitle method was modified to accept both title and titleColor as parameters. This ensures that the latest values are always used when updating the refresh control's attributedTitle. If the title is empty, the attributedTitle is cleared by setting it to nil. Otherwise, both the title and titleColor (if present) are applied correctly. Pull Request resolved: facebook#46655 Test Plan: **Without fix:** https://github.com/user-attachments/assets/8a83c247-bf78-4080-bdc1-ac5a852481e8 **With Fix:** https://github.com/user-attachments/assets/52e2495a-4419-41d1-b308-acb64600f9f7 Reviewed By: javache Differential Revision: D63466516 Pulled By: cipolleschi fbshipit-source-id: fef61a003b658b20a25b61b6d07ee9fe0750dae7
Summary: - add missing platform colors on iOS https://developer.apple.com/documentation/uikit/uicolor/standard_colors ## Changelog: [IOS] [ADDED] - Add `systemCyan` and `systemMint` colors on iOS <!-- 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#46730 Test Plan: - Ran it in an iOS app (text is no longer black) ![Simulator Screenshot - iPhone 15 Pro - 2024-09-30 at 15 31 30](https://github.com/user-attachments/assets/2f1d337c-d5f3-40d6-8e58-fdccb94603fd) Reviewed By: cortinico Differential Revision: D63635182 Pulled By: cipolleschi fbshipit-source-id: b6fa3ff0e38630d820aacedbf88dfe9bd13c0644
) Summary: This PR refactors the RCTDevLoadingView to use constraints instead of explicitly defining frames. Now the code looks like this: ``` #if TARGET_OS_MACCATALYST self->_window.frame = CGRectMake(0, window.safeAreaInsets.top, windowWidth, 20); self->_label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, windowWidth, 20)]; #else self->_window.frame = CGRectMake(0, 0, windowWidth, window.safeAreaInsets.top + 10); self->_label = [[UILabel alloc] initWithFrame:CGRectMake(0, window.safeAreaInsets.top - 10, windowWidth, 20)]; #endif ``` When working with visionOS I quickly found my self in the need of adding additional else there... This PR uses constraints to layout the views correctly for every device. | Device | Screenshot | | -------------- | ---------- | | iOS | <img src="https://github.com/user-attachments/assets/decc146e-41a2-4ce8-bafd-77c77a39398b" width="200"/> | | macOS Catalyst | <img src="https://github.com/user-attachments/assets/78ef4946-a6dc-49a2-864e-a483577798f1" width="200"/> | | iPadOS | <img src="https://github.com/user-attachments/assets/a15bd1a8-84ae-47d0-becb-e14c3a9352d4" width="200"/> | | visionOS | <img src="https://github.com/user-attachments/assets/d74f0607-837e-4f7b-b924-fc6fce80d763" width="200"/> | ## Changelog: [IOS] [CHANGED] - refactor RCTDevLoadingView to use constraints Pull Request resolved: facebook#46621 Test Plan: Test if DevLoading view is properly showing up Reviewed By: blakef Differential Revision: D63383002 Pulled By: cipolleschi fbshipit-source-id: b17499e12d4a882facce4c45b1cc22eb43ea3bb1
Summary: Ok so this is a doozy. ## Overview There was a report that some console.error calls were being shown as warnings in LogBox but as console.error in the console. The only time we should downlevel an error to a warning is if the custom warning filter says so (which is used for some noisy legacy warning filter warnings internally). However, in when I switched from using the `Warning: ` prefix, to using the presence of component stacks, I subtly missed the default warning filter case. In the internal warning filter, the `monitorEvent` is always set to something other than `unknown` and if it's set to `warning_unhandled` then `suppressDialog_LEGACY` is always false. However, the default values for the warning filter are that `monitorEvent = 'unknown'` and `suppressDialog_LEGACY = true`. In this case, we would downlevel the error to a warning. ## What's the fix? Change the default settings for the warning filter. ## What's the root cause? Bad configuration combinations in a fragile system that needs cleaned up, and really really bad testing practices with excessive mocking and snapshot testing (I can say that, I wrote the tests) ## How could it have been caught? It was, but I turned off the integration tests while landing the component stack changes because of mismatches between flags internally and in OSS, and never turned them back on. Changelog: [General] [Fixed] - Fix logbox reporting React errors as Warnings Pull Request resolved: facebook#46637 Reviewed By: huntie Differential Revision: D63349613 Pulled By: rickhanlonii fbshipit-source-id: 32e3fa4e2f2077114a6e9f4feac73673973ab50c
Summary: In an effort to achieve a similar API in the new architecture, I was trying to replace the following code from the old architecture: ``` import { NativeModules } from 'react-native' // ... NaiveModules.DevMenu.show() ``` After facebook#46694 landed, you can achieve this with the following import in the new architecture: ``` // ts-ignore import DevMenu from "react-native/Libraries/NativeModules/specs/NativeDevMenu" // and then use it DevMenu.show() ``` However, this change provides the interface for `DevMenu` from the `react-native` package, similar to the API for `DevSettings`, making it easier to use via the public API and better type support. ``` import { DevMenu } from 'react-native' DevMenu.show() ``` ## Changelog: <!-- Help reviewers and the release process by writing your own changelog entry. Pick one each for the category and type tags: [GENERAL] [ADDED] - Export `DevMenu` from `react-native` For more details, see: https://reactnative.dev/contributing/changelogs-in-pull-requests Pull Request resolved: facebook#46723 Test Plan: <img width="750" alt="image" src="https://github.com/user-attachments/assets/dc5a9876-4364-473e-9fd8-c49484d6de01"> ### Before `any` type on `show` from the private import <img width="226" alt="image" src="https://github.com/user-attachments/assets/45a085d2-9794-482d-b5ec-3b882aadb56b"> ### After typed show method from the new import <img width="399" alt="image" src="https://github.com/user-attachments/assets/7c7587b3-499b-40f0-8262-126e4ec17dc6"> Reviewed By: cortinico Differential Revision: D63631196 Pulled By: huntie fbshipit-source-id: a00efa85c8ca1aa127c9ae0a059978ba5eadb376
Summary: Pull Request resolved: facebook#46706 Simplifies object construction and collection, and avoids additional JNI roundtrips to set HybridData. Changelog: [Internal] Reviewed By: rshest Differential Revision: D63537781 fbshipit-source-id: 55df2785840ec8fcd5a7a08d2c7dd73c5b5fca82
Summary: Pull Request resolved: facebook#46725 This covers types that deeply alias. Changelog: [Internal] Reviewed By: GijsWeterings Differential Revision: D62926913 fbshipit-source-id: 2fea1900f1be2893230a949db6778c76afae0423
Summary: Pull Request resolved: facebook#46726 An object isn't allowed to have both an indexer and regular properties. Previously, the schema just wouldn't include the properties and would only include the indexer. Instead of failing silently and not generating the expected code, let's explicitly error out. Changelog: [Internal] Reviewed By: GijsWeterings Differential Revision: D63615090 fbshipit-source-id: a4c881b7a809f0b467509f7f7e2131be59ee274e
Summary: Pull Request resolved: facebook#46727 It makes scripts operating on the schema complicated when the elementType might be there or might not. Let's make it required, but VoidTypeAnnotation if it's unknown. Arguably we shouldn't allow it to be unknown at all, but that's out of scope here. Changelog: [Internal] Reviewed By: GijsWeterings Differential Revision: D63616703 fbshipit-source-id: 290586384b911928e55344aa522bd296f23a074c
) Summary: Pull Request resolved: facebook#46963 Changelog: [internal] This introduces a new method in `ReactNativeFeatureFlags` to force setting overrides without triggering any errors (they're returned a string instead to be handled in userland). This is partially equivalent to calling `dangerouslyReset` and `override` but completely avoids the hard crashes that could be caused by race conditions. Reviewed By: javache, rshest Differential Revision: D64186262 fbshipit-source-id: 854caa03810ec78217999292a4335dad373b7fcb
Summary: Pull Request resolved: facebook#46983 X-link: facebook/metro#1370 Add support for `.usage` overload: https://github.com/yargs/yargs/blob/main/docs/api.md#usagemessagecommand-desc-builder-handler Changelog: [Internal] Reviewed By: robhogan Differential Revision: D64241927 fbshipit-source-id: 9928f08bad16a5e1a6bcfa7c2cf2bfa73668ff57
Summary: Changelog: [Internal] - add changelog Pull Request resolved: facebook#46907 Reviewed By: rshest Differential Revision: D64081074 Pulled By: blakef fbshipit-source-id: 8da22806036632cd266dcc83d023235231cce20b
Summary: Using a new JVM profiler (D64128815) to find blind spot in the early startup init markers and adding them. Changelog: [Internal] Reviewed By: rubennorte Differential Revision: D64141515 fbshipit-source-id: d2968ed5dafdd891b8cc5a6115479c0678bfdc80
Summary: Pull Request resolved: facebook#46994 This diff makes a small refactor on Systrace.traceSection() to unblock CI, which was broken by D64141515 changelog: [internal] internal Reviewed By: Abbondanzo Differential Revision: D64276651 fbshipit-source-id: e35950f88cde3d547992bb700208a4d4d309710f
…iews() out of destructor (facebook#46993) Summary: Pull Request resolved: facebook#46993 Calling ReactNativeFeatureFlags::enableDeletionOfUnmountedViews() from the destructor increases the chance of accessing ReactNativeFeatureFlags during the tear down of React Native. We are moving this call into the contructor of the object which always happen on the js thread changelog: [internal] internal Reviewed By: rubennorte Differential Revision: D64190029 fbshipit-source-id: 377b85e8ff0704db0f6603662f595b75a6705693
Summary: Pull Request resolved: facebook#46977 changelog: [internal] Add timestamp to onScroll event on Android. Reviewed By: fabriziocucci Differential Revision: D64235402 fbshipit-source-id: 606446f2a711dcb4edd94a2a54ec50c54f622904
Summary: Pull Request resolved: facebook#46978 changelog: [internal] Add timestamp to onScroll event on Android. Reviewed By: fabriziocucci Differential Revision: D64068207 fbshipit-source-id: 3d4c31bbf43ef5f06af4933867380d3ef297b550
Summary: Pull Request resolved: facebook#46860 Pulling library into our repository Result of: arc artificer download com.google.googlejavaformat:google-java-format:1.23.0 --interactive Deps ``` ➜ arc artificer rquery dependencies --cross-reference com.google.googlejavaformat:google-java-format:1.23.0 com.google.googlejavaformat:google-java-format:1.23.0 ✅ └╼ com.google.guava:guava:32.1.3-jre:compile ✅ ``` Formatted with ``` tools/arcanist/lint/codemods/googlejavaformat_fbsource ``` Reviewed By: hick209 Differential Revision: D60787993 fbshipit-source-id: dbadc5184c0a7cccd967173e21602657013ddac7
Summary: Pull Request resolved: facebook#47001 changelog: [internal] EventBeat::beat is only used on Windows, let's move it there. EventBeat::induce is only called by subclasses, doesn't need to be public. Reviewed By: christophpurrer Differential Revision: D64287646 fbshipit-source-id: 48edceddd273b45e8a4e63f4c1d5fda6c5adf425
Summary: Pull Request resolved: facebook#47004 Changelog: [Internal] Reviewed By: panagosg7 Differential Revision: D64280903 fbshipit-source-id: f3f7a7bfdab30574fa911ba940032255932cd508
…ed surfaces (facebook#47008) Summary: Pull Request resolved: facebook#47008 Changelog: [internal] This code is gated anyway so there's no harm in production. Reviewed By: javache Differential Revision: D64322331 fbshipit-source-id: 005eb385f7e5ccd3d33e2d8c28e45b84f1537d68
…tion in virtualized lists (facebook#46979) Summary: Pull Request resolved: facebook#46979 It seems that, when the items in a virtualized list don't have a fixed size (i.e. they dynamically scale with the size of the container), we need to also take into account their size when updating the scroll position as a consequense of setting `maintainVisibleContentPosition`. Changelog: [Android][Fixed] - Account for items dynamically scaling with the container when using `maintainVisibleContentPosition` in virtualized lists Reviewed By: javache, NickGerleman Differential Revision: D64238887 fbshipit-source-id: 9f05a461d178bc191137b1a350072337ba62e224
Summary: When migrating `PackagerConnectionSettings` from Java to Kotlin in facebook#45800 the new class ended up being declared as final, causing a breaking change in 0.76. We should add the `open` directive to `PackagerConnectionSettings.kt` to restore the old behavior. That would be crucial for the `expo-dev-client` package, given that Expo needs to be able to extend this class in order to overwrite the `debugServerHost` value. ## Changelog: [ANDROID] [FIXED] - Make PackagerConnectionSettings class open again Pull Request resolved: facebook#47005 Test Plan: Run RNTester on Android Reviewed By: huntie Differential Revision: D64323645 Pulled By: cortinico fbshipit-source-id: 6870a3dee929ba664e4c402f321f84af7704f892
Summary: Pull Request resolved: facebook#46987 X-link: facebook/metro#1371 Update `babel/register` to latest version, fixing the bug that were preventing us from updating it previously. Changelog: [Internal] Reviewed By: huntie Differential Revision: D64245277 fbshipit-source-id: f3d07b06a11fbe3a0ed28e22f5b687541782dda9
Summary: Pull Request resolved: facebook#46982 E2E test setup for each of the `resizeMethod` methods for Image on Android Changelog: [Internal] Reviewed By: NickGerleman Differential Revision: D64136839 fbshipit-source-id: 876939a50243836030401c6456410f119abe01b5
Summary: Pull Request resolved: facebook#47012 Update Metro from `0.81.0-alpha.2` to `0.81.0`. This is also intended to be the final, stable release for RN 0.76. Changelog: [General][Changed]: Update Metro to 0.81.0 Reviewed By: blakef Differential Revision: D64329574 fbshipit-source-id: e12bed356b46e4ed68c75b397b7f9e2228c377be
…e scroll past render window (facebook#46990) Summary: Pull Request resolved: facebook#46990 This is a reattempt land D63643856 to fix the scroll onendreached event not firing. Changelog: [General][Fixed] - Fix onEndReached not being called when getItemLayout is present and we scroll past render window Reviewed By: NickGerleman Differential Revision: D64222424 fbshipit-source-id: 7e22f377d2f754beb39fff2b5c097cea350daa7e
Summary: Pull Request resolved: facebook#47015 CMake is complaining that this variable is set outside the build but not used. I'm using it inside our top level .cmake file to silence this warning. We need this variable as user projects might use it. Changelog: [Internal] [Changed] - Silence CMake warning caused by `PROJECT_ROOT_DIR` Reviewed By: javache Differential Revision: D64334462 fbshipit-source-id: 558bfc9f647e62890e3cc25628b5544880c47e4b
Summary: Pull Request resolved: facebook#47024 This bumps Fresco from 3.3.0 to 3.4.0 Most notable change is NDK 27 support + 16K Page support. Changelog: [Android] [Changed] - Fresco to 3.4.0 Reviewed By: cipolleschi Differential Revision: D64391402 fbshipit-source-id: 4dc9b2a045d0901bd6ee41cdbd4f1db2e22eb576
Summary: Pull Request resolved: facebook#47022 That's just a patch bump for AGP from 8.7.0 to 8.7.1 Changelog: [Internal] [Changed] - AGP to 8.7.1 Reviewed By: cipolleschi Differential Revision: D64390797 fbshipit-source-id: b48218b5737b8e7379ab4f13dfa57a97c3e30cbd
Summary: Pull Request resolved: facebook#47029 Changelog: [Internal] - Update `react-native/debugger-frontend` from 87b2feb...6f29504 Resyncs `react-native/debugger-frontend` from GitHub - see `rn-chrome-devtools-frontend` [changelog](facebookexperimental/rn-chrome-devtools-frontend@87b2feb...6f29504). Reviewed By: vzaidman Differential Revision: D64393541 fbshipit-source-id: 4c87b37a192efa68a579b94bb4219099d4400714
…s unmounted (facebook#46952) Summary: In the new architecture, if you open the soft keyboard, unmount `KeyboardAvoidingView`, close the keyboard, and then remount `KeyboardAvoidingView`, it still assumes the keyboard is open and displays the keyboard avoiding area. We need to check if the keyboard is still open after remounting. Fixes facebook#46942 ## Changelog: [GENERAL] [FIXED] - Fix KeyboardAvoidingView not aware of the keyboard closing it is unmounted Pull Request resolved: facebook#46952 Test Plan: Code to reproduce in RNTester: ```JSX import type {RNTesterModuleExample} from '../../types/RNTesterTypes'; import {Button, KeyboardAvoidingView, Text, TextInput, View} from 'react-native'; import {Fragment, Suspense, useState} from "react"; const infiniteThenable = { then() {} }; function Suspender({ freeze, children }) { if (freeze) { throw infiniteThenable; } return <Fragment>{children}</Fragment>; } function Freeze({ freeze, children }) { return ( <Suspense> <Suspender freeze={freeze}>{children}</Suspender> </Suspense> ); } function Playground() { const [isFrozen, setIsFrozen] = useState(false); return ( <> <TextInput style={{ height: 100 }} /> <Button title="Freeze" onPress={() => setIsFrozen(true)} /> <Button title="Unfreeze" onPress={() => setIsFrozen(false)} /> <Freeze freeze={isFrozen}> <KeyboardAvoidingView behavior="padding" style={{ flex: 1 }}> <View style={{ backgroundColor: '#909090', flex: 1, alignItems: 'center', justifyContent: 'flex-end' }}> <Text>Test</Text> <Text></Text> </View> </KeyboardAvoidingView> </Freeze> </> ); } export default ({ title: 'Playground', name: 'playground', render: (): React.Node => <Playground />, }: RNTesterModuleExample); ``` ### Steps 1. Tap the text input to show the soft keyboard. 2. Tap Freeze. 3. Tap the Enter or Done button on the soft keyboard to hide it. 4. Tap Unfreeze. 5. Verify that there is no blank area at the bottom of the screen. ### Videos #### iOS Before | After -- | -- <video src="https://github.com/user-attachments/assets/0c8d840e-14a6-47ad-a163-d34ac9cfbf40" /> | <video src="https://github.com/user-attachments/assets/1d88a70c-e029-433d-920d-da7582edb3f2" /> #### Android Before | After -- | -- <video src="https://github.com/user-attachments/assets/f29f6526-c5a4-4b6a-b3aa-7c4c7ff3ed30" /> | <video src="https://github.com/user-attachments/assets/c4e92356-694b-4fca-8897-7dfca8495db0" /> Reviewed By: andrewdacenko Differential Revision: D64178982 Pulled By: cipolleschi fbshipit-source-id: 8d71654aac599cec4e1928b14d87cff34f28174a
…chore/sync-0.76.0.rc4
Thanks for the PR! It looks like the CI is failing. I think this might be related to: microsoft/react-native-test-app@d7a8c0f |
Just to be sure, you synced upstream main, right? Because your branch main is 0.76.0-rc4 and Im not sure now If yes I think we can merge it, sorry for the delay |
Yes, it’s synced with main, not 0.76.0-rc.4. Sorry for the confusion. I wanted to sync with the tag, but that created many merge conflicts. |
Summary:
Syncs changes with upstream React Native branch, resolving merge conflicts by uptaking incoming changes over the current changes. Used the merge strategy.
Resolved merge conflicts in: