-
Notifications
You must be signed in to change notification settings - Fork 24.3k
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.71 stable to 0.63-stable #36379
merge 0.71 stable to 0.63-stable #36379
Commits on Oct 31, 2022
-
chore: Unify codegen Flow and TS default case from translateTypeAnnot…
…ation (facebook#35086) Summary: This PR unifies the Flow and TS `default:` case from codegen `translateTypeAnnotation` function into a single function called `translateDefault` inside `parser-commons.js` as requested on facebook#34872. ## Changelog [Internal] [Changed] - Unify codegen Flow and TS default case from translateTypeAnnotation Pull Request resolved: facebook#35086 Test Plan: Run `yarn jest react-native-codegen` and ensure CI is green ![image](https://user-images.githubusercontent.com/11707729/197931439-a0f0f7cd-eee7-4908-a7f1-856b40954178.png) Reviewed By: cortinico Differential Revision: D40801612 Pulled By: cipolleschi fbshipit-source-id: 612768d6fabe091ac428e7d8416c6da059fe1332
Configuration menu - View commit details
-
Copy full SHA for ea55e3b - Browse repository at this point
Copy the full SHA ea55e3bView commit details -
Fix assertGenericTypeAnnotationHasExactlyOneTypeParameter throwing wr…
…ong error (facebook#35134) Summary: 1. I noticed there was a mistake in the [IncorrectlyParameterizedGenericParserError](https://github.com/facebook/react-native/blob/main/packages/react-native-codegen/src/parsers/errors.js#L159): ``` if ( genericTypeAnnotation.typeParameters.type === 'TypeParameterInstantiation' && genericTypeAnnotation.typeParameters.params.length !== 1 ) { ``` Here we should replace ` 'TypeParameterInstantiation'` with ` 'TSTypeParameterInstantiation'` when the language is `TypeScript`. The result is that we get a ["Couldn't create IncorrectlyParameterizedGenericParserError"](https://github.com/facebook/react-native/blob/main/packages/react-native-codegen/src/parsers/errors.js#L172) error instead of ["Module testModuleName: Generic 'typeAnnotationName' must have exactly one type parameter."](https://github.com/facebook/react-native/blob/main/packages/react-native-codegen/src/parsers/parsers-commons.js#L88). I added a [test case](facebook@2f16116) to cover this case: <img width="1008" alt="Capture d’écran 2022-10-30 à 13 55 56" src="https://user-images.githubusercontent.com/17070498/198879598-ab5a6092-8cbf-422a-9993-2f3f92c9d84c.png"> 2. Looking closely at where IncorrectlyParameterizedGenericParserError is used, I noticed that the logic was duplicated in [assertGenericTypeAnnotationHasExactlyOneTypeParameter](https://github.com/facebook/react-native/blob/main/packages/react-native-codegen/src/parsers/parsers-commons.js#L65). I believe that the logic should reside in `assertGenericTypeAnnotationHasExactlyOneTypeParameter` so I split the `IncorrectlyParameterizedGenericParserError` in 2 different errors. ## Changelog <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see: https://reactnative.dev/contributing/changelogs-in-pull-requests --> [Internal] [Changed] - Fix assertGenericTypeAnnotationHasExactlyOneTypeParameter throwing wrong error Pull Request resolved: facebook#35134 Test Plan: I tested using Jest and Flow commands. Reviewed By: rshest Differential Revision: D40853200 Pulled By: cipolleschi fbshipit-source-id: 7040e57e0a2f511ba23fd4c54beae2ccff2fa89d
Configuration menu - View commit details
-
Copy full SHA for 56d7a87 - Browse repository at this point
Copy the full SHA 56d7a87View commit details -
Extract isModuleRegistryCall function in parsers/utils (facebook#35139)
Summary: This PR is a task from facebook#34872: > Extract the function isModuleRegistryCall ([Flow](https://github.com/facebook/react-native/blob/main/packages/react-native-codegen/src/parsers/flow/utils.js#L175-L211) [TypeScript](https://github.com/facebook/react-native/blob/main/packages/react-native-codegen/src/parsers/typescript/utils.js#L167-L203)) into a single function in the parsers/utils.js file and replace its invocation with this new function. ## Changelog <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see: https://reactnative.dev/contributing/changelogs-in-pull-requests --> [Internal] [Changed] - Extract the function isModuleRegistryCall in parsers/utils Pull Request resolved: facebook#35139 Test Plan: I tested using Jest and Flow commands. Reviewed By: rshest Differential Revision: D40850471 Pulled By: cipolleschi fbshipit-source-id: 34ec8ea4d7175e205315d60f200df093f1204b7b
Configuration menu - View commit details
-
Copy full SHA for 83e2126 - Browse repository at this point
Copy the full SHA 83e2126View commit details -
refactor(AsyncStorage): move android files from react-native-github
Summary: ## Changelog: [Android] [Removed] - Removed AsyncStorage module Reviewed By: lunaleaps Differential Revision: D40175995 fbshipit-source-id: b583579b8c2fa6c502f265ffe464b81672bd7da5
Configuration menu - View commit details
-
Copy full SHA for 5738fe6 - Browse repository at this point
Copy the full SHA 5738fe6View commit details -
refactor(AsyncStorage): move iOS files from react-native-github
Summary: ## Changelog: [iOS][Removed] - Removed AsyncStorage module Reviewed By: lunaleaps Differential Revision: D40283712 fbshipit-source-id: 5e74c71915c2fbba4363e3fc917555039069038e
Configuration menu - View commit details
-
Copy full SHA for 4de2aab - Browse repository at this point
Copy the full SHA 4de2aabView commit details -
refactor(react-native-github): remove AsyncStorage from JS
Summary: ## Changelog [JS][Removed] - Removed AsyncStorage module from react-native Reviewed By: NickGerleman Differential Revision: D40302352 fbshipit-source-id: 9377ea12036e498dde0b4b0f56de5c4fb9bd2461
Configuration menu - View commit details
-
Copy full SHA for 20eeb1b - Browse repository at this point
Copy the full SHA 20eeb1bView commit details -
Hermes scripts: rename tarball methods to distinguish between source …
…code and prebuilt artifacts (facebook#35156) Summary: Pull Request resolved: facebook#35156 There are two tarballs: the source code for Hermes that is downloaded from GitHub, and the hermes-runtime-darwin-{}-v{}.tar.gz tarball with prebuilt artifacts that is built in CI. Renamed some methods to make it clearer which tarball they work with. Changelog: [internal] Reviewed By: cipolleschi, dmytrorykun Differential Revision: D40812290 fbshipit-source-id: a2c865e1d1461829fe8d468f52deeb55f3565cb0
Configuration menu - View commit details
-
Copy full SHA for 8f124be - Browse repository at this point
Copy the full SHA 8f124beView commit details -
exact_empty_objects is on by default in 0.191, delete usage in fbsource
Summary: `exact_empty_objects` is on by default in 0.191, delete usage Changelog: [Internal] Reviewed By: SamChou19815 Differential Revision: D40822684 fbshipit-source-id: 8e84f0542e6b66049cac34e429f0b724f85a9557
Configuration menu - View commit details
-
Copy full SHA for 07bd590 - Browse repository at this point
Copy the full SHA 07bd590View commit details -
refactor(rn tester app): change dimensions example to hooks (facebook…
…#35084) Summary: This pull request migrates the dimensions example to using React Hooks. ## Changelog [General] [Changed] - RNTester: Migrate Dimensions to hooks Pull Request resolved: facebook#35084 Test Plan: The animation works exactly as it did as when it was a class component Reviewed By: yungsters Differential Revision: D40779014 Pulled By: NickGerleman fbshipit-source-id: e740684d3022a945da5abc33b2e8834c6cfabb97
Configuration menu - View commit details
-
Copy full SHA for 745e262 - Browse repository at this point
Copy the full SHA 745e262View commit details
Commits on Nov 1, 2022
-
Back out "Add perftest dev support manager"
Summary: Changelog: [Internal] Reviewed By: NickGerleman Differential Revision: D40879099 fbshipit-source-id: ff302819829aa21a1dd7c19c06ed8c29821ba815
Configuration menu - View commit details
-
Copy full SHA for 1e6945e - Browse repository at this point
Copy the full SHA 1e6945eView commit details -
Set C++ version for libs (facebook#35160)
Summary: Pull Request resolved: facebook#35160 With the simplified migration to the new arch, we are offering a function in cocoapods that takes care of configuring all the dependencies for libraries. That function was not setting the proper version of C++ for the library. This could lead to build problems. This Diff make sure that the libraries that are created with this function call have the proper C++ version. NOTE: we already have a post install hook that was setting the the proper C++ version, but that was only working for the project. Plus, we can't read that version from the React-Core podspec because at the podspec definition time, cocoapods has not read that yet. Therefore, I just hardcoded the C++ version on top of the file, so it will be easier to update if we decide to change it. ## Changelog [iOS][Fixed] - Make sure that libraries created with `install_modules_dependencies` has the right C++ version. Reviewed By: dmytrorykun Differential Revision: D40894561 fbshipit-source-id: a5187be2d85888a335d4c033f16fdacaf2c945f9
Configuration menu - View commit details
-
Copy full SHA for 40ad31e - Browse repository at this point
Copy the full SHA 40ad31eView commit details -
React Native sync for revisions 54f297a...ab075a2
Summary: This sync includes the following changes: - **[ab075a232](facebook/react@ab075a232 )**: Do not unmount layout effects on initial Offscreen mount ([facebook#25592](facebook/react#25592)) //<Samuel Susla>// - **[765805bf8](facebook/react@765805bf8 )**: Fix type check for null ([facebook#25595](facebook/react#25595)) //<Sebastian Markbåge>// - **[2ac77aab9](facebook/react@2ac77aab9 )**: Clean up vestige of useOpaqueIdentifier ([facebook#25587](facebook/react#25587)) //<Andrew Clark>// - **[bdd3d0807](facebook/react@bdd3d0807 )**: Extract logic for detecting bad fallback to helper //<Andrew Clark>// - **[952dfff3f](facebook/react@952dfff3f )**: Split suspended work loop logic into separate functions //<Andrew Clark>// - **[d2c0ab10d](facebook/react@d2c0ab10d )**: In work loop, add enum of reasons for suspending //<Andrew Clark>// - **[5450dd409](facebook/react@5450dd409 )**: Strict Mode: Reuse memoized result from first pass ([facebook#25583](facebook/react#25583)) //<Andrew Clark>// - **[d2a0176a1](facebook/react@d2a0176a1 )**: Detect and warn if use(promise) is wrapped with try/catch block ([facebook#25543](facebook/react#25543)) //<Andrew Clark>// - **[cf3932be5](facebook/react@cf3932be5 )**: Remove old react-fetch, react-fs and react-pg libraries ([facebook#25577](facebook/react#25577)) //<Sebastian Markbåge>// - **[28a574ea8](facebook/react@28a574ea8 )**: Try assigning fetch to globalThis if global assignment fails ([facebook#25571](facebook/react#25571)) //<Sebastian Markbåge>// - **[09def5990](facebook/react@09def5990 )**: [Float] handle noscript context for Resources ([facebook#25559](facebook/react#25559)) //<Josh Story>// - **[17204056d](facebook/react@17204056d )**: [Float] fix coordination of resource identity and hydration ([facebook#25569](facebook/react#25569)) //<Josh Story>// - **[d925a8d0b](facebook/react@d925a8d0b )**: Flight client error stack ([facebook#25560](facebook/react#25560)) //<Josh Story>// - **[996b00b78](facebook/react@996b00b78 )**: [Tiny] Fixed incorrect import in `react-server-dom-webpack` ([facebook#25554](facebook/react#25554)) //<Leo Lamprecht>// - **[e7c5af45c](facebook/react@e7c5af45c )**: Update cache() and use() to the canary aka next channel ([facebook#25502](facebook/react#25502)) //<Sebastian Markbåge>// - **[fa77f52e7](facebook/react@fa77f52e7 )**: Unify promise switch statements //<Andrew Clark>// - **[7572e4931](facebook/react@7572e4931 )**: Track thenable state in work loop //<Andrew Clark>// - **[7fc3eefd8](facebook/react@7fc3eefd8 )**: Revert yieldy behavior for non-use Suspense (in Flight, too) //<Andrew Clark>// - **[61f9b5e97](facebook/react@61f9b5e97 )**: [Float] support <base> as Resource ([facebook#25546](facebook/react#25546)) //<Josh Story>// - **[1d3fc9c9c](facebook/react@1d3fc9c9c )**: Bug fix when resolving cache ([facebook#25545](facebook/react#25545)) //<Sebastian Markbåge>// - **[cce18e350](facebook/react@cce18e350 )**: [Flight] Use AsyncLocalStorage to extend the scope of the cache to micro tasks ([facebook#25542](facebook/react#25542)) //<Sebastian Markbåge>// - **[caa84c8da](facebook/react@caa84c8da )**: Revert fetch instrumentation to only RSC ([facebook#25540](facebook/react#25540)) //<Sebastian Markbåge>// - **[0c11baa6a](facebook/react@0c11baa6a )**: add warnings for non-resources rendered outside body or head ([facebook#25532](facebook/react#25532)) //<Josh Story>// - **[9236abdb5](facebook/react@9236abdb5 )**: when float is enabled only push title and script as a single unit ([facebook#25536](facebook/react#25536)) //<Josh Story>// - **[dd5c20825](facebook/react@dd5c20825 )**: Revert yieldy behavior for non-use Suspense ([facebook#25537](facebook/react#25537)) //<Andrew Clark>// - **[934177598](facebook/react@934177598 )**: fix transposed escape functions ([facebook#25534](facebook/react#25534)) //<Josh Story>// - **[d1ced9fd5](facebook/react@d1ced9fd5 )**: [Float] support all links as Resources ([facebook#25515](facebook/react#25515)) //<Josh Story>// - **[973b90bdf](facebook/react@973b90bdf )**: [Float] support meta tags as Resources ([facebook#25514](facebook/react#25514)) //<Josh Story>// - **[79c582981](facebook/react@79c582981 )**: Let ReactDOM initialize in RSC ([facebook#25503](facebook/react#25503)) //<Sebastian Markbåge>// - **[1f7a2f577](facebook/react@1f7a2f577 )**: [Float] support title tags as Resources ([facebook#25508](facebook/react#25508)) //<Josh Story>// - **[c63580787](facebook/react@c63580787 )**: Support `use` in `act` testing API ([facebook#25523](facebook/react#25523)) //<Andrew Clark>// - **[65e32e58b](facebook/react@65e32e58b )**: Add fetch Instrumentation to Dedupe Fetches ([facebook#25516](facebook/react#25516)) //<Sebastian Markbåge>// - **[9336e29d9](facebook/react@9336e29d9 )**: [useEvent] Lint for presence of useEvent functions in dependency lists ([facebook#25512](facebook/react#25512)) //<lauren>// - **[3cc792bfb](facebook/react@3cc792bfb )**: [useEvent] Non-stable function identity ([facebook#25473](facebook/react#25473)) //<lauren>// - **[987292815](facebook/react@987292815 )**: Remove feature flag enableStrictEffects ([facebook#25387](facebook/react#25387)) //<Samuel Susla>// - **[8e2bde6f2](facebook/react@8e2bde6f2 )**: Add cache() API ([facebook#25506](facebook/react#25506)) //<Sebastian Markbåge>// - **[9cdf8a99e](facebook/react@9cdf8a99e )**: [Codemod] Update copyright header to Meta ([facebook#25315](facebook/react#25315)) //<Andrew Clark>// - **[e54015e26](facebook/react@e54015e26 )**: Refactor: fill in the flow missing type ([facebook#25496](facebook/react#25496)) //<c0dedance>// - **[3b1fd5767](facebook/react@3b1fd5767 )**: refactor: Flow: typing of Scheduler ([facebook#25485](facebook/react#25485)) //<bubucuo>// - **[14072ce64](facebook/react@14072ce64 )**: Add detach to Offscreen component ([facebook#25265](facebook/react#25265)) //<Samuel Susla>// - **[3bb71dfd4](facebook/react@3bb71dfd4 )**: Rename react-server-dom-webpack entry points to /client and /server ([facebook#25504](facebook/react#25504)) //<Sebastian Markbåge>// - **[71f2c8cf1](facebook/react@71f2c8cf1 )**: move resource acquisition to mutation phase ([facebook#25500](facebook/react#25500)) //<Josh Story>// - **[500bea532](facebook/react@500bea532 )**: Add option to load Fizz runtime from external file ([facebook#25499](facebook/react#25499)) //<Andrew Clark>// - **[4494f2a86](facebook/react@4494f2a86 )**: [Float] add support for scripts and other enhancements ([facebook#25480](facebook/react#25480)) //<Josh Story>// - **[9ecf84ed7](facebook/react@9ecf84ed7 )**: Bugfix: Suspending in shell during discrete update ([facebook#25495](facebook/react#25495)) //<Andrew Clark>// Changelog: [General][Changed] - React Native sync for revisions 54f297a...ab075a2 jest_e2e[run_all_tests] Reviewed By: kassens Differential Revision: D40897093 fbshipit-source-id: 6a040315834dea5c0ab994ea94d91f5605b9d6b0
Configuration menu - View commit details
-
Copy full SHA for f49b251 - Browse repository at this point
Copy the full SHA f49b251View commit details -
Integrate Hermes with the Xcode build process
Summary: ## Context If React Native is built from *main* of any non-stable commit, then Hermes is built from source. The build is performed by `build-ios-framework.sh` and `build-mac-framework.sh` scripts in `hermes-engine.podspec` `prepare_command` stage. Since those scripts have no access build target information, they build all possible architectures and platforms just in case. That takes ages. ## Solution The idea is to integrate build script into Xcode *run script* phase, and use build target information to build Hermes for active architecture only. ## Implementation - Existing behaviour remains unchanged for local tarball and remote prebuild cases. - `build-hermesc-xcode.sh` builds Hermesc as `hermes-engine.podspec` `prepare_command`. Default build location is `react-native/sdks/hermes-engine/build_host_hermesc`. - `build-hermes-xcode.sh` builds Hermes in 'Build Hermes' Xcode script phase. It uses `$PLATFORM_NAME`, `$CONFIGURATION`, `$ARCHS`, `$IPHONEOS_DEPLOYMENT_TARGET` and `$MACOSX_DEPLOYMENT_TARGET` environment variables to configure cmake project so it builds only active architecture. The script also gets RN version, *cmake* path and *hermesc* path from the podspec. - `copy-hermes-xcode.sh` copies Hermes.framework inside the app bundle. This script phase is added to the user app target in a `post_install` hook, after pods are integrated in a user project. - `OTHER_LDFLAGS -framework "hermes"` added to the user project to enable linking against Hermes.framework. - If `HERMES_OVERRIDE_HERMESC_PATH` is set, then Hermesc building is skipped, and `HERMES_OVERRIDE_HERMESC_PATH` is used for `build-hermes-xcode.sh`. - `HERMES_CLI_PATH` is injected into user project config to enable Hermes source maps in `react-native-xcode.sh`. ## Things that didn't work - *Running build-hermesc-xcode.sh in Xcode run script phase*. This doesn't work because Hermesc is supposed to be built for macos, and if build target is ios, then Xcode configures environment in such a way that Hermesc build fails. - *Installing Hermesc into CocoaPods download folder*. So it then ends up in `Pods/hermes-engine/build_host_hermesc`, and all the housekeeping is handled by CocoaPods. This doesn't work because cmake uses absolute paths in a configured project. If configured project is moved to a different location, nothing builds. - *Installing Hermesc directly into Pods/hermes-engine*. This doesn't work because CocoaPods runs prepare_command before Pods folder clean up, and everything gets wiped. ## Known issue - If `Pods/hermes-engine` is manually removed, then `sdks/hermes-engine/build_host_hermesc` must also be removed before running `pod install`. Otherwise cmake will complain about stale cache: ``` CMake Error: The source "<CocoaPodsCache>/hermes-engine/<hash2>/CMakeLists.txt" does not match the source "<CocoaPodsCache>/hermes-engine/<has1>/CMakeLists.txt" used to generate cache. Re-run cmake with a different source directory. ``` ## Benchmark MacBook M1 2021 32 GB. ``` export REACT_NATIVE_PATH=~/fbsource/xplat/js/react-native-github cd $REACT_NATIVE_PATH/packages/rn-tester pod install rm -rf $REACT_NATIVE_PATH/sdks/hermes-engine/build_host_hermesc cd $REACT_NATIVE_PATH/packages/rn-tester/Pods/hermes-engine echo 't1=$(date +%s); $@; t2=$(date +%s); diff=$(echo "$t2 - $t1" | bc); echo Operation took $diff seconds.' > /tmp/benchmark.sh ``` ``` # Before export BUILD_TYPE=Debug export JSI_PATH=$REACT_NATIVE_PATH/ReactCommon/jsi export RELEASE_VERSION=1000.0 export IOS_DEPLOYMENT_TARGET=iphonesimulator export MAC_DEPLOYMENT_TARGET=12.6 cd $REACT_NATIVE_PATH/packages/rn-tester/Pods/hermes-engine . /tmp/benchmark.sh $REACT_NATIVE_PATH/sdks/hermes-engine/utils/build-ios-framework.sh # Operation took 252 seconds . /tmp/benchmark.sh $REACT_NATIVE_PATH/sdks/hermes-engine/utils/build-mac-framework.sh # Operation took 179 seconds ``` ``` # After . /tmp/benchmark.sh source $REACT_NATIVE_PATH/sdks/hermes-engine/utils/build-hermesc-xcode.sh $REACT_NATIVE_PATH/sdks/hermes-engine/build_host_hermesc # Operation took 59 seconds. . /tmp/benchmark.sh xcodebuild -workspace $REACT_NATIVE_PATH/packages/rn-tester/RNTesterPods.xcworkspace -scheme hermes-engine # Operation took 106 seconds. ``` |Before|||After||| |--| |iOS framework (s)|Mac framework (s)|Total (s)|Hermesc (s)|Target-specific framework (s)|Total (s)| |252|179|431|59|106|**165 (-266) (-61%)**| The performance win is fixed, and does not depend on the project size and structure. As an example, this is how these changes affect build time of RNTester. |Before||||After||| |--| ||Pod install (s)|Xcode build (s)|Total (s)|Pod install (s)|Xcode build (s)|Total (s)| |Clean build|1219|132|1352|734 (-485)|249(+117)|**983 (-369)**| |Incremental build|82|30|112|105 (+23)|**34 (+4)**|139 (+27)| The most important values here are the total clean build time and the incremental Xcode build time. The first one went down by 369 seconds, the second one went up by 4 seconds. I consider it a reasonable tradeoff. The extra 4 seconds in the incremental Xcode build time can potentially be mitigated by setting up output file lists for the new script phases. allow-large-files Changelog: [iOS][Changed] - Hermes is integrated into Xcode build. Reviewed By: hramos Differential Revision: D40063686 fbshipit-source-id: e6993d62225789377db769244bc07786cc978a27
Configuration menu - View commit details
-
Copy full SHA for 6b8e13f - Browse repository at this point
Copy the full SHA 6b8e13fView commit details -
Add unit test for ImageView to take null uri in source
Summary: This is a follow up action item from S295231 and T136039462 where we want to make sure null uri in image source is handled properly. This diff adds an unit test to make sure we are using transparent image when uri is null. Changelog: [Android][Internal] - Add unit test to ImageView for null uri in source Reviewed By: javache Differential Revision: D40732791 fbshipit-source-id: fd468bfe7c33a4f3f8913ead3e84a1770d7c907f
Configuration menu - View commit details
-
Copy full SHA for 58a1cd2 - Browse repository at this point
Copy the full SHA 58a1cd2View commit details -
Adding new markerAnnotateWithMap method
Summary: ## Changelog: [Internal] [Added] - Adding new markerAnnotateWithMap to the QPL. This is part of bigger effort to unify JS QPL interfaces across platforms. Reviewed By: eddyerburgh Differential Revision: D40796537 fbshipit-source-id: a75b97c20ca411653552228f7dc2fcbedd8ddca9
Configuration menu - View commit details
-
Copy full SHA for e3eeadb - Browse repository at this point
Copy the full SHA e3eeadbView commit details -
Migrating all qpl.markerAnnotate call sites to the new signature
Summary: As part of unifying JS QPL interface, I'm bringing markerAnnotate to the parity with Web version. At the moment it supports only string annotations, but I'm adding support for ints, arrays of ints, arrays of strings, etc. ## Changelog: [Internal] [Changed] - Refactored markerAnnotateWithMap -> markerAnnotate Reviewed By: eddyerburgh Differential Revision: D40796535 fbshipit-source-id: 9831e353036835b97bb7b2f60085016034c04269
Configuration menu - View commit details
-
Copy full SHA for c565a77 - Browse repository at this point
Copy the full SHA c565a77View commit details -
Refactor EventDriverAnimations to customize event match
Summary: Changelog: [Internal] - Refactor match logic on determining whether to run an EventAnimationDriver (drivers for natively animated events) for an Event dispatched. Previously, drivers were stored by key on the NativeAnimatedNodesManager (based on event handler and viewTag) and has been refactored to be stored in a list for easier matching. This diff changes it so the match logic for running an EventAnimationDriver happens on the Event instance. This change is motivated by PointerEvents needing custom match logic (done on a following change). Reviewed By: javache Differential Revision: D40691002 fbshipit-source-id: e4f6742a2af3b751214aefa1fc069f65e8e71d77
Configuration menu - View commit details
-
Copy full SHA for 565a743 - Browse repository at this point
Copy the full SHA 565a743View commit details -
Fix natively driven animated.event for bubbling PointerEvents
Summary: Changelog: [Internal] Override logic for determining whether a dispatched `Event` triggers a native `EventAnimationDriver`. Natively driven AnimatedEvents on bubbling events is not supported. `PointerEvents` requires this and this diff adds custom matching logic such that if a parent specifies an `AnimatedEvent` on `onPointerMove` and a child view dispatches it, the `AnimatedEvent` will still fire. Reviewed By: javache Differential Revision: D38722563 fbshipit-source-id: 7cde57eaff9584b33c6ab15f1fe85c0a9bac132e
Configuration menu - View commit details
-
Copy full SHA for cfe811a - Browse repository at this point
Copy the full SHA cfe811aView commit details -
Annotate
Array.map
returns when the implicit return type is widenedSummary: Changelog: [Internal] Differential Revision: D40840078 fbshipit-source-id: 0104444060d8d6a1a22066d63579ac06ff715226
Configuration menu - View commit details
-
Copy full SHA for dbb9252 - Browse repository at this point
Copy the full SHA dbb9252View commit details -
hermes-utils: Strip debug symbols during tarball creation (facebook#3…
…5162) Summary: Pull Request resolved: facebook#35162 The dSYMs for Apple will not be distributed as part of the prebuilts tarball. They can still be included in the tarball by passing a `-d` flag to the create-tarball script. Changelog: [internal] Reviewed By: cipolleschi Differential Revision: D40813679 fbshipit-source-id: 26dee8251684c5ecad649ccd27ce688cfe88ec8f
Configuration menu - View commit details
-
Copy full SHA for d71d0db - Browse repository at this point
Copy the full SHA d71d0dbView commit details
Commits on Nov 2, 2022
-
Codemod cycle annotations for xplat/js
Summary: Add annotations using flow codemod annotate-cycles --write Changelog: [internal] Reviewed By: SamChou19815 Differential Revision: D40896688 fbshipit-source-id: 0c32932d17542be070360db29b7797f8e6e5978b
Configuration menu - View commit details
-
Copy full SHA for 91d58cf - Browse repository at this point
Copy the full SHA 91d58cfView commit details -
Introduce soft exceptions in the bridgeless core
Summary: Changelog: [Internal] Reviewed By: fkgozali Differential Revision: D40824468 fbshipit-source-id: c840610e923c35cc5c36b37e5c580d0296c1e46b
Configuration menu - View commit details
-
Copy full SHA for 7964d48 - Browse repository at this point
Copy the full SHA 7964d48View commit details -
Hermes: Include iOS debug symbols in Hermes XCFramework
Summary: Include dSYMs when building the universal XCFramework for Hermes iOS. CocoaPods should pick up dSYMs automatically when using `vendored_framework` if: - `hermes.framework` has a `hermes.framework.dSYM` in the same base directory - `hermes.xcframework` has a `dSYMs` folder with a `hermes.framework.dSYM` in it, for each slice The dSYMs for the macOS hermes.framework are already being created. Changelog: [Internal] Reviewed By: cipolleschi Differential Revision: D40790250 fbshipit-source-id: 50fcb3492434637b00458c1aa443ac6ec5472fac
Configuration menu - View commit details
-
Copy full SHA for b5bb227 - Browse repository at this point
Copy the full SHA b5bb227View commit details -
hermes-utils.js: Add test coverage
Summary: Improving test coverage in anticipation of some changes being made to `hermes-utils.js`. Moved test scripts to `hermes/__tests__` and grouped related tests. We have been delegating some of the work to local binaries via `execSync`, which can be hard to mock or test. We now use a proxy `delegateSync` method that uses `spawnSync` internally to break down the invocation into `command`, `arguments`, `options`. Instead of simply mocking based on the command being executed, we can now conditionally mock based on the arguments being passed. Added a `createTarballFromDirectory` method. This can be used later when creating different tarballs. Added `populateMockFilesystemWithHermesBuildArtifacts()` to mock the filesystem state after Hermes has been built. Changelog: [internal] Reviewed By: cipolleschi Differential Revision: D40871802 fbshipit-source-id: 4348d3c38926ec7eb13d794040a9040010879f58
Configuration menu - View commit details
-
Copy full SHA for 358b7a4 - Browse repository at this point
Copy the full SHA 358b7a4View commit details -
Corrected documentation to be more gramatically correct (facebook#35141)
Summary: The documentation for `useColorScheme()` suggested that the user's preferred color scheme will be 'Dark Mode'. Instead suggesting 'Dark Mode' as an example of what the user's preferred color scheme could be is more correct. ## Changelog [INTERNAL] [FIXED] - Edited documentation for `useColorScheme()` hook Edited ```javascript /** * A new useColorScheme hook is provided as the preferred way of accessing * the user's preferred color scheme (aka Dark Mode). */ export function useColorScheme(): ColorSchemeName; ``` to ```javascript /** * A new useColorScheme hook is provided as the preferred way of accessing * the user's preferred color scheme (e.g. Dark Mode). */ export function useColorScheme(): ColorSchemeName; ``` Pull Request resolved: facebook#35141 Test Plan: Documentation only - no testing required. Reviewed By: cipolleschi Differential Revision: D40934781 Pulled By: rshest fbshipit-source-id: acac8947c3f99016839be27f505066e8992a20fa
Configuration menu - View commit details
-
Copy full SHA for 74cb441 - Browse repository at this point
Copy the full SHA 74cb441View commit details -
Remove redundant import from TextInputSharedExamples
Summary: changelog: [internal] Fix lint error Reviewed By: cipolleschi Differential Revision: D40936194 fbshipit-source-id: 24987f86f1f95d42f978baaa560bfd57381ca5a4
Configuration menu - View commit details
-
Copy full SHA for 64c3906 - Browse repository at this point
Copy the full SHA 64c3906View commit details -
Remove misleading comment about RootTag type not being opaque
Summary: Changelog: [Internal] Reviewed By: lunaleaps Differential Revision: D40902247 fbshipit-source-id: 5ed8f69bb46e35d5250bd04898765ead500d7db6
Configuration menu - View commit details
-
Copy full SHA for e89d223 - Browse repository at this point
Copy the full SHA e89d223View commit details -
Link against the app codegen if available (facebook#35176)
Summary: Pull Request resolved: facebook#35176 This commit extends the ReactNative-application.cmake logic so that if the app is using codegen at the app level, the generate library is properly built and linked. It helps us simplify the RN Tester setup and makes it easier for app users to use the codegen at the app level. Changelog: [Internal] [Changed] - [Android] Link against the app codegen if available Reviewed By: cipolleschi Differential Revision: D40936941 fbshipit-source-id: 26fa4d764fb369c987e94e0c3bce61841b982b27
Configuration menu - View commit details
-
Copy full SHA for 0fd282f - Browse repository at this point
Copy the full SHA 0fd282fView commit details -
fix(local-e2e-script): add logic to handle maven local for iOS and An…
…droid accordingly (facebook#35104) Summary: This PR is a follow up of facebook#35075 and facebook@1546666 to ensure that even in the local e2e testing scenario the new maven approach is followed - without this, RNTestProject on Android won't work, like so: <img width="1905" alt="Screenshot 2022-10-27 at 12 15 38" src="https://user-images.githubusercontent.com/16104054/198334105-30fb2037-4e7c-4814-8c3f-2412ba0bd49f.png"> And iOS will always build everything from source every time. This PR addresses both by generating the artifacts locally, and passing them to RNTestProject as if they were coming from a url (mimicking as closely as possible the behaviour for the final user) In doing so, there's been some refactoring to prep the ground for follow up work. * refactor CI to rely less on scripts directly in the CircleCI config, but invoke .js ones * we should be able to trigger more the "manual" artifacts generation so that it will only happen once between RNTester and RNTestProject, and we can pass existing artifacts to the other flows. * once all of this in place, a very good improvement would be to be able to download the maven artifacts kind of like nightlies and stables do. This will only be viable by checking that there's no local changes, after which there needs to be logic to pull down from CircleCI the artifacts based on git commit <-> circleCI job references. --- While at it, I've also fixed the hermes-engine podspec logic for detecting if it's on CI: basically the local e2e script needs to align with the changes done here: facebook@4b51207 but as you can see there, the condition was actually inconsistent across the various files, so realigned to `CI === 'true'`. We probably didn't catch that so far 'cause the other condition in the hermes podspect (existence of `hermestag_file`) is only true on release branches and this new logic has not been in any release branches yet. ## Changelog <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see: https://reactnative.dev/contributing/changelogs-in-pull-requests --> [Internal] [Fixed] - add logic to local e2e script to handle maven local for iOS and Android accordingly Pull Request resolved: facebook#35104 Test Plan: Run ` yarn test-e2e-local -t RNTestProject -p Android` successfully. Run ` yarn test-e2e-local -t RNTestProject -p iOS` successfully. On the pod install stage, you will see `[Hermes] Using pre-built Hermes binaries from local path.` Reviewed By: dmytrorykun Differential Revision: D40893239 Pulled By: cipolleschi fbshipit-source-id: a31217ec4f177383c62292d00fabc4cbe4391cfd
Configuration menu - View commit details
-
Copy full SHA for c540ff7 - Browse repository at this point
Copy the full SHA c540ff7View commit details -
Add file ReactNativeTypes.d.ts to fix CircleCI (facebook#35173)
Summary: Pull Request resolved: facebook#35173 changelog: [internal] D40897093 (facebook@f49b251) deleted TypeScript definitions. Reviewed By: cipolleschi Differential Revision: D40935747 fbshipit-source-id: 020cba21b8b40c8b0c92bb5ab2dc4f6ba5da610a
Configuration menu - View commit details
-
Copy full SHA for 6a23b13 - Browse repository at this point
Copy the full SHA 6a23b13View commit details -
Fix WebSocketModule not closing connections on reload
Summary: Saw in the logs an ever increasing number of warnings coming from WebSocketModule about requesting an instance that has already gone away. On module invalidation we should close all outstanding websockets, as they will no longer be able to send events to JS. Changelog: [Android][Fixed] On instance destroy, websockets are correctly closed Reviewed By: mdvacca Differential Revision: D40897255 fbshipit-source-id: 1578de8baa342479d14ee1070c3314d45c7fbd8d
Configuration menu - View commit details
-
Copy full SHA for b5ea5a2 - Browse repository at this point
Copy the full SHA b5ea5a2View commit details -
Make sure nightly versions are using the -SNAPSHOT artifacts (faceboo…
…k#35178) Summary: Pull Request resolved: facebook#35178 I forgot to add the logic to fetch the -SNAPSHOT version when on nightlies. This code takes care of it. Changelog: [Internal] [Changed] - Make sure nightly versions are using the -SNAPSHOT artifacts Reviewed By: cipolleschi Differential Revision: D40939367 fbshipit-source-id: 29d60cf281d30b3dbd05d7ea1c766541a8fab90a
Configuration menu - View commit details
-
Copy full SHA for b5405b2 - Browse repository at this point
Copy the full SHA b5405b2View commit details -
Fixup TS Organization (facebook#35169)
Summary: Pull Request resolved: facebook#35169 This reorganizes typing structure a bit. `Utilities.d.ts` was originally added for utilitiy types but I ended up leaving it a grab bag of types that didn't belong to any individual bit of code. Out of what is in it right now, `Insets` was actually public, and seems to have been imported. We also run into files around the renderer which are [currently overwritten](https://github.com/facebook/react-native/commits/e286da25fc83324363486eb668806aca179f74b3/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts) by the React sync script. Finally, all of the top-level imports of `Utilities` were auto-generated by VS Code, but fail in real apps. I think this is because our tsconfig sets a `baseUrl` to allow resolution from the types folder, so the tooling in the RN repo will use that, but it breaks in real apps that don't have that mapping. This splits all these up into a couple separate directories that are hopefully easier to reason about, and removes `Omit` which has been a builtin type for quite some time (we were actually already using built-in `Omit`). Changelog: [General][Fixed] - Fixup TS Organization Reviewed By: cipolleschi Differential Revision: D40932319 fbshipit-source-id: 0b6e3e3eda603885b4dc01dcb9f5233aa546d128
Configuration menu - View commit details
-
Copy full SHA for 5d26cea - Browse repository at this point
Copy the full SHA 5d26ceaView commit details -
Fix test_buck by not using lambdas inside ReactImagePropertyTest (fac…
…ebook#35181) Summary: Pull Request resolved: facebook#35181 As the title says, this unblocks `test_buck` by removign the lambdas used inside test. Changelog: [Internal] [Changed] - Fix test_buck by not using lambdas inside ReactImagePropertyTest Reviewed By: cipolleschi Differential Revision: D40958412 fbshipit-source-id: 60b8609a25985230dfd6c4dcdf983dc2a8cfaf64
Configuration menu - View commit details
-
Copy full SHA for 46de03a - Browse repository at this point
Copy the full SHA 46de03aView commit details
Commits on Nov 3, 2022
-
Summary: Just bumping RNGP to make the new sources avialable to the template. Changelog: [Internal] [Changed] - Bump RNGP to 0.71.8 Reviewed By: robhogan Differential Revision: D40948246 fbshipit-source-id: c6a193fcdc0675be9ef7f1320d63e884b8b65daa
Configuration menu - View commit details
-
Copy full SHA for e8d3fb8 - Browse repository at this point
Copy the full SHA e8d3fb8View commit details -
Local filenames with colon should be parsed correctly (facebook#35123)
Summary: Pull Request resolved: facebook#35123 **Context** On RN Desktop, images can be copy/pasted into text inputs. When copy/pasting local files w/ semi-colons in the filename (`/downloads/devices:pre-call-IMG_346C38284B2B-1.jpeg`), RN would throw this error. {F785684529} The error was due to no having the correct asset loader due to the local file path being parsed incorrectly. To parse the url, we convert the string URI to a `NSURL` using a custom convertor fn. The conversion was matching any `:` and assuming it was a network url scheme: https://www.internalfb.com/code/archon_react_native_macos/[fde4113acd89fb13ee11636c48b59eac49c21bae]/React/Base/RCTConvert.m?lines=97-111 When an image path with `:` in the name was passed to this, it was assuming it was a valid network url and not file path. Because this is a local filepath, the image path needs to be a filesystem url. Since this was parsed as network url, it did not have the `file://` prefix and would not pass this check, causing the loader to throw.l https://www.internalfb.com/code/fbsource/%5B60d9d5e67383%5D/xplat/js/react-native-github/Libraries/Image/RCTImageLoader.mm?lines=220-230 ## Changelog [iOS] [Added] - Add support for parsing files w/ `:` in filename Reviewed By: christophpurrer, philIip Differential Revision: D40729963 fbshipit-source-id: 2f3adcabc8f0f1f22cbfca69c3484e72b1d93d25
2Configuration menu - View commit details
-
Copy full SHA for 714b22b - Browse repository at this point
Copy the full SHA 714b22bView commit details -
Add JS stub for PerformanceObserver specs
Summary: This stubs all the type definitions for the [PerformanceObserver web perf APIs](https://www.w3.org/TR/performance-timeline/#the-performanceobserver-interface). Changelog: [Internal] Reviewed By: javache Differential Revision: D40892974 fbshipit-source-id: 31fe972fc069eb62e51bca82e9cd42ca65811753
Configuration menu - View commit details
-
Copy full SHA for a671d61 - Browse repository at this point
Copy the full SHA a671d61View commit details -
cleanup publish-npm.js: --include-hermes is not used anywhere (facebo…
…ok#35166) Summary: Pull Request resolved: facebook#35166 The Hermes source code is not included in the RN npm package. This piece of code is a remnant from an early experimentation into integrating Hermes more tightly with React Native. We ended up using a combination of the scripts in `scripts/hermes` to fetch the source code from GitHub and relying on prebuilts for stable releases. Added `strict()` flag to ensure the script fails immediately if an unrecognized flag is passed. Avoid logging temp publishing folder value to console when `--help` is used. Changelog: [internal] Reviewed By: cortinico Differential Revision: D40918939 fbshipit-source-id: 2e62ab16467c4c67f03efdf5211a156cb70e0b11
Configuration menu - View commit details
-
Copy full SHA for 4f3ca8f - Browse repository at this point
Copy the full SHA 4f3ca8fView commit details -
Add atomic registerSegment method to test
Summary: In the top js errors there are 2 mids related to segment fetching: - requireForFacebook.js:unknownModuleError (https://www.internalfb.com/logview/details/facebook_android_javascripterrors/ba11461526aff8a6842401b35b02f5a4), 11.64 K vs. 524 - asyncRequire.js:verifySegment (https://www.internalfb.com/logview/details/facebook_android_javascripterrors/5452ba893b8d9ba8e97e070cf6976b65) 5.39 K vs. 180 Both errors will result in surface not loading. A lot of traces have logs similar with the following: ```11-01 19:57:51.166 27735 7626 W fb4a.BridgelessReact: registerSegment(segmentId = "1090", path = "/data/data/com.facebook.katana/app_overtheair/resources/412137089/414433453/hbc-seg-1090__DELIM__main.jsbundle") 11-01 19:57:51.167 27735 7445 I ReactNativeJS: Module 39122 in segment 0 doesn not exist moduleDefiner 11-01 19:57:51.171 27735 7445 E ReactNativeJS: Error: Requiring unknown module "39122"., js build: 414433453 11-01 19:57:51.175 27735 7445 E ReactNativeJS: Error: Segment meta module is not setup properly. Details: segmentId = 1090, metaModule === undefined 11-01 19:57:51.175 27735 7445 E ReactNativeJS: 11-01 19:57:51.175 27735 7445 E ReactNativeJS: This error is located at: ``` RegisterSegment lives through 3 threads while in bridge there are only 2 threads involved (native & JS): - Native thread, log printed (fb4a.BridgelessReact: registerSegment...) - Background thread: no log, added in this diff (Finish registerSegment...) - JS thread: logs not printed, should print logs here: https://www.internalfb.com/code/fbsource/[60521987354ed1ef9a0d10bafc60db3c25302ab4]/xplat/ReactNative/venice/ReactInstance.cpp?lines=308-330 Since the JS thread logs aren't printed and there are segment errors right after calling registerSegemnt, I think registerSegment is not done. It could be caused by: - ReactInstance being null, I added logs in background thread to verify (Finish registerSegment...) since dispatching to background thread relies on non-nullable ReactInstance. - Work on JS thread hasn't been executed when trying to use/verify the segment. I added atomic method ```registerSegmentAtomic``` to make sure JS thread is blocked until segment is fully registered. ```registerSegmentAtomic``` will be tested behind gating added in D40917444. Changelog: [Android][Changed] - Add feature flag enableAtomicRegisterSegment Reviewed By: RSNara Differential Revision: D40921759 fbshipit-source-id: 84221aa81f0c549f931a4847b154187299639ef4
Configuration menu - View commit details
-
Copy full SHA for f207cfd - Browse repository at this point
Copy the full SHA f207cfdView commit details -
Use TypeScript by default for new applications (facebook#35165)
Summary: This change moves the default new application template in OSS from Flow to TypeScript. This better aligns with the communities usage, and aligns to the great work that has been happening for TS codegen and built-in types. This used [`react-native-community/react-native-template-typescript`](https://github.com/react-native-community/react-native-template-typescript) as a main reference, maintained by radko93. A few things are different: 1. Updated `types/*` devDependencies to match bumped libraries (e.g. Jest 26 to 20). 2. Removed `types/react-native` 3. Removed explicit `moduleFileExtensions` to Jest config in package.json (TS and TSX and added by default in current versions) 4. Removed overrides to eslint config to disable `no-shadow` and `no-undef`, since this was fixed in the underlying eslint config with facebook#32644 and facebook#32655 5. Re-translated `App.js` to be a direct translation (e.g. still a raw function instead of React.FC which is sometimes discouraged) 6. Aligns completely to `tsconfig/react-native` maintained configuration (We no longer have the opinionated override of `skipLibCheck`). The important settings are that `strict` is enabled for, but `allowJS` is also enabled to let users import JS modules without anything unexpected. `esModuleInterop` is enabled, which is needed for consistency with Babel import transformations used by Metro. Consistent with our [current documentation](https://reactnative.dev/docs/typescript) built against the community template, `tsc` will typecheck your code without emitting(building) anything. [Documentation](https://reactnative.dev/docs/typescript) will need to be updated as a followup. Changelog: [General][Changed] - Use TypeScript by default for new applications Pull Request resolved: facebook#35165 Test Plan: Added usage of `tsc` and `jest` when validating a newly built app. Passes in CircleCI `test_js` job. This also meant removing some cases of copying packages into the users app to pull in the root Metro config (we seem to be able to use the template Metro config consistent with what real apps would get). Reviewed By: cortinico Differential Revision: D40911951 Pulled By: NickGerleman fbshipit-source-id: 15994534235695e91cf994ad06ba2183dfc89a50
Configuration menu - View commit details
-
Copy full SHA for aaf1990 - Browse repository at this point
Copy the full SHA aaf1990View commit details -
Add various annotation types to markEvent ReactNative API
Summary: Support various annotations types in QuickPerformanceLogger markEvent for Android. Changelog: [Internal][Changed] - Added support for various markEvent annotation types Reviewed By: dmitry-voronkevich Differential Revision: D40852658 fbshipit-source-id: fc4053555f65958653be30a58742c83040a19df1
Configuration menu - View commit details
-
Copy full SHA for 890805d - Browse repository at this point
Copy the full SHA 890805dView commit details -
Hermes version bump for 0.71.0-RC0
Riccardo Cipolleschi committedNov 3, 2022 Configuration menu - View commit details
-
Copy full SHA for 5f656e9 - Browse repository at this point
Copy the full SHA 5f656e9View commit details -
feat: make RCTBlobManager TurboModule-compatible
Summary: This diff reverts D40716048 (facebook@279cfec) (facebook#35047) which breaks RCTImageLoader. https://pxl.cl/2jKrM Those files are auto-generated and are not supposed to be edited manually. Changelog: [iOS] [Fixed] - facebook#35047 reverted. Reviewed By: cipolleschi Differential Revision: D40979350 fbshipit-source-id: ece2b9c653fe01e209a523e6a99e41a0605fddac
Configuration menu - View commit details
-
Copy full SHA for 94cea1e - Browse repository at this point
Copy the full SHA 94cea1eView commit details -
Merge pull request facebook#35188 from dmytrorykun/export-D40979350
Revert: make RCTBlobManager TurboModule-compatible
Riccardo authoredNov 3, 2022 Configuration menu - View commit details
-
Copy full SHA for 151498a - Browse repository at this point
Copy the full SHA 151498aView commit details -
Correctly set -DCMAKE_BUILD_TYPE for Hermes on iOS
Summary: We accidentally added `-DCMAKE_BUILD_TYPE=Debug` for Hermes which is causing a really slow engine execution. This fixes it and keep the -DCMAKE_BUILD_TYPE aligned with the one used on Android. Changelog: [iOS] [Fixed] - Correctly set -DCMAKE_BUILD_TYPE for Hermes on iOS Reviewed By: hramos, cipolleschi Differential Revision: D40980934 fbshipit-source-id: 30f0455990a911b51eb109bebca8272507302650
Configuration menu - View commit details
-
Copy full SHA for 936d69e - Browse repository at this point
Copy the full SHA 936d69eView commit details -
[0.71.0-rc.0] Bump version numbers
Distiller committedNov 3, 2022 Configuration menu - View commit details
-
Copy full SHA for f0054e1 - Browse repository at this point
Copy the full SHA f0054e1View commit details -
[Fix] Let React Native decide the Hermes version to use in the Codegen
Riccardo Cipolleschi committedNov 3, 2022 Configuration menu - View commit details
-
Copy full SHA for becb47c - Browse repository at this point
Copy the full SHA becb47cView commit details -
[Fix] Make sure to export a single version for hermes artifacts and w…
…ipe Podfile.lock while in release
Riccardo Cipolleschi committedNov 3, 2022 Configuration menu - View commit details
-
Copy full SHA for 41bf725 - Browse repository at this point
Copy the full SHA 41bf725View commit details
Commits on Nov 4, 2022
-
Bump dependency versions before the branch cut 0.71.0
Summary: Changelog: [General][Changed] - Bump dependency versions. Reviewed By: cipolleschi Differential Revision: D40991336 fbshipit-source-id: 71c8edbeb274d095403b2f17e60f217d16fe01c0
Configuration menu - View commit details
-
Copy full SHA for ae677ef - Browse repository at this point
Copy the full SHA ae677efView commit details -
Remove project.android block from rn-tester's CLI config (facebook#35197
) Summary: The project.android block is unnecessary and contains a wrong path. Let's use the default path which is `./android`. ## Changelog [Internal] - Remove project.android block from rn-tester's CLI config Pull Request resolved: facebook#35197 Test Plan: Tested locally + will wait for a CI run Reviewed By: robhogan Differential Revision: D41013193 Pulled By: cortinico fbshipit-source-id: 5c76c9b571b23ad71a23a8f3f05a9acb4d6e20b9
Configuration menu - View commit details
-
Copy full SHA for e59cf2d - Browse repository at this point
Copy the full SHA e59cf2dView commit details -
fix (deps): add explicitly eslint config to dependencies (facebook#35192
) Summary: Basically since this change facebook#34423 everything worked ok because in the main branch where the monorepo has the workspace section and everything, `react-native-community/eslint-config` was getting pulled in as a node_module anyway - but when moving to a stable branch and wanting to do a release, as we are now with 0.71, because of what the final package.json looks like for react-native and [the modifications that it goes through](facebook@f0054e1#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519) (ex. the `workspace` section disappears), the fact that it's not directly listed as dependency makes [the CI fails](https://app.circleci.com/pipelines/github/facebook/react-native/17124/workflows/54a4162d-f466-4eab-94ba-ec9fe77e2ecf/jobs/339643) with `Error: Failed to load config "react-native-community" to extend from.` ## Changelog <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see: https://reactnative.dev/contributing/changelogs-in-pull-requests --> [General] [Fixed] - add explicitly eslint config to dependencies Pull Request resolved: facebook#35192 Test Plan: In 0.71, add the deps to see the error disappear (it gets replaced by a different one though, looking into that) Reviewed By: jacdebug, cortinico Differential Revision: D40988407 Pulled By: cipolleschi fbshipit-source-id: 38f433a0b4b47a7cb61b59e887459d11182a5b4b
Configuration menu - View commit details
-
Copy full SHA for 49278df - Browse repository at this point
Copy the full SHA 49278dfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 741d102 - Browse repository at this point
Copy the full SHA 741d102View commit details -
Revert "[0.71.0-rc.0] Bump version numbers"
This reverts commit f0054e1.
Riccardo Cipolleschi committedNov 4, 2022 Configuration menu - View commit details
-
Copy full SHA for 39798cf - Browse repository at this point
Copy the full SHA 39798cfView commit details -
[LOCAL] Bump git checkout cache key
Riccardo Cipolleschi committedNov 4, 2022 Configuration menu - View commit details
-
Copy full SHA for fd5e282 - Browse repository at this point
Copy the full SHA fd5e282View commit details -
[0.71.0-rc.0] Bump version numbers
Distiller committedNov 4, 2022 Configuration menu - View commit details
-
Copy full SHA for c9a3c57 - Browse repository at this point
Copy the full SHA c9a3c57View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0f72abf - Browse repository at this point
Copy the full SHA 0f72abfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8e3b620 - Browse repository at this point
Copy the full SHA 8e3b620View commit details -
Configuration menu - View commit details
-
Copy full SHA for b8f8ac0 - Browse repository at this point
Copy the full SHA b8f8ac0View commit details -
Revert "[0.71.0-rc.0] Bump version numbers"
This reverts commit c9a3c57.
Configuration menu - View commit details
-
Copy full SHA for c4a7e46 - Browse repository at this point
Copy the full SHA c4a7e46View commit details -
[0.71.0-rc.0] Bump version numbers
Distiller committedNov 4, 2022 Configuration menu - View commit details
-
Copy full SHA for ea9dd43 - Browse repository at this point
Copy the full SHA ea9dd43View commit details -
Configuration menu - View commit details
-
Copy full SHA for 32931b1 - Browse repository at this point
Copy the full SHA 32931b1View commit details -
Revert "[0.71.0-rc.0] Bump version numbers"
This reverts commit ea9dd43.
Configuration menu - View commit details
-
Copy full SHA for 4d0be14 - Browse repository at this point
Copy the full SHA 4d0be14View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5c9f160 - Browse repository at this point
Copy the full SHA 5c9f160View commit details -
[0.71.0-rc.0] Bump version numbers
Distiller committedNov 4, 2022 Configuration menu - View commit details
-
Copy full SHA for 27c32b2 - Browse repository at this point
Copy the full SHA 27c32b2View commit details -
[LOCAL] Invoke closeAndReleaseSonatypeStagingRepository in the publis…
…h gradle invocation
Configuration menu - View commit details
-
Copy full SHA for e4f23f4 - Browse repository at this point
Copy the full SHA e4f23f4View commit details -
Revert "[0.71.0-rc.0] Bump version numbers"
This reverts commit 27c32b2.
Configuration menu - View commit details
-
Copy full SHA for 94b1165 - Browse repository at this point
Copy the full SHA 94b1165View commit details -
Configuration menu - View commit details
-
Copy full SHA for 41a80f2 - Browse repository at this point
Copy the full SHA 41a80f2View commit details -
[0.71.0-rc.0] Bump version numbers
Distiller committedNov 4, 2022 Configuration menu - View commit details
-
Copy full SHA for 60129ab - Browse repository at this point
Copy the full SHA 60129abView commit details
Commits on Nov 16, 2022
-
Incorporate gap space into main axis overflow flag (facebook#1173)
Summary: X-link: facebook/yoga#1173 In facebook#35351 we see incorrect child item height when the flex-wrap is enabled, the cross-axis is to be stretched, and main-axis overflow is caused by gap. In YGDistributeFreeSpaceSecondPass, if we do not have overflow (determined by flexBasisOverflows), we have stretch cross-alignment, and we reason that nothing can add to main axis dimensions, we know we're a single line and want to take full cross dimensions. and can set YGMeasureModeExactly which uses parent dimensions. Guessing an optimization? If we do have overflow, then we set YGMeasureModeAtMost to find minimum possible cross-axis dimensions instead. `flexBasisOverflows` incorporates both computed flex basis, and margin, so it is more generally a flag for whether we will wrap. So we should incorporate gap spacing into it. E.g. it is also used for whether we should the match main axis parent dimension of the overall container. This change does just that, and renames the flag to `mainAxisOverflows`. We will want to cherry-pick the fix for this into RN 0.71 since we have not yet introduced the community to the incorrect behavior, and we expect a lot of usage of flex-gap. Changelog: [General][Fixed] - Fix incorrect height when gap causes main axis to overflow and cross-axis is stretched Reviewed By: yungsters Differential Revision: D41311424 fbshipit-source-id: bd0c3b5aac478a56878703b6da84fc3993cc14da
Configuration menu - View commit details
-
Copy full SHA for 2c26c8f - Browse repository at this point
Copy the full SHA 2c26c8fView commit details
Commits on Nov 17, 2022
-
We need to pick the commits in the same order they were committed on main.
Riccardo Cipolleschi committedNov 17, 2022 Configuration menu - View commit details
-
Copy full SHA for 229be89 - Browse repository at this point
Copy the full SHA 229be89View commit details
Commits on Nov 22, 2022
-
react-native-codegen: Enable C++ TurboModule generation in OpenSource…
… builds (facebook#35211) Summary: Pull Request resolved: facebook#35211 This enables the generation of C++ TurboModule specs in addition to existing Java/ObjC ones. An example is shown in facebook#35138 Changelog: [Internal] Reviewed By: cipolleschi Differential Revision: D41057630 fbshipit-source-id: 303881a63eb82f0fe8dfe10e533043a6eedb3d11
Configuration menu - View commit details
-
Copy full SHA for 83c8163 - Browse repository at this point
Copy the full SHA 83c8163View commit details -
TurboModules: Simplify React-bridging usage (facebook#35212)
Summary: Pull Request resolved: facebook#35212 A previous change - facebook#34011 - already fixed basic usage of <react/bridging/.../ imports. However that change was only tailored towards the usage of: <react/bridging/CallbackWrapper.h> Any other header besides <react/bridging/CallbackWrapper.h> from <react/bridging/... can't be imported at this time in Xcode ... ... which is bad. For C++ TurboModules we need to be able to access *any* <react/bridging/...> header via the React-Codegen CocoaPod. Hence adding bridging now as a sub-spec to the ReactCommon CocoaPod Changelog: [Internal] Reviewed By: cipolleschi Differential Revision: D41057878 fbshipit-source-id: 83c117bc5252d84dd419cdb72f145f65547d23b2 # Conflicts: # scripts/cocoapods/__tests__/codegen_utils-test.rb
Configuration menu - View commit details
-
Copy full SHA for 7ef7d99 - Browse repository at this point
Copy the full SHA 7ef7d99View commit details -
Provide easy registration of C++ TurboModules in rn-tester Android (f…
…acebook#35225) Summary: Pull Request resolved: facebook#35225 Changelog: [Android] [Changed] - Provide easy registration of C++ TurboModules in rn-tester Android Reviewed By: javache Differential Revision: D41069277 fbshipit-source-id: 450de9302df2916acf324d4c316996b185b2833f
Configuration menu - View commit details
-
Copy full SHA for 775d5cd - Browse repository at this point
Copy the full SHA 775d5cdView commit details -
fix: Change checkout cache strategy (facebook#35259)
Summary: This PR updates he cache strategy for the `checkout_with_cache command`. The previous strategy was using three keys in descending priority order to restore from the cache: * `<< parameters.checkout_base_cache_key >>-{{ arch }}-{{ .Branch }}-{{ .Revision }}` * `<< parameters.checkout_base_cache_key >>-{{ arch }}-{{ .Branch }}` *`<< parameters.checkout_base_cache_key >>-{{ arch }}` When it saves, it always saves using the first key. The restore works as it follows: 1. It tries to restore the cache using the first key 2. If it fails, it checks whether there is a cache hit for a key that matches the second key as a pattern 3. If it fails, it checks whether there is a cache hit for a key that matches the third pattern 4. Otherwise, it is a cache miss. This does not work well. Imagine that you submit some code in commit `xxxx` for branch `abc`. The CI run the first time, it misses all the three keys and checks out the code normally. Then, it stores the checked out code in the `checkout_key-abc-xxxx` key. Then, you submit a commit `yyyy` in the same branch. The CI starts, it tries with the key `checkout_key-abc-yyyy` but it misses It tries with the key `checkout_key-abc` and it finds the cache for `checkout_key-abc-xxxx` and it restores it, forgetting about your changes. While doing the release, we created a tag in a commit X. Then we manually had to remove it, but the CI had a cached version of .git with the tag for the `0.71-stable` branch. And the release failed because the tag was already existing. ### Why this should work With this solution, we are going to cache using the commit. If there is no cache for a specific commit, it will be a miss. It won't try to be smart and retrieve the code from previous caches. This should prevent stale caches and if we manually remove a tag, and then we do a new commit, it should work. This is a good trade-off that allows to pay the checkout cost only for the first batch of jobs of the pipeline. **NOTE:** This still won't work if we don't do a new commit. ## Changelog [General] [Fixed] - Change Cache strategy to avoid cache bumps in Release Pull Request resolved: facebook#35259 Test Plan: 1. CircleCI must be green Reviewed By: jacdebug Differential Revision: D41120895 Pulled By: cipolleschi fbshipit-source-id: 2b45da01803197dbe4a25a313a9dfc53a976d096
Configuration menu - View commit details
-
Copy full SHA for 79bb531 - Browse repository at this point
Copy the full SHA 79bb531View commit details -
Bump OSS Android build to SDK 33 (facebook#35196)
Summary: Pull Request resolved: facebook#35196 Changelog: [Android][Changed] - Bump Android compile and target SDK to 33 Reviewed By: cortinico Differential Revision: D41007003 fbshipit-source-id: e7866107fdcfafa778faa6c7f31835b8dd15647a
Configuration menu - View commit details
-
Copy full SHA for d587e0c - Browse repository at this point
Copy the full SHA d587e0cView commit details -
react-native code-gen > Add a C++ only TurboModule example (for Andro…
…id/iOS/macOS/Windows) (facebook#35138) Summary: Pull Request resolved: facebook#35138 Changelog: [General][Added] - Add a C++ only TurboModule example (for Android/iOS/macOS/Windows) react-native@0.69 introduced a new bridging layer to ease integration for pure C++ TurboModules using C++ std:: types directly instead of the lower level jsi:: types: https://github.com/facebook/react-native/tree/v0.69.0/ReactCommon/react/bridging This bridging layer can be used in JSI functions or more conveniently in C++ TurboModules. Here is a example of an C++ only TurboModule which will work on Android and iOS and macOS/Windows (using microsoft/react-native-macos|windows) only using flow/TypeScript and standard C++ types. C++ only TurboModules are very handy as they do not require to work with JSI APIs - instead std:: or custom C++ can by used. Reviewed By: javache Differential Revision: D39011736 fbshipit-source-id: 84c833d8540671fde8505f1aeb0265074b248730
Configuration menu - View commit details
-
Copy full SHA for c63ea4c - Browse repository at this point
Copy the full SHA c63ea4cView commit details -
Exclude PerformanceObserver from flow/haste
Summary: [Changelog][Internal] This is to prevent an accidental use of PerformanceObserver while it's still a work in progress. PerformanceObserver is also moved into a dedicated folder, `Libraries/WebPerformance`. Reviewed By: rubennorte Differential Revision: D40978749 fbshipit-source-id: 09645a95bed72902870ebc00c1b4a3d81ab4c829
Configuration menu - View commit details
-
Copy full SHA for 8c488d8 - Browse repository at this point
Copy the full SHA 8c488d8View commit details -
Refactor PerformanceObserver public API
Summary: Changelog: [Internal] This is a follow-up to D40892974 (facebook@a671d61), addressing the post-land comments and discussions. Reviewed By: rubennorte Differential Revision: D40979654 fbshipit-source-id: 2e7e1d24be8211cc3363a07678745039e5606d8d
Configuration menu - View commit details
-
Copy full SHA for d02b513 - Browse repository at this point
Copy the full SHA d02b513View commit details -
JS side implementation of PerformanceObserver API
Summary: [Changelog][Internal] This adds module specs for the native part of PerformanceObserver, as well as the interaction logic vs the NativePerformanceObserver API. See https://fb.quip.com/MdqgAk1Eb2dV for more detail. Reviewed By: rubennorte Differential Revision: D40897006 fbshipit-source-id: 77475f21dad9ee9dbe15df5a989eb08d314e6db2
Configuration menu - View commit details
-
Copy full SHA for ea0cd5b - Browse repository at this point
Copy the full SHA ea0cd5bView commit details -
Scaffolding for the PerformanceObserver TurboModule (C++ side) (faceb…
…ook#35226) Summary: Pull Request resolved: facebook#35226 Changelog: [Internal] This adds scaffolding for the C++ side of NativePerformanceObserver module. Thanks to christophpurrer for helping set this up, as this is the first one of this kind inside core/OSS. Reviewed By: rubennorte Differential Revision: D41028555 fbshipit-source-id: 4acf0e71a254a42044cbbe5f94f40938342c6aa2
Configuration menu - View commit details
-
Copy full SHA for b310f2b - Browse repository at this point
Copy the full SHA b310f2bView commit details -
Fix Cpp codegen handling of optional arguments
Summary: Changelog: [General][Fixed] - Codegen for C++ TurboModules of optional method arguments was incorrect Reviewed By: christophpurrer Differential Revision: D40979066 fbshipit-source-id: 5bb48dbafc14dcea21b7e0b15e3f4bb527bc8476
Configuration menu - View commit details
-
Copy full SHA for df737b0 - Browse repository at this point
Copy the full SHA df737b0View commit details -
refactor(react-native-github): move ImagePickerIOS to internal (faceb…
…ook#35199) Summary: Pull Request resolved: facebook#35199 **Changelog:** [iOS][Removed] - Removed ImagePickerIOS module native sources [JS][Removed] - Removed ImagePickerIOS module from react-native Reviewed By: cortinico Differential Revision: D40859520 fbshipit-source-id: a6a114a05574d46ea62600999bff95025ba7cdc8
Configuration menu - View commit details
-
Copy full SHA for adcdb36 - Browse repository at this point
Copy the full SHA adcdb36View commit details -
react-native code-gen > C++ TurboModules struct support (facebook#35265)
Summary: Pull Request resolved: facebook#35265 This adds a templating layer for C++ TurboModules to automatically generate struct templates from TurboModule specs. You have to define concrete types for those templates to use them in your C++ TurboModule. E.g. for the JS flow type: ``` export type ObjectStruct = {| a: number, b: string, c?: ?string, |}; ``` code-gen will now generate the following template code: ``` #pragma mark - NativeCxxModuleExampleCxxBaseObjectStruct template <typename P0, typename P1, typename P2> struct NativeCxxModuleExampleCxxBaseObjectStruct { P0 a; P1 b; P2 c; bool operator==(const NativeCxxModuleExampleCxxBaseObjectStruct &other) const { return a == other.a && b == other.b && c == other.c; } }; template <typename P0, typename P1, typename P2> struct NativeCxxModuleExampleCxxBaseObjectStructBridging { static NativeCxxModuleExampleCxxBaseObjectStruct<P0, P1, P2> fromJs( jsi::Runtime &rt, const jsi::Object &value, const std::shared_ptr<CallInvoker> &jsInvoker) { NativeCxxModuleExampleCxxBaseObjectStruct<P0, P1, P2> result{ bridging::fromJs<P0>(rt, value.getProperty(rt, "a"), jsInvoker), bridging::fromJs<P1>(rt, value.getProperty(rt, "b"), jsInvoker), bridging::fromJs<P2>(rt, value.getProperty(rt, "c"), jsInvoker)}; return result; } static jsi::Object toJs( jsi::Runtime &rt, const NativeCxxModuleExampleCxxBaseObjectStruct<P0, P1, P2> &value) { auto result = facebook::jsi::Object(rt); result.setProperty(rt, "a", bridging::toJs(rt, value.a)); result.setProperty(rt, "b", bridging::toJs(rt, value.b)); if (value.c) { result.setProperty(rt, "c", bridging::toJs(rt, value.c.value())); } return result; } }; ``` and you can use it in our C++ TurboModule for example as: ``` using ObjectStruct = NativeCxxModuleExampleCxxBaseObjectStruct< int32_t, std::string, std::optional<std::string>>; template <> struct Bridging<ObjectStruct> : NativeCxxModuleExampleCxxBaseObjectStructBridging< int32_t, std::string, std::optional<std::string>> {}; ``` or as ``` using ObjectStruct = NativeCxxModuleExampleCxxBaseObjectStruct< float, folly::StringPiece, std::optional<std::string>>; template <> struct Bridging<ObjectStruct> : NativeCxxModuleExampleCxxBaseObjectStructBridging< float, folly::StringPiece, std::optional<std::string>> {}; ``` Or as ... Changelog: [Internal] Reviewed By: rshest Differential Revision: D41133761 fbshipit-source-id: fdf36e51073cb46c5234f6121842c79a884899c7
Configuration menu - View commit details
-
Copy full SHA for 08430bf - Browse repository at this point
Copy the full SHA 08430bfView commit details -
deps(cli): "backport" CLI bump into main from 0.71 (facebook#35260)
Summary: This is just a PR to realign main branch (and put it ahead) of a local change we did in 0.71: facebook@741d102 ## Changelog <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see: https://reactnative.dev/contributing/changelogs-in-pull-requests --> [General] [Changed] - Bump CLI to v10 alpha5 Pull Request resolved: facebook#35260 Test Plan: N/A Reviewed By: christophpurrer Differential Revision: D41122011 Pulled By: cipolleschi fbshipit-source-id: 8f01ed94bfd39d58b2e54cd2945fcca5bb8ebd18 # Conflicts: # package.json # yarn.lock
Configuration menu - View commit details
-
Copy full SHA for 4eda46f - Browse repository at this point
Copy the full SHA 4eda46fView commit details -
Fix variable expansion in ReactNative-application.cmake (facebook#35306)
Summary: Hi, while adjusting [react-native-screens](https://github.com/software-mansion/react-native-screens) to `0.71.0-rc.0` I encountered the same problems as reported [here](reactwg/react-native-releases#41 (reply in thread)) by WoLewicki. Basically inside `CMake`'s `foreach` loop iterator variable is not being expanded to the actual value: ```cmake foreach(autolinked_library ${AUTOLINKED_LIBRARIES}) target_link_libraries(autolinked_library common_flags) // <-- here we are literally linking to "autolinked_library". endforeach() ``` ## Changelog [Android] [Fixed] - Fix Android autolinking failing because of not expanded variable Pull Request resolved: facebook#35306 Reviewed By: christophpurrer, cipolleschi Differential Revision: D41220408 Pulled By: rshest fbshipit-source-id: 12ce993f0c5227ca7d3c2cc272fe3739126930b3
Configuration menu - View commit details
-
Copy full SHA for 99bcbad - Browse repository at this point
Copy the full SHA 99bcbadView commit details -
Revert "[Fix] Make sure to export a single version for hermes artifac…
…ts and wipe Podfile.lock while in release" This reverts commit 41bf725.
Configuration menu - View commit details
-
Copy full SHA for 3624b47 - Browse repository at this point
Copy the full SHA 3624b47View commit details -
Remove version from the tarball (facebook#35285)
Summary: Pull Request resolved: facebook#35285 While doing the release 0f 0.71.0-RC0, we noticed that having the RN version in the hermes tarball was causing more harm than good. With the version in the name, we ended up with multiple tarballs for debug and release and we were not able to explicitly pick the right tarball given a build. This change remove the version from the tarball name. ## Changelog [General][Changed] - Remove React Native version from Hermes tarball name Reviewed By: lunaleaps Differential Revision: D41156353 fbshipit-source-id: 8899d5e1e1555bc728d923f3b78d1261e6ff09c7
Configuration menu - View commit details
-
Copy full SHA for 5e5d29e - Browse repository at this point
Copy the full SHA 5e5d29eView commit details -
Add Dynamic Type support for iOS (Paper and Fabric) (facebook#35017)
Summary: This adds Dynamic Type support in iOS as described [here](react-native-community/discussions-and-proposals#519). `Text` elements have a new prop, `dynamicTypeRamp`, that allows users to specify which font ramp a particular `Text` element should take on as the OS's accessibility setting for text size. The different types line up with different values of `UIFontTextStyle`. If not specified, we default to the current behavior. ~~For the moment, this change is only for Paper. I tried applying a corresponding change to Fabric by adding an additional field to [`facebook::react::TextAttributes`](https://github.com/facebook/react-native/blob/main/ReactCommon/react/renderer/attributedstring/TextAttributes.h) and changing [`RCTEffectiveFontSizeMultiplierFromTextAttributes`](https://github.com/facebook/react-native/blob/afb124dcf0cdf0db525acc7cfd2cea2742c64068/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.mm#L79-L84) to use that new field, but in the process I discovered that this function doesn't seem to ever get called, hence [this bug](facebook#34990 ## Changelog [iOS] [Added] - Dynamic Type support Pull Request resolved: facebook#35017 Test Plan: Validated with a test page in RNTester. Screenshots follow: A) Default text size B) Largest non-accessibility text size C) Largest accessibility text size, split across two screenshots due to size | A | B | C | |-|-|-| | ![Simulator Screen Shot - iPad (9th generation) - 2022-10-18 at 16 17 08](https://user-images.githubusercontent.com/717674/196562746-c8bbf53d-3c70-4e55-8600-0cfed8aacf5d.png) | ![Simulator Screen Shot - iPad (9th generation) - 2022-10-18 at 16 17 55](https://user-images.githubusercontent.com/717674/196563051-68bb0e34-c573-47ed-8c19-58ae45a7ce2b.png) | ![Simulator Screen Shot - iPad (9th generation) - 2022-10-18 at 16 18 33](https://user-images.githubusercontent.com/717674/196563185-61ede5ee-e79e-4af5-84a7-8f1e230a25f8.png) | ||| ![Simulator Screen Shot - iPad (9th generation) - 2022-10-18 at 16 18 42](https://user-images.githubusercontent.com/717674/196563208-2242efa2-5f24-466d-80f5-eb57a7678a67.png) | Reviewed By: sammy-SC Differential Revision: D40779346 Pulled By: NickGerleman fbshipit-source-id: efc7a8e9810a93afc82c5def97af15a2e8453d90 # Conflicts: # packages/rn-tester/Podfile.lock
Configuration menu - View commit details
-
Copy full SHA for 8d11cb4 - Browse repository at this point
Copy the full SHA 8d11cb4View commit details -
Incorporate gap space into main axis overflow flag (facebook#1173)
Summary: X-link: facebook/yoga#1173 In facebook#35351 we see incorrect child item height when the flex-wrap is enabled, the cross-axis is to be stretched, and main-axis overflow is caused by gap. In YGDistributeFreeSpaceSecondPass, if we do not have overflow (determined by flexBasisOverflows), we have stretch cross-alignment, and we reason that nothing can add to main axis dimensions, we know we're a single line and want to take full cross dimensions. and can set YGMeasureModeExactly which uses parent dimensions. Guessing an optimization? If we do have overflow, then we set YGMeasureModeAtMost to find minimum possible cross-axis dimensions instead. `flexBasisOverflows` incorporates both computed flex basis, and margin, so it is more generally a flag for whether we will wrap. So we should incorporate gap spacing into it. E.g. it is also used for whether we should the match main axis parent dimension of the overall container. This change does just that, and renames the flag to `mainAxisOverflows`. We will want to cherry-pick the fix for this into RN 0.71 since we have not yet introduced the community to the incorrect behavior, and we expect a lot of usage of flex-gap. Changelog: [General][Fixed] - Fix incorrect height when gap causes main axis to overflow and cross-axis is stretched Reviewed By: yungsters Differential Revision: D41311424 fbshipit-source-id: bd0c3b5aac478a56878703b6da84fc3993cc14da
Configuration menu - View commit details
-
Copy full SHA for 41c56db - Browse repository at this point
Copy the full SHA 41c56dbView commit details -
Configure BlobModule as proper TurboModule
Summary: This change puts back D40716048 (facebook@279cfec) but in the right way, i.e. modifying the script that should generate those changes. ## Changelog [iOS][Added] - Make the blobs proper TM Reviewed By: dmytrorykun Differential Revision: D41312160 fbshipit-source-id: 38850a63eb8d66ffd179743b4948a23340c8782e
Configuration menu - View commit details
-
Copy full SHA for adfd21e - Browse repository at this point
Copy the full SHA adfd21eView commit details -
Fixup template devDependencies (facebook#35372)
Summary: Fixes missing/incorrect devDependencies in a newly built app. The previous set did not pull in prettier, causing linting to fail. There was a peerDependency warning on yarn install. We also saw a separate lint warning at runtime specific to TS 4.9 being pulled in now, so we constrain in that version a bit. Prettier and preset-env versions match the constraints and lockfiles of other RN packages. ## Changelog [General] [Fixed] - Fixup template devDependencies Pull Request resolved: facebook#35372 Test Plan: Created a new app targeting 0.71 via `react-native init`. 1. `yarn install --force` no longer shows warnings 2. `prettier` is installed, `yarn lint` no longer fails, and shows no warnings or errors 3. ~Tentatively a test step to add tests against linting in new app, but last time doing that in CircleCI led to timeouts with no output that I didn't have time to debug, so maybe that's fixed now? �♀️.~ (edit: still hangs) Reviewed By: NickGerleman Differential Revision: D41363021 Pulled By: lunaleaps fbshipit-source-id: d6163b01e8934d75a231fa0fd849d7bde7b3500c
Configuration menu - View commit details
-
Copy full SHA for ea22ee6 - Browse repository at this point
Copy the full SHA ea22ee6View commit details -
Resolve android crash on display modal (facebook#35380)
Summary: From exception logging, found crashes due to `Attempt to invoke virtual method 'int android.view.ViewGroup.getChildCount()' on a null object reference`. Tracing through the stack, it appears the constructor for `ViewGroup` conditionally calls `initializeScrollbarsInternal()`, which in turn calls `getChildCount()`. However `ReactModalHostView` overrides `getChildCount()`, so `getChildCount()` is called before `ReactModalHostView` constructor completes, resulting in null reference when accessing `mHostView` from `getChildCount()`. ## Changelog <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see: https://reactnative.dev/contributing/changelogs-in-pull-requests --> [Android] [Fixed] - Fix crash on initialize modal Pull Request resolved: facebook#35380 Test Plan: In the rn-tester project, display a modal. Reviewed By: javache, cipolleschi Differential Revision: D41392235 Pulled By: ryancat fbshipit-source-id: ce78e4d458ad41769e78139ea0a8a038384e830d
Configuration menu - View commit details
-
Copy full SHA for 16c32f9 - Browse repository at this point
Copy the full SHA 16c32f9View commit details -
Void the Maven coordinates for react-native and hermes-engine (facebo…
…ok#35379) Summary: Pull Request resolved: facebook#35379 This diff moves the publishing coordinates from: ``` com.facebook.react:react-native com.facebook.react:hermes-engine ``` to ``` com.facebook.react:react-android com.facebook.react:hermes-android ``` I've picked those they are the most layout friendly when building from source, but we can discuss if we want others. I've updated the Gradle plugin to have a dependencySubstitution rule + update the template with those changes. It should now be possible to still use `implementation("com.facebook.react:react-native:+")` inside libraries on 0.71+ and RNGP will resolve dependencies correctly. Changelog: [Android] [Changed] - Void the Maven coordinates for react-native and hermes-engine Reviewed By: cipolleschi Differential Revision: D41380525 fbshipit-source-id: 91e059fa261acb89bee7ca0c79c30c3d856a2c80
Configuration menu - View commit details
-
Copy full SHA for e5fba33 - Browse repository at this point
Copy the full SHA e5fba33View commit details -
fix(template): reference App.tsx vs App.js in template text (facebook…
…#35377) Summary: The template has moved to typescript now, the self-reference needed an update ## Changelog <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see: https://reactnative.dev/contributing/changelogs-in-pull-requests --> [GENERAL] [FIXED] - reference App.tsx vs App.js in text of new typescript template Pull Request resolved: facebook#35377 Test Plan: It is just a text change - it either makes sense or it doesn't. I think it makes sense? Reviewed By: cipolleschi Differential Revision: D41386912 Pulled By: NickGerleman fbshipit-source-id: 6e62c11567e8fbff70b123446a827b18af43e864
Configuration menu - View commit details
-
Copy full SHA for c36c33c - Browse repository at this point
Copy the full SHA c36c33cView commit details -
Abort pod install if bad HERMES_ENGINE_TARBALL_PATH is set
Summary: Changelog: [iOS][Changed] - Abort pod install if bad HERMES_ENGINE_TARBALL_PATH is set. Reviewed By: cipolleschi Differential Revision: D41341471 fbshipit-source-id: 34a3ac154b0a3f795d07dcd10f92361cb9bb4ad6
Configuration menu - View commit details
-
Copy full SHA for cd87542 - Browse repository at this point
Copy the full SHA cd87542View commit details -
Fix: Avoid path in the template import (facebook#35394)
Summary: Investigating [this comment](reactwg/react-native-releases#41 (comment)), I made some tests. It seems like we can simply use `#import <RCTAppDelegate.h>` instead of the `#import <React-RCTAppDelegate/RCTAppDelegate.h>` in both setups: - default setup - `use_frameworks! :linkage => :static` ## Changelog [iOS] [Fixed] - Support `use_framework! :linkage => :static` in template Pull Request resolved: facebook#35394 Test Plan: 1. Manually tested with a new app 2. CircleCI 3. Sandcastle Reviewed By: cortinico Differential Revision: D41402060 Pulled By: cipolleschi fbshipit-source-id: e1ed8196ed860b3663a88f5283f2745e39b0e944
Configuration menu - View commit details
-
Copy full SHA for 61baa75 - Browse repository at this point
Copy the full SHA 61baa75View commit details -
Read
.ruby-version
file inGemfile
(facebook#35410)Summary: When updating the Ruby version, 2 files are always needed to be updated (`.ruby-version` and `Gemfile`). When not in sync it can lead to an error like `Your Ruby version is 2.7.6, but your Gemfile specified 2.7.5`. This lessens the files that need to be updated when upgrading the Ruby version and makes it in sync always. It makes the `.ruby-version` the source of truth. ### Example 1: <img width="481" alt="Screenshot 2022-11-20 at 13 56 08" src="https://user-images.githubusercontent.com/36528176/202888191-450ab6d0-32a4-4d37-ad82-0beb2b22fa82.png"> When upgrading from `0.70.0` to `0.71.0-rc.0`. 2 files needs to be updated when it could have been just 1. Source: https://react-native-community.github.io/upgrade-helper/?from=0.70.0&to=0.71.0-rc.0 ### Example 2: 21c8837 updates 4 files (`.ruby-version`, `Gemfile`, `template/Gemfile`, `template/_ruby-version`) when it could have been just 2. ### Other Sources: * https://andycroll.com/ruby/read-ruby-version-in-your-gemfile/ * https://render.com/docs/ruby-version (Heroku alternative) * https://stackoverflow.com/a/35823132/9375533 ## Changelog [General] [Changed] - Read `.ruby-version` file in `Gemfile` Pull Request resolved: facebook#35410 Test Plan: Only `.ruby-version` and `template/_ruby-version` needs to be updated when upgrading Ruby version. Reviewed By: christophpurrer, cipolleschi Differential Revision: D41429147 Pulled By: rshest fbshipit-source-id: 9e541a1d84aed5dca1e6f465c61bb0ba15574211
Configuration menu - View commit details
-
Copy full SHA for 362e197 - Browse repository at this point
Copy the full SHA 362e197View commit details -
Various fixes for Hermes build-from-source behaviour
Summary: Original title: **[RN] Do not encode path to cmake in hermes-engine Pod, build hermesc in prepare_pods** The result of `#{%x(command -v cmake | tr -d '\n')}` was being encoded into the `hermes-engine` Pod. This can lead to conflicts in the CocoaPods cache when `pod install` is run on different machines. Instead of running the command during `pod install`, we defer to the actual build scripts so they can find `cmake` when `$CMAKE_BINARY` is not set. More importantly, this fixes an issue that crept into the Sandcastle CocoaPods offline mirrors, but which would only manifest itself when people run `js1 oss prepare-pods`. RNTester would not build due to RNTesterPods.xcworkspace being configured to use cmake from an arbitrary path instead of using the cmake from $PATH. This does not affect Sandcastle due to `CMAKE_BINARY` getting overriden in Sandcastle. --- **Update** by dmytrorykun: It is impossible to address the problem described in the original title by simply adding `CMAKE_BINARY=${CMAKE_BINARY:-cmake}` to `build-hermes-xcode.sh`. This script is supposed to run from Xcode. Since Xcode doesn't have access to system `PATH` variable, it is unable to locate `cmake`, and build fails. However this diff contains other useful changes: 1. Remove trailing newline in `cmake` path in `build-hermes-xcode.sh`. 2. Fix inverted logic in `copy-hermes-xcode.sh`. 3. Fix typo in `remove xcuserdata` step in Sandcastle. 4. Remove unused `HERMES_DISABLE_HERMESC_BUILD`. Changelog: [iOS] [Fixed] - Various fixes for Hermes build-from-source behaviour. Reviewed By: cipolleschi Differential Revision: D41139384 fbshipit-source-id: 4a4a44a7ac201d279718d84cd02d60b4eaf3956b
Configuration menu - View commit details
-
Copy full SHA for 572ada9 - Browse repository at this point
Copy the full SHA 572ada9View commit details -
chore: fail prepare package for release if tag exists (facebook#35305)
Summary: This PR makes sure that the `preapre_package_for_release` script fail fast if there is already a tag for the desired version on github. ## Changelog [General] [Added] - Make the `prepare_package_for_release` fail if there is already a git tag with that version Pull Request resolved: facebook#35305 Test Plan: Tested manually. The script is currently only invoked during the release process. <img width="1238" alt="Screenshot 2022-11-10 at 12 24 03" src="https://user-images.githubusercontent.com/11162307/201090947-274c1b1c-0b6a-4619-bc85-fa60e5eaeee1.png"> Reviewed By: cortinico Differential Revision: D41403159 Pulled By: cipolleschi fbshipit-source-id: fb87df345b14568c750482e5c68be53551a9acbb # Conflicts: # scripts/release-utils.js
Configuration menu - View commit details
-
Copy full SHA for c9fd1dd - Browse repository at this point
Copy the full SHA c9fd1ddView commit details -
Improve version checks to avoid mistakes in the versioning (facebook#…
…35296) Summary: Pull Request resolved: facebook#35296 This change adds some version checks and enforces that every version matches some specific format based on the build type we are trying to run. ## Changelog [General][Changed] - Improve version checks Reviewed By: cortinico Differential Revision: D41161756 fbshipit-source-id: 4172195c5e031c1eaf7b33bb74f381c04e9adaf5
Configuration menu - View commit details
-
Copy full SHA for 0ad1c53 - Browse repository at this point
Copy the full SHA 0ad1c53View commit details -
Configuration menu - View commit details
-
Copy full SHA for 05646f8 - Browse repository at this point
Copy the full SHA 05646f8View commit details -
Configuration menu - View commit details
-
Copy full SHA for ceaebc6 - Browse repository at this point
Copy the full SHA ceaebc6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 67c373f - Browse repository at this point
Copy the full SHA 67c373fView commit details -
Configuration menu - View commit details
-
Copy full SHA for e809e4b - Browse repository at this point
Copy the full SHA e809e4bView commit details -
Fix avoid forcing podspec versions (facebook#35274)
Summary: This is a backport of [this](facebook@becb47c) local fix we made on 0.71-stable. All our podspecs delegates to the main React Native pods script to set up the dependencies properly. The React-Codegen.podspec, which is generated by the script itself, was generated with hardcoded dependencies. This PR aligns the versioning with the other podspec. On a side note, this could create issues in CI and when releaseing, because we are changing the versions to prepare the new release and it breaks some steps. ## Changelog [iOS] [Fixed] - Make sure that the React-Codegen.podspec does not enforce specific versions of its dependencies. Pull Request resolved: facebook#35274 Test Plan: 1. Ruby tests are passing 2. Manually tested that pods are correctly installed in the following configurations - RNTester - Hermes - Old Architecture - RNTester - Hermes - New Architecture - RNTester - JSC - Old Architecture - RNTester - JSC - New Architecture Reviewed By: christophpurrer Differential Revision: D41153859 Pulled By: cipolleschi fbshipit-source-id: 043513866a66ecca3e326f8671bea3ec576422de # Conflicts: # scripts/cocoapods/codegen_utils.rb
Configuration menu - View commit details
-
Copy full SHA for 78c8e49 - Browse repository at this point
Copy the full SHA 78c8e49View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6107793 - Browse repository at this point
Copy the full SHA 6107793View commit details -
[LOCAL] bypass tag check in dry run (facebook#35428)
Riccardo authoredNov 22, 2022 Configuration menu - View commit details
-
Copy full SHA for ba1a9de - Browse repository at this point
Copy the full SHA ba1a9deView commit details -
[LOCAL] fix copy-hermes-xcode.sh
Dmitry Rykun committedNov 22, 2022 Configuration menu - View commit details
-
Copy full SHA for fc1dbb8 - Browse repository at this point
Copy the full SHA fc1dbb8View commit details -
Riccardo Cipolleschi committed
Nov 22, 2022 Configuration menu - View commit details
-
Copy full SHA for a7792da - Browse repository at this point
Copy the full SHA a7792daView commit details -
Remove
HERMES_BUILD_FROM_SOURCE
flag (facebook#35397)Summary: Pull Request resolved: facebook#35397 This Diff removes the `HERMES_BUILD_FROM_SOURCE` that was not always propagated to the original script. This lead to some cases where hermesC was built during `pod install` and then removed by the `react_native_post_install`'s `else` branch. Basically, when the Pods are installed the first time, everything run smoothly. Subsequent invocations of `pod install`, to install other dependencies, for example, will incur in this problem because: 1. Cocoapods will see that hermes-engine is already installed 2. the podspec is not executed, given that the pod has been fetched from the cache 3. The env var is not set (given that the podspec is not executed) 4. the main script sees the env var as not set, `ENV['HERMES_BUILD_FROM_SOURCE'] == "1"` return false 5. The `else` branch is executed, and it removes the `hermesc_build_dir` and the `copy Hermes framework` script phase. [iOS][Changed] - Remove `HERMES_BUILD_FROM_SOURCE` flag Reviewed By: cortinico, dmytrorykun Differential Revision: D41373439 fbshipit-source-id: ea4aafd187c0ca3ff5c0d79f8aeaaa46ad50f499
Configuration menu - View commit details
-
Copy full SHA for 8f2c7ff - Browse repository at this point
Copy the full SHA 8f2c7ffView commit details -
Configuration menu - View commit details
-
Copy full SHA for 18b847f - Browse repository at this point
Copy the full SHA 18b847fView commit details
Commits on Nov 23, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 9979e38 - Browse repository at this point
Copy the full SHA 9979e38View commit details -
[0.71.0-rc.1] Bump version numbers
Distiller committedNov 23, 2022 Configuration menu - View commit details
-
Copy full SHA for 79f7857 - Browse repository at this point
Copy the full SHA 79f7857View commit details
Commits on Nov 24, 2022
-
Fix removing Copy Hermes Framework script phase
Summary: Changelog: [iOS][Fixed] - Remove `Copy Hermes Framework` script phase for non-Hermes build. Reviewed By: hramos Differential Revision: D41051076 fbshipit-source-id: b4b92330934e950ec3156f39f3807b90f803c1ba
Configuration menu - View commit details
-
Copy full SHA for 1739139 - Browse repository at this point
Copy the full SHA 1739139View commit details -
Remove hermesc build dir for non-Hermes build
Summary: Changelog: [iOS][Fixed] - Remove hermesc build dir for non-Hermes build. Reviewed By: christophpurrer Differential Revision: D41052884 fbshipit-source-id: c9e85ca06cef79fa35e81972181558d44ca93d90
Configuration menu - View commit details
-
Copy full SHA for 0d90a44 - Browse repository at this point
Copy the full SHA 0d90a44View commit details -
[LOCAL] Use the right logic for build from source
Riccardo Cipolleschi committedNov 24, 2022 Configuration menu - View commit details
-
Copy full SHA for 49c0267 - Browse repository at this point
Copy the full SHA 49c0267View commit details -
[LOCAL] Bump Podfile.lock to avoid failures when testing/in ci
Riccardo Cipolleschi committedNov 24, 2022 Configuration menu - View commit details
-
Copy full SHA for aa2b243 - Browse repository at this point
Copy the full SHA aa2b243View commit details -
[0.71.0-rc.2] Bump version numbers
Distiller committedNov 24, 2022 Configuration menu - View commit details
-
Copy full SHA for 38465f2 - Browse repository at this point
Copy the full SHA 38465f2View commit details
Commits on Nov 29, 2022
-
RNGP - Correctly Support Gradle Configuration Cache (facebook#35455)
Summary: Pull Request resolved: facebook#35455 This little change allows to support Gradle Configuration cache in user projects: https://docs.gradle.org/current/userguide/configuration_cache.html It allows to save several seconds on the build time. We'll keep it disabled for now, but Gradle plans to enable it by default for everyone in the future, so this changes makes us ready for it. Changelog: [Internal] [Changed] - RNGP - Correctly Support Gradle Configuration Cache Reviewed By: cipolleschi Differential Revision: D41519506 fbshipit-source-id: 6252546e811deb0777c0aab5332291368be7fa8f
Configuration menu - View commit details
-
Copy full SHA for 658d7dd - Browse repository at this point
Copy the full SHA 658d7ddView commit details -
Consolidate hermes-executor-debug and -release inside a single target (…
…facebook#35454) Summary: Pull Request resolved: facebook#35454 Historically, we used to have hermes-executor debug and release as separate dynamic libraries. This makes it impossible to prefab this library, so I have to reconcile it into a single library. This will also help keep the setup consistent with the internal (BUCK) where we have a single target. Changelog: [Internal] [Changed] - Consolidate hermes-executor-debug and -release inside a single target Reviewed By: cipolleschi Differential Revision: D41519119 fbshipit-source-id: d9ddc30b72164daa29c735836ea433fd4d917fc8
Configuration menu - View commit details
-
Copy full SHA for b1bf8c5 - Browse repository at this point
Copy the full SHA b1bf8c5View commit details -
Expose
hermes-executor
to be consumed via prefab (facebook#35457)Summary: Pull Request resolved: facebook#35457 This exposes `hermes-executor` to be consumed via prefab so that libraries can depend on it and use its symbols if needed (Expo and Reanimated need it). Changelog: [Internal] [Changed] - Expose `hermes-executor` to be consumed via prefab Reviewed By: cipolleschi Differential Revision: D41520019 fbshipit-source-id: d590a043ea89fdd8ff41b0ed20900c9cf381a1e4
Configuration menu - View commit details
-
Copy full SHA for b89efc8 - Browse repository at this point
Copy the full SHA b89efc8View commit details -
Add prefab for _uimanager _scheduler and _mounting (facebook#35458)
Summary: Pull Request resolved: facebook#35458 We're adding prefab support for those modules as they're needed by Reanimated and we're exposing headers for them as well. Changelog: [Internal] [Changed] - Add prefab for _uimanager _scheduler and _mounting Reviewed By: cipolleschi Differential Revision: D41520606 fbshipit-source-id: 76f3c81705e99057b92cd9b86d0601a2b1410f95
Configuration menu - View commit details
-
Copy full SHA for f279474 - Browse repository at this point
Copy the full SHA f279474View commit details -
Add missing headers to
react_nativemodule_core
prefab module (faceb……ook#35460) Summary: Pull Request resolved: facebook#35460 Reanimated reported that `react_nativemodule_core` was missing some headers. Specifically the one from ReactAndroid::react_debug, ReactAndroid::react_render_core, ReactAndroid::glog, and ReactAndroid::react_render_debug. I'm adding them here so they get included in the shipped headers for `react_nativemodule_core` Changelog: [Internal] [Changed] - Add missing headers to `react_nativemodule_core` prefab module Reviewed By: cipolleschi Differential Revision: D41520751 fbshipit-source-id: 4627a2d0f880d4bb3ff2f0e43cd735cf9a3f2f9a
Configuration menu - View commit details
-
Copy full SHA for 9628e56 - Browse repository at this point
Copy the full SHA 9628e56View commit details -
Allow
reactnativejni
to be consumed via prefab (facebook#35461)Summary: Pull Request resolved: facebook#35461 This is another library which is adding prefab support as it's needed by Expo libraries and Reanimated. Changelog: [Internal] [Changed] - Allow `reactnativejni` to be consumed via prefab Reviewed By: cipolleschi Differential Revision: D41520801 fbshipit-source-id: 91142a5b5051cfba478d93a2475a178eed6fbb29
Configuration menu - View commit details
-
Copy full SHA for 804d2b5 - Browse repository at this point
Copy the full SHA 804d2b5View commit details -
Bump AGP to 7.4.x (facebook#35456)
Summary: Pull Request resolved: facebook#35456 Fixes facebook#35439 There is a bug in AGP 7.3.x which is causing assets to don't be copied properly inside the final artifact: issuetracker.google.com/issues/237421684 As AGP 7.4.x is really close to release (is in Beta5, should be released stable in the next weeks) we should be fine by bumping to beta5. This also requires a bump of RNGP Changelog: [Android] [Changed] - Bump AGP to 7.4.x allow-large-files Reviewed By: cipolleschi Differential Revision: D41519549 fbshipit-source-id: 60d568a3e49798a23f1d7bf4839ab58bd5549aba
Configuration menu - View commit details
-
Copy full SHA for 5cffb4f - Browse repository at this point
Copy the full SHA 5cffb4fView commit details -
Move JSCRuntime into its own folder (facebook#35482)
Summary: Pull Request resolved: facebook#35482 This change moves the JSCRuntime.h/cpp into a `jsc` folder. This change is required for several reasons: 1. on iOS, the new `jsi`, `jsidynamic` and `jsc` setup is breaking the `use_frameworks!` with `:linkage => :static` option with the old architecture. So it is a regression. 2. JSCRuntime is required by some libraries and needs to be exposed as a prefab and the current setup makes it hard to achieve. allow-large-files [General][Changed] - Move JSCRuntime into a separate pod/prefab Reviewed By: cortinico Differential Revision: D41533778 fbshipit-source-id: 642240c93a6c124280430d4f196049cb67cb130b
Configuration menu - View commit details
-
Copy full SHA for f283877 - Browse repository at this point
Copy the full SHA f283877View commit details -
Expose
jscruntime
to be consumed via PrefabSummary: This is the last library that we should expose via Prefab. Thanks to cipolleschi 's work here moving the file to `/ReactCommon/jsc` folder we can easily expose it to be consumed by third parties. Changelog: [Internal] [Changed] - Expose `jscruntime` to be consumed via Prefab Reviewed By: cipolleschi Differential Revision: D41534564 fbshipit-source-id: fb4b2d801def8caf71638dcb74eb87f8230984d4
Configuration menu - View commit details
-
Copy full SHA for a7a43f8 - Browse repository at this point
Copy the full SHA a7a43f8View commit details -
RNGP - Various improvements needed for 3rd party libs (facebook#35496)
Summary: Pull Request resolved: facebook#35496 This commit includes a series of fixes needed for better integration with libraries for 0.71: - I've added an `android/README.md` file as some libraries were failing the build if the folder was missing - RNGP now applies dep substitution on app and all the libraries project - RNGP now adds repositories on app and all the libraries project - I've removed the maven local repo to the `/android` folder as now is empty - I've fixed the path for the JSC repo for Windows users - I've added a bit of backward compat by re-adding an empty `project.react.ext` block that libraries might read from. - I've removed `codegenDir` from the `GenerateCodegenArtifactsTask` which was unused. Changelog: [Internal] [Changed] - RNGP - Various improvements needed for 3rd party libs Reviewed By: cipolleschi Differential Revision: D41549489 fbshipit-source-id: 2252da0180ac24fd3fe5a55300527da6781f0f8c
Configuration menu - View commit details
-
Copy full SHA for 67b74e7 - Browse repository at this point
Copy the full SHA 67b74e7View commit details -
Rename hermes-* target to don't use dashes (facebook#35506)
Summary: Pull Request resolved: facebook#35506 In our build we had a mixture of `_` and `-` to separate targets. Dashes don't play well with Gradle + as we expose them now via Prefab, let's stick to use only underscores Changelog: [Internal] [Changed] - Rename target to don't use dashes Reviewed By: cipolleschi Differential Revision: D41578938 fbshipit-source-id: 8aa44aa2dc7bf4822b45e5044532837b989817d2
Configuration menu - View commit details
-
Copy full SHA for 89cac88 - Browse repository at this point
Copy the full SHA 89cac88View commit details -
RNGP - Fix DependencyUtils for Windows support (facebook#35508)
Summary: Pull Request resolved: facebook#35508 It turns out that my previous diff hasn't really solved the Windows support. The problem is that we're not escaping the URI of the Maven Local repository properly on Windows. To overcome this, I'll instead use the `toURI()` Api of File to properly create a valid URI for a given folder. Changelog: [Internal] [Changed] - RNGP - Fix DependencyUtils for Windows support Reviewed By: cipolleschi Differential Revision: D41581849 fbshipit-source-id: 7905073c6daaf7c6a97405b3e6fb94b8f382234a
Configuration menu - View commit details
-
Copy full SHA for e108e9e - Browse repository at this point
Copy the full SHA e108e9eView commit details
Commits on Nov 30, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 4ba52ac - Browse repository at this point
Copy the full SHA 4ba52acView commit details -
fix(jest-env): pass
exportConditions
(facebook#35203)Summary: Like discussed in react-native-community/discussions-and-proposals#509, RN should override the default `node` and `node-addons` conditions. You might consider supporting (or just setting) [`customExportConditions`](https://github.com/facebook/jest/blob/4670d3be0d80d47844673eb163666253e788f006/packages/jest-environment-node/src/index.ts#L187-L189) instead, but the default of the node env should be overwritten 🙂 ## Changelog <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see: https://reactnative.dev/contributing/changelogs-in-pull-requests --> [General] [Changed] - use `'react-native'` export conditions in Jest environment Pull Request resolved: facebook#35203 Test Plan: Green CI? Reviewed By: lunaleaps Differential Revision: D41081783 Pulled By: jacdebug fbshipit-source-id: 844c70d92a58c5432ba5b9e5e99c8f50045ef8ac
Configuration menu - View commit details
-
Copy full SHA for b34bde2 - Browse repository at this point
Copy the full SHA b34bde2View commit details -
Fix hardcoded path to codegen cli for monorepos (facebook#35430)
Summary: Fixes facebook#35429 This fix is fairly straightforward. Instead of hardcoding two separate paths for this repo or a simple user's project, we ask Node to resolve `react-native-codegen`. Because `react-native-codegen` is moved [into the `/packages/*` folder](https://github.com/facebook/react-native/blob/main/package.json#L104), it's part of a workspace in this repository. That means that this fix works not only for monorepos in general but also resolves the right path within the react native repository. You can test this out yourself when running this command in either the root, or any other workspace in this repository: ```bash node --print "require('path').dirname(require.resolve('react-native-codegen/package.json'))" ``` I've tested this on Node 16 and 18, and seems to work nicely. Note that you _**have to specify `react-native-codegen/package.json`**_. That's because the `react-native-codegen` package itself is technically invalid; it's missing an entry point within the package (no `main`). When running `node --print "require.resolve('react-native-codegen')"` Node can't resolve the main entry point, and will fail during this process. ## Changelog <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see: https://reactnative.dev/contributing/changelogs-in-pull-requests --> [iOS] [Fixed] - Fix incorrect codegen CLI paths in monorepo projects Pull Request resolved: facebook#35430 Test Plan: See PR facebook#35429 Reviewed By: cortinico Differential Revision: D41475878 Pulled By: cipolleschi fbshipit-source-id: f0c362b64cf9c3543a3a031d7eaf302c1314e3f0
Configuration menu - View commit details
-
Copy full SHA for d7dd641 - Browse repository at this point
Copy the full SHA d7dd641View commit details -
fix: update CircleCI config to use the RN version in tarball caching (f…
…acebook#35471) Summary: This PR updates the Cache strategy for the tarballs to include the React Native version we are building. In this way, when we publish a new Release/RC we are sure that we are going to rebuild a nmew tarball. This should fix caching problems like: - we have misconfigured the build script for the Hermes tarball, we then fix it, but we distribute the wrong cached artifacts - the cached artifact has the wrong version ## Changelog [Internal] - Fixed Hermes Tarball Cache Logic Pull Request resolved: facebook#35471 Test Plan: 1. CircleCI The real way to check this is in the next RC cycle or in the next nightly. Reviewed By: cortinico Differential Revision: D41530651 Pulled By: cipolleschi fbshipit-source-id: 45e8fd3b62c8e108d393d9463ff6762dfc6d3ec8
Configuration menu - View commit details
-
Copy full SHA for d1831a7 - Browse repository at this point
Copy the full SHA d1831a7View commit details -
Allow react-native and expo to build when using GNU coreutils (facebo…
…ok#35382) Summary: See the issue at facebook#32432 (comment) This fixes a bizarre issue when using the GNU coreutils tools. There are very minor differences in the standard command-line tools on macOS and the GNU coreutils. The `cp` command has slightly different semantics across these operating systems, so this commit normalizes those differences and allows GNU coreutils to be used or the system native version of `cp`. Fixes facebook#32432 ## Changelog [General] [Fixed] - Allow GNU coreutils to be used to build projects Pull Request resolved: facebook#35382 Test Plan: This change allows the use of the system or GNU coreutils verson of `cp`. Reviewed By: cipolleschi Differential Revision: D41532472 Pulled By: cortinico fbshipit-source-id: f0fe5274d3828bf6099deceee797a82a6adfdcab
Configuration menu - View commit details
-
Copy full SHA for 0f6ec5a - Browse repository at this point
Copy the full SHA 0f6ec5aView commit details -
Do not add LongLivedObject wrapper in OSS (facebook#35491)
Summary: This change excludes the `LongLivedObject.h` file from the pod in the ReactCommon library. The file creates a problem when the `use_frameworks!` option is used in an app because there can't be two files with the same name, despite being in different paths, within the same framework. Specifically, this `LongLivedObject` is just a redirect to the other one, so it should be safe to exclude this. ## Changelog [iOS][Fixed] - Exclude redirector to `LongLivedObject.h` from ReactCommon podspec Pull Request resolved: facebook#35491 Test Plan: 1. Manually tested in an app from RC2 Reviewed By: cortinico Differential Revision: D41548985 Pulled By: cipolleschi fbshipit-source-id: acc57fccdedb344a3aa105f2968645a049392e07
Configuration menu - View commit details
-
Copy full SHA for 5c41024 - Browse repository at this point
Copy the full SHA 5c41024View commit details -
Fix imports in React Bridging for Old Arch and frameworks
Summary: In 0.71.0-RC.2, we had a regression in `use_frameworks!`. The `use_frameworks! :linkage => :static` use to work fine with the Old Architecture. We modified how the `React-bridging` pod is configured and, now those are broken. This change make sure to use the right imports for React-bridging. ## Changelog [iOS][Changed] - Fix imports in React Bridging for Old Arch and frameworks Reviewed By: christophpurrer, cortinico Differential Revision: D41551103 fbshipit-source-id: 4416fde92fef11eb801daf2302a57fe52732e4ef
Configuration menu - View commit details
-
Copy full SHA for 3a21810 - Browse repository at this point
Copy the full SHA 3a21810View commit details -
Bring back JSIDynamic and JSI together
Summary: In 0.71.0-RC.2, we had a regression in `use_frameworks!`. This brings back JSIDynamic and JSI together because the current setup is not compatible with iOS frameworks ## Changelog [iOS][Added] - Bring back JSIDynamic and JSI Reviewed By: cortinico Differential Revision: D41557823 fbshipit-source-id: 95eb2fe7df69992861396e41d11cd5182193e1a3 # Conflicts: # ReactCommon/jsi/React-jsidynamic.podspec
Configuration menu - View commit details
-
Copy full SHA for c8ef846 - Browse repository at this point
Copy the full SHA c8ef846View commit details -
Add CircleCI tests for use frameworks (facebook#35497)
Summary: Pull Request resolved: facebook#35497 In 0.71.0-RC.2, we had a regression in `use_frameworks!`. This adds some CircleCI jobs to make sure we do not regress on those. It also updates the template to support these tests. ## Changelog [iOS][Added] - CircleCI jobs to keep the use_framework! setup in check for the Old Arch Reviewed By: cortinico Differential Revision: D41551288 fbshipit-source-id: 531fabb1a7b6aceab2926bb83cf2887129df1776
Configuration menu - View commit details
-
Copy full SHA for dbdd973 - Browse repository at this point
Copy the full SHA dbdd973View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4e5fc68 - Browse repository at this point
Copy the full SHA 4e5fc68View commit details -
Riccardo Cipolleschi committed
Nov 30, 2022 Configuration menu - View commit details
-
Copy full SHA for 832c0af - Browse repository at this point
Copy the full SHA 832c0afView commit details -
Configuration menu - View commit details
-
Copy full SHA for 13785cf - Browse repository at this point
Copy the full SHA 13785cfView commit details -
[0.71.0-rc.3] Bump version numbers
Distiller committedNov 30, 2022 Configuration menu - View commit details
-
Copy full SHA for ed895c5 - Browse repository at this point
Copy the full SHA ed895c5View commit details
Commits on Dec 9, 2022
-
fix: update CircleCI config to use the RN version in Hermes workspace…
… caching
Dmitry Rykun committedDec 9, 2022 Configuration menu - View commit details
-
Copy full SHA for 0edcbc3 - Browse repository at this point
Copy the full SHA 0edcbc3View commit details
Commits on Dec 12, 2022
-
[LOCAL] fix: use REACT_NATIVE_CI instead of CI envvar (facebook#35605)
* [LOCAL] fix: use META_CI instead of CI envvar * META_CI -> REACT_NATIVE_CI * Rename more occurences of CI to REACT_NATIVE_CI * Use REACT_NATIVE_CI in rn-tester/Podfile * Add REACT_NATIVE_CI to prepare_hermes_workspace * revert: Use REACT_NATIVE_CI in rn-tester/Podfile * Consume hermes-engine.podspec from sdks/hermes-engine * Consume hermes-engine.podspec from sdks/hermes-engine. Update tests
Dmytro Rykun authoredDec 12, 2022 Configuration menu - View commit details
-
Copy full SHA for ed16fdb - Browse repository at this point
Copy the full SHA ed16fdbView commit details
Commits on Dec 13, 2022
-
[LOCAL] properly support both libraries and use_frameworks (facebook#…
Riccardo authoredDec 13, 2022 Configuration menu - View commit details
-
Copy full SHA for c6fa633 - Browse repository at this point
Copy the full SHA c6fa633View commit details -
Properly expose
jscexecutor
as a prefab target (facebook#35521)Summary: Pull Request resolved: facebook#35521 Inside RC3 the jscexecutor target was prepared for prefab consumption but not properly exposed. This was not caught by the CI as we're not effectively using this target, but some of our popular libraries do (i.e. Reanimated). I'm exposing it here. Changelog: [Internal] [Changed] - Properly expose `jscexecutor` as a prefab target Reviewed By: javache Differential Revision: D41648349 fbshipit-source-id: 1a04bc21aa50eece304828ce1d99ae795a51af48
Configuration menu - View commit details
-
Copy full SHA for c5042e5 - Browse repository at this point
Copy the full SHA c5042e5View commit details -
Simplify Template ESLint Configuration (facebook#35529)
Summary: Pull Request resolved: facebook#35529 ESLint configuration is derived from `react-native/eslint-config`, which has supported Flow, vanilla JS, and TypeScript. react-native-community/react-native-template-typescript#238 and a related PR ended up adding new rules to the TypeScript config, to fix bugs with TS linting. It required a followup change, to specify the parser/plugin, and explicity reference them as devDependencies. react-native-community/react-native-template-typescript#240 `react-native/eslint-config` already includes setting the plugin/parser. But overriding rules requires declaring that again, and directly referencing a plugin means a need for the app to declare dependencies, since ESLint resolves modules from the current config. The rules overridedn were later fixed in `react-native/eslint-config`, which is really the right place for the fix (e.g. facebook#32644). I noticed this when deriving from the TS template in facebook#32644 and removed the rule overrides, but didn't have the historical context to realize this means we can then: 1. Remove the explicit parser/plugins since `react-native/eslint-config` already sets them, and we are no longer overriding any rules. 2. Remove the devDependencies, to let the versions be managed entirely by `react-native/eslint-config`. Changelog: [General][Changed] - Simplify Template ESLint Configuration Reviewed By: cortinico Differential Revision: D41652699 fbshipit-source-id: 8e3313dbf27407c5866f3c2432cffc2ecec1b01d # Conflicts: # template/_eslintrc.js
Configuration menu - View commit details
-
Copy full SHA for d4220cc - Browse repository at this point
Copy the full SHA d4220ccView commit details -
Don't use the internal
native_modules.rb
script yet (facebook#35531)Summary: Revert the template `Podfile` to using `react-native-community/cli-platform-ios/native_modules`. The new internal script currently has a hard-coded path to `react-native-community/cli-platform-ios` which may not work in monorepos. The path in the `Podfile` is also hard-coded, but this is a file that the user has access to and can fix themselves if necessary. ## Changelog [iOS] [Fixed] - Don't use the internal `native_modules.rb` script yet, as it hides a hard-coded path Pull Request resolved: facebook#35531 Test Plan: n/a Reviewed By: rshest Differential Revision: D41682119 Pulled By: cortinico fbshipit-source-id: 1822fcd20a794dc9df6e8d6f36615e90b42c1a94
Configuration menu - View commit details
-
Copy full SHA for b0eec6d - Browse repository at this point
Copy the full SHA b0eec6dView commit details -
RN: Upgrade to deprecated-react-native-prop-types@3.0.1 (facebook#35549)
Summary: Pull Request resolved: facebook#35549 Upgrades `react-native` to the newly published `deprecated-react-native-prop-types@3.0.1`, which brings prop-types compatibility up-to-speed with React Native 0.71. (This **is** a release blocker for 0.71.) Changelog: [General][Changed] Updated Prop Types for 0.71: https://github.com/facebook/react-native-deprecated-modules/blob/main/deprecated-react-native-prop-types/CHANGELOG.md Reviewed By: rickhanlonii Differential Revision: D41708199 fbshipit-source-id: 0cbcf294753203d5a35c8602d5585c5f2b604c6e
Configuration menu - View commit details
-
Copy full SHA for 407a8c0 - Browse repository at this point
Copy the full SHA 407a8c0View commit details -
RNGP -
findPackageJsonFile
should returnnull
ifpackage.json
d……oes not exist (facebook#35566) Summary: `findPackageJsonFile` always returns a path even though `package.json` does not exist. This causes issues in libraries whose repo setups look like: ``` react-native-webview ├── android │ └── build.gradle ├── example <-- Note the lack of `package.json` here │ └── App.tsx ├── ios │ └── RNCWebView.xcodeproj ├── macos │ └── RNCWebView.xcodeproj ├── package.json └── src ``` When `newArchEnabled=true`, running `yarn android` will fail with the following: ``` FAILURE: Build failed with an exception. * What went wrong: Could not determine the dependencies of task ':app:generateCodegenArtifactsFromSchema'. > Could not create task ':app:generateCodegenSchemaFromJavaScript'. > /~/react-native-webview/example/package.json (No such file or directory) ``` ## Changelog [Android] [Fixed] - `findPackageJsonFile` should return `null` if `package.json` does not exist Pull Request resolved: facebook#35566 Test Plan: ``` git clone https://github.com/react-native-webview/react-native-webview.git cd react-native-webview git checkout new-arch-ios yarn cd example/android ./gradlew clean assembleDebug ``` Reviewed By: NickGerleman Differential Revision: D41739176 Pulled By: cortinico fbshipit-source-id: cab0f1f717db160df244c9bb2769e345d6e19917
Configuration menu - View commit details
-
Copy full SHA for 05d6574 - Browse repository at this point
Copy the full SHA 05d6574View commit details -
chore(cli, metro): bump cli to 10.0.0 and metro to 0.73.5 (facebook#3…
…5580) Summary: Small PR with bump to the new versions of CLI and Metro in preparation of the stable release for 0.71. ## Changelog [General] [Changed] - Bump CLI to 10.0.0 and Metro to 0.73.5 Pull Request resolved: facebook#35580 Test Plan: CI green Reviewed By: cortinico Differential Revision: D41800580 Pulled By: jacdebug fbshipit-source-id: 7bf81308eb41490b004e685b1763574bfd3b27fb # Conflicts: # package.json # yarn.lock
Configuration menu - View commit details
-
Copy full SHA for a0ba567 - Browse repository at this point
Copy the full SHA a0ba567View commit details -
Fix TS Type for measureLayout optional parameter
Summary: Encountered this, causing typechecking to fail on an example in the current RN documentation. `onFail` is an optional parameter (see https://github.com/facebook/react/blob/8e2bde6f2751aa6335f3cef488c05c3ea08e074a/packages/react-native-renderer/src/ReactNativeTypes.js#L106), which is not optional in current TS types. Update the TS typings to match. Note that "?" here is positioned to be a Flow optional parameter, instead of a maybe type. Which means it accepts undefined, but not null, matching the TS usage of "?" which always means possibly undefined (but never null, like a flow maybe type allows). Changelog: [General][Fixed] - Fix TS Type for measureLayout optional parameter Reviewed By: lunaleaps Differential Revision: D41775900 fbshipit-source-id: 8f53428b8077ec9139c7c1bbc60ed20f5fa9f7ea
Configuration menu - View commit details
-
Copy full SHA for abd615f - Browse repository at this point
Copy the full SHA abd615fView commit details -
Rename
POST_NOTIFICATION
toPOST_NOTIFICATIONS
(facebook#35533)Summary: After adding `<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>` on my `AndroidManifest.xml`, I expected to use `PermissionsAndroid.PERMISSIONS.POST_NOTIFICATIONS` but `POST_NOTIFICATIONS` is `undefined` and is named `POST_NOTIFICATION` instead. Every other Android permission is 1:1 in spelling except this one where it lacks `S`. Not sure if this is a welcome change since this can be breaking. Or maybe we can include both with and without `S` to not be a breaking change. Or just keep it as is and close this PR. ## Changelog <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see: https://reactnative.dev/contributing/changelogs-in-pull-requests --> [Android] [Changed] - Rename `POST_NOTIFICATION` to `POST_NOTIFICATIONS` Pull Request resolved: facebook#35533 Test Plan: `PermissionsAndroid.PERMISSIONS.POST_NOTIFICATIONS` should not be `undefined`. Reviewed By: cortinico Differential Revision: D41705866 Pulled By: philIip fbshipit-source-id: a0328b174f0196421565f0cd2b2f1eb509428553 # Conflicts: # packages/rn-tester/js/examples/PermissionsAndroid/PermissionsExample.js
Configuration menu - View commit details
-
Copy full SHA for 3fb93e1 - Browse repository at this point
Copy the full SHA 3fb93e1View commit details -
Expose ReactAndroid/src/main/jni/react/cxxcomponents via prefab (face…
…book#35619) Summary: Pull Request resolved: facebook#35619 Reference reactwg/react-native-releases#41 (reply in thread) I'm exposing `ReactAndroid/src/main/jni/react/cxxcomponents` to be consumed via prefab. It will be available to both: `react_nativemodule_core` and `reactnativejni` Changelog: [Internal] [Changed] - Expose ReactAndroid/src/main/jni/react/cxxcomponents via prefab Reviewed By: cipolleschi Differential Revision: D41965512 fbshipit-source-id: 3a5a7473267e2e161d9d7fb0e8dfa74593b47b6e
Configuration menu - View commit details
-
Copy full SHA for c9a5090 - Browse repository at this point
Copy the full SHA c9a5090View commit details -
Riccardo Cipolleschi committed
Dec 13, 2022 Configuration menu - View commit details
-
Copy full SHA for 415d6a8 - Browse repository at this point
Copy the full SHA 415d6a8View commit details
Commits on Dec 14, 2022
-
[0.71.0-rc.4] Bump version numbers
Distiller committedDec 14, 2022 Configuration menu - View commit details
-
Copy full SHA for e2e6ee3 - Browse repository at this point
Copy the full SHA e2e6ee3View commit details
Commits on Dec 19, 2022
-
De-bump AGP to 7.3.1 and do not use
addGeneratedSourceDirectory
(fa……cebook#35631) Summary: Pull Request resolved: facebook#35631 Fixes facebook#35592 I'm de-bumping AGP from 7.4 to 7.3 as per facebook#35592. There is no stable release of AGP that is working fine with the `addGeneratedSourceDirectory` API for resources. Here I'm reverting to use the older APIs. Changelog: [Internal] [Changed] - De-bump AGP to 7.3.1 and do not use `addGeneratedSourceDirectory` allow-large-files Reviewed By: cipolleschi Differential Revision: D42004813 fbshipit-source-id: f1a2b0f7c2233402749a3e4f3828be80111ad3a7
Configuration menu - View commit details
-
Copy full SHA for caa79b7 - Browse repository at this point
Copy the full SHA caa79b7View commit details -
Fix prefab prefix for fabricjni (facebook#35648)
Summary: Pull Request resolved: facebook#35648 The `fabricjni` prefab module was missing the `react/fabric` prefix. I'm adding it here. Ref: reactwg/react-native-releases#41 (reply in thread) Changelog: [Internal] [Changed] - Fix prefab prefix for fabricjni Reviewed By: cipolleschi Differential Revision: D42047434 fbshipit-source-id: 202db49cd1ada2462652dbd7e56bad6779c263ac
Configuration menu - View commit details
-
Copy full SHA for 621d901 - Browse repository at this point
Copy the full SHA 621d901View commit details -
Remove unnecessary repositories{} block from top level build.gradle (f…
…acebook#35644) Summary: Pull Request resolved: facebook#35644 The `repositories{}` block in the top level build.gradle is not needed anymore The React Native Gradle Plugin is taking care of it. Users can still specify if they need to provide custom repositories. Changelog: [Android] [Changed] - Remove unnecessary repositories{} block from top level build.gradle Reviewed By: cipolleschi Differential Revision: D42033953 fbshipit-source-id: 8ec1c12147fae68302ab47c60045869c72d1812c
Configuration menu - View commit details
-
Copy full SHA for f65dfa8 - Browse repository at this point
Copy the full SHA f65dfa8View commit details -
Expose
react_render_animations
via prefab. (facebook#35643)Summary: Pull Request resolved: facebook#35643 The `react_render_animations` was not exposed via prefab. I'm adding it to make possible for Reanimated to integrate on top of us via prefab. Ref reactwg/react-native-releases#41 (reply in thread) Changelog: [Internal] [Changed] - Expose `react_render_animations` via prefab. Reviewed By: cipolleschi Differential Revision: D42033642 fbshipit-source-id: da4b3665f4fb1c7f8266fa6896585176504435c3
Configuration menu - View commit details
-
Copy full SHA for 98ad399 - Browse repository at this point
Copy the full SHA 98ad399View commit details -
Add missing type for AnimatedValue.resetAnimation() and AnimatedValue…
….animate() Summary: See https://www.internalfb.com/code/fbsource/[d96fd0b6ac13]/xplat/js/react-native-github/Libraries/Animated/nodes/AnimatedValue.js?lines=207 Changelog: [General][Fixed] - Add missing type for AnimatedValue.resetAnimation() and AnimatedValue.animate() Reviewed By: christophpurrer Differential Revision: D42034719 fbshipit-source-id: 40e25940e04bdf296c8b5e4bf39bee2e4baeae07
Configuration menu - View commit details
-
Copy full SHA for 1b5066c - Browse repository at this point
Copy the full SHA 1b5066cView commit details -
Remove testID from TS ViewStyle
Summary: testID isn't a valid prop to exist on a style. Changelog: [General][Fixed] - Remove testID from TS ViewStyle Reviewed By: necolas Differential Revision: D42040627 fbshipit-source-id: d51b0dc7abff14ac72f71753ea1ae708e0858590
Configuration menu - View commit details
-
Copy full SHA for 172f23a - Browse repository at this point
Copy the full SHA 172f23aView commit details -
Fix type for
StyleSheet.compose()
Summary: This was flagged when typechecking the existing examples. The current type enforces that both stylesheets overlap, meaning composed stylesheets with distinct props cause a typechecking error. This changes the signature so that each style can be different, and the intersection type of the two is returned. Changelog: [General][Fixed] - Fix type for `StyleSheet.compose()` Reviewed By: christophpurrer Differential Revision: D42008355 fbshipit-source-id: 238971a61b387c09be001d5df50fe3db70df566f
Configuration menu - View commit details
-
Copy full SHA for 754524e - Browse repository at this point
Copy the full SHA 754524eView commit details -
Mark scrollToEnd animated as optional
Summary: The flow type and inheriting TS types mark animated as optional, mark it here as well. Changelog: [General][Fixed] - Mark scrollToEnd animated as optional Reviewed By: christophpurrer Differential Revision: D42036647 fbshipit-source-id: 59d408adc639ee1e0ca040301511c64d7ba55bfe
Configuration menu - View commit details
-
Copy full SHA for 8770b27 - Browse repository at this point
Copy the full SHA 8770b27View commit details -
Fix Vibration.vibrate() allowing null params
Summary: The flow type allows these parameters to be optional but not null. Make TS the same. Changelog: [General][Fixed] - Fix Vibration.vibrate() allowing null params Reviewed By: christophpurrer Differential Revision: D42046301 fbshipit-source-id: a030d4f141a526dfe2f0fb3a90e36e641fa6d789
Configuration menu - View commit details
-
Copy full SHA for 9b76188 - Browse repository at this point
Copy the full SHA 9b76188View commit details -
Fix types for deprecated scrollTo fields
Summary: This was renamed in Flow but not in TS. Changelog: [General][Fixed] - Fix types for deprecated scrollTo fields Reviewed By: christophpurrer Differential Revision: D42040913 fbshipit-source-id: 5d9746be7b785bea8613f199d39940c4d5d7d138
Configuration menu - View commit details
-
Copy full SHA for f9ab91c - Browse repository at this point
Copy the full SHA f9ab91cView commit details -
Fix missing animation type (CircleCI Break)
Summary: Accidentally added a reference to a flow type that doesn't exist in TS. This should fix the issue. Changelog: [General][Fixed] - Fix missing animation type Reviewed By: christophpurrer Differential Revision: D42043293 fbshipit-source-id: 03470aa25f503337e9e2b79cf74cff96c15a4ad8
Configuration menu - View commit details
-
Copy full SHA for 696f4b5 - Browse repository at this point
Copy the full SHA 696f4b5View commit details -
Add missing types to PushNotificationIOS
Summary: Adds some types referenced on the React Native webpage that aren't part of the typings. Changelog: [General][Fixed] - Add missing types to PushNotificationIOS Reviewed By: christophpurrer Differential Revision: D42040583 fbshipit-source-id: be7b86a02e30b99231f3ab35afc3222954f41cf0
Configuration menu - View commit details
-
Copy full SHA for f04f067 - Browse repository at this point
Copy the full SHA f04f067View commit details -
Summary: This is exported from the RN entrypoint and documented on the RN website, so we should give types for it. Changelog: [General][Fixed] - Add type for RootTagContext Reviewed By: christophpurrer Differential Revision: D42040806 fbshipit-source-id: cb8cdf557098ddbe33c143b7ab5d80bda7f80a6e
Configuration menu - View commit details
-
Copy full SHA for fd28032 - Browse repository at this point
Copy the full SHA fd28032View commit details -
Add missing types for AppRegistry
Summary: These are all documented on the website and seem to likely work in OSS to at least some extent. Add the missing types corresponding to functions exported from AppRegistry. Changelog: [General][Fixed] - Add missing types for AppRegistry Reviewed By: GijsWeterings Differential Revision: D42036018 fbshipit-source-id: 0728d6c5602a50e50f1eaf7f76c54ab47dcb0124
Configuration menu - View commit details
-
Copy full SHA for 213c26c - Browse repository at this point
Copy the full SHA 213c26cView commit details -
Fix virtual list type (facebook#35434)
Summary: Add missing props to virtual list ## Changelog <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see: https://reactnative.dev/contributing/changelogs-in-pull-requests --> [General] [Fixed] - Virtual list props Pull Request resolved: facebook#35434 Test Plan: relative pull request in DefinitelyTyped DefinitelyTyped/DefinitelyTyped#63323 Reviewed By: javache Differential Revision: D41553396 Pulled By: NickGerleman fbshipit-source-id: d51a93410ece9ad5f0bb61e2ee51076973e80c8c
Configuration menu - View commit details
-
Copy full SHA for 1bd3831 - Browse repository at this point
Copy the full SHA 1bd3831View commit details -
Add missing VirtualizedList Imperative Types
Summary: Adds some imperative VirtualizedList methods to the TS types which are documented on the website and are public enough. Also explicitly add `viewOffset` to `scrollToItem` since `scrollToItem` params are indefinite in flow and are passed to `scrollToIndex` (which supports the prop). Changelog: [General][Fixed] - Add missing VirtualizedList Imperative Types Reviewed By: GijsWeterings Differential Revision: D42047674 fbshipit-source-id: 60f7b35b049853d9fcb724918b3a0008a75ea573
Configuration menu - View commit details
-
Copy full SHA for de11363 - Browse repository at this point
Copy the full SHA de11363View commit details -
Fix Errors with TypeScript Tests
Summary: This fixes some style errors found by dtslint, along with some test cases for StyleSheet.compose() where the recent change made it slightly too permissive when explicit return types are given. I also added runs of the TS tests to a script which runs in sandcastle so we can catch this at diff-submission time in the future. Changelog: [General][Fixed] - Fix Errors with TypeScript Tests Reviewed By: lunaleaps Differential Revision: D42085257 fbshipit-source-id: 7e6ca49d3c3aef822c61c97ecc07b55b0a949d51
Configuration menu - View commit details
-
Copy full SHA for ed08edd - Browse repository at this point
Copy the full SHA ed08eddView commit details -
Add missing AccessibilityInfo Types to TS Typings
Summary: This adds some missing public methods on AccessibilityInfo. Changelog: [General][Fixed] - Add missing AccessibilityInfo Types to TS Typings Reviewed By: christophpurrer Differential Revision: D42113713 fbshipit-source-id: bf1945f310b716ff8584dd47fc27752dc592e473
Configuration menu - View commit details
-
Copy full SHA for dc1b20d - Browse repository at this point
Copy the full SHA dc1b20dView commit details -
fix: remove gap if its last element in line (fix flex gap extra spaci…
…ng when children determine parents main axis size) (facebook#1188) Summary: Fixes - facebook#35553 ## Approach We're using `betweenMainDim` to add [gap between](https://github.com/intergalacticspacehighway/yoga/blob/bbeede82d36cd89657faf385aaa704f45443c326/yoga/Yoga.cpp#L2495) items in main axis. This is resulting in increased [main axis](https://github.com/intergalacticspacehighway/yoga/blob/bbeede82d36cd89657faf385aaa704f45443c326/yoga/Yoga.cpp#L2598) dimension of the container as it gets added even for the last element. One solution is to keep using it and subtract the gap when last element is reached. ## Aside Mutating this value feels weird, but I think `betweenMainDim` gets initialized for every line so should be fine? I did some manual tests to verify. I tried running tests but I'll have to downgrade the java version. Let me know if anything fails. Thanks! 🙏 X-link: facebook/yoga#1188 Reviewed By: necolas Differential Revision: D42078162 Pulled By: NickGerleman fbshipit-source-id: 0e535618350422e001141a8786a83fc81651afe9
Configuration menu - View commit details
-
Copy full SHA for a0ee98d - Browse repository at this point
Copy the full SHA a0ee98dView commit details -
Improve Codegen Cleanup (facebook#35642)
Summary: This PR adds a safety check in case the Cocoapod build script is not able to clean the build folder. We had evidences where this process failed, and in this way the user has a clear and actionable message to fix its situation. ## Changelog [iOS][Added] - Add message with instructions about what to do if the cleanup of the build folder fails. Pull Request resolved: facebook#35642 Test Plan: I was not able to reproduce the issue locally. The fix is not destructive, let's see if the amount of issues decreases. Reviewed By: dmytrorykun Differential Revision: D42067939 Pulled By: cipolleschi fbshipit-source-id: 433dbfaec42a1bf460dc9a48051aa51ec6e12d16
Riccardo Cipolleschi committedDec 19, 2022 Configuration menu - View commit details
-
Copy full SHA for aaa795b - Browse repository at this point
Copy the full SHA aaa795bView commit details -
Add compiler flag for the new Arch when enabled. (facebook#35672)
Summary: Pull Request resolved: facebook#35672 While working on some example, I discovered that the helper function `install_module_dependencies` was not adding the proper `-DRCT_NEW_ARCH_ENABLED=1` flag to the compiler flags. ## Changelog: [iOS][Fixed] - Make sure to add the New Arch flag to libraries Reviewed By: jacdebug Differential Revision: D42131287 fbshipit-source-id: 68c492150ba4e4a2ec726b3e8b8a9c7842b543bc
Configuration menu - View commit details
-
Copy full SHA for 5b32348 - Browse repository at this point
Copy the full SHA 5b32348View commit details -
Automatically detect when use frameworks is used (facebook#35636)
Summary: This PR introduce an automatic way to detect whether the user sets its podfile to use frameworks. In this way, users don't have to install pods with a specific environment flag but they can rely on the standard Cocoapods usage ## Changelog [IOS][ADDED] - Automatically detect whether use_frameworks! is used Pull Request resolved: facebook#35636 Test Plan: - CircleCI is Green - Added unit tests - Tested locally with an app Reviewed By: dmytrorykun Differential Revision: D42029355 Pulled By: cipolleschi fbshipit-source-id: 76c92133deabbda59603b043a4d542737f10f044
Riccardo Cipolleschi committedDec 19, 2022 Configuration menu - View commit details
-
Copy full SHA for f7b35c0 - Browse repository at this point
Copy the full SHA f7b35c0View commit details -
Fix cleanup not working on template app (facebook#35679)
Summary: Pull Request resolved: facebook#35679 The Codegen cleanup step was not always working due to an issue with the codegen folder path. It was working for RNTester, but not for apps created from the Template. ## Changelog: [iOS][Fixed] - Fix path issue to properly run the codegen cleanup step Reviewed By: jacdebug Differential Revision: D42137600 fbshipit-source-id: ba4cb03d4c6eb17fda70a4aff383908d2e468429
Configuration menu - View commit details
-
Copy full SHA for ce3eefe - Browse repository at this point
Copy the full SHA ce3eefeView commit details -
[LOCAL] Fix eslint config for template
Riccardo Cipolleschi committedDec 19, 2022 Configuration menu - View commit details
-
Copy full SHA for 9519a0d - Browse repository at this point
Copy the full SHA 9519a0dView commit details -
Riccardo Cipolleschi committed
Dec 19, 2022 Configuration menu - View commit details
-
Copy full SHA for 52df783 - Browse repository at this point
Copy the full SHA 52df783View commit details -
[0.71.0-rc.5] Bump version numbers
Distiller committedDec 19, 2022 Configuration menu - View commit details
-
Copy full SHA for 6ece074 - Browse repository at this point
Copy the full SHA 6ece074View commit details
Commits on Jan 6, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 22f920f - Browse repository at this point
Copy the full SHA 22f920fView commit details
Commits on Jan 9, 2023
-
Update fingerprint for SSH deploy key (facebook#35791)
Summary: Rotating a private SSH key we had left to rotate. ## Changelog [INTERNAL] - Update fingerprint for SSH deploy key Pull Request resolved: facebook#35791 Test Plan: n/a Reviewed By: cipolleschi Differential Revision: D42413025 Pulled By: cortinico fbshipit-source-id: 571f304e8cc2dad19c41e5413ed3c7d4c078ba60
Configuration menu - View commit details
-
Copy full SHA for 06e8577 - Browse repository at this point
Copy the full SHA 06e8577View commit details -
[0.71.0-rc.6] Bump version numbers
Distiller committedJan 9, 2023 Configuration menu - View commit details
-
Copy full SHA for 7dee5e7 - Browse repository at this point
Copy the full SHA 7dee5e7View commit details
Commits on Jan 12, 2023
-
Distiller committed
Jan 12, 2023 Configuration menu - View commit details
-
Copy full SHA for 5a251ba - Browse repository at this point
Copy the full SHA 5a251baView commit details
Commits on Jan 13, 2023
-
Remove PAT_TOKEN and PAT_USERNAME from CircleCI (facebook#35808)
Summary: This is a cleanup change needed after the CircleCI security incident. We should be using the `Authorization: Bearer` header to trigger `rn-diff-purge` instead of using username & password authentication. Source: https://docs.github.com/rest/reference/repos#create-a-repository-dispatch-event ## Changelog [INTERNAL] - Remove PAT_TOKEN and PAT_USERNAME from CircleCI Pull Request resolved: facebook#35808 Test Plan: I've tested this locally with: ``` curl -X POST https://api.github.com/repos/react-native-community/rn-diff-purge/dispatches \ -H "Accept: application/vnd.github.v3+json" \ -H "Authorization: Bearer [...]" \ -d "{\"event_type\": \"publish\", \"client_payload\": { \"version\": \"test.test.test\" }}" ``` and the run was succesfully fired by react-native-bot: https://github.com/react-native-community/rn-diff-purge/actions/runs/3894079133 Reviewed By: lunaleaps Differential Revision: D42456065 Pulled By: cortinico fbshipit-source-id: 475e9ca80760522cc08bad37d85c5af6727922d3
Configuration menu - View commit details
-
Copy full SHA for 4f94577 - Browse repository at this point
Copy the full SHA 4f94577View commit details
Commits on Jan 17, 2023
-
fix(scripts): add logic for version scripts to account for local E2E …
…test versioning (facebook#35847) Co-authored-by: Riccardo <cipolleschi@fb.com>
Configuration menu - View commit details
-
Copy full SHA for 5f3c1e1 - Browse repository at this point
Copy the full SHA 5f3c1e1View commit details -
[LOCAL] fix(cli,metro,babel): bump cli and metro and babel to fix Win…
…dows+Metro issue (facebook#35786)
Configuration menu - View commit details
-
Copy full SHA for df7c92f - Browse repository at this point
Copy the full SHA df7c92fView commit details
Commits on Jan 19, 2023
-
chore: fix typo in build.gradle (facebook#35209)
Summary: ## Changelog <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see: https://reactnative.dev/contributing/changelogs-in-pull-requests --> [Android] [Fixed] - fixed typo in template build.gradle Pull Request resolved: facebook#35209 Reviewed By: cipolleschi Differential Revision: D41080347 Pulled By: cortinico fbshipit-source-id: d2e36f232f798a636f98843edbc5651730125fc4
Configuration menu - View commit details
-
Copy full SHA for 77b977f - Browse repository at this point
Copy the full SHA 77b977fView commit details -
Switch order of onSelectionChange and onChange events on iOS (faceboo…
…k#35603) Summary: Switched order of onSelectionChange and onChange events on iOS This was already fixed but for fabric only https://github.com/facebook/react-native/blob/main/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm#L36-L46 This PR is a complementary of facebook@7b48899 Fixes facebook#28865 ## Changelog [IOS] [FIXED] - onSelectionChange() is fired before onChange() on multiline TextInput Pull Request resolved: facebook#35603 Test Plan: Reproduce the minimal example provided here facebook#28865 Verify that the events order is onChange then onSelectionChange with no duplicates Reviewed By: cipolleschi Differential Revision: D41947673 Pulled By: dmytrorykun fbshipit-source-id: cf452a6101400b1b54295c83fa7735449d91e781
Configuration menu - View commit details
-
Copy full SHA for 112bfee - Browse repository at this point
Copy the full SHA 112bfeeView commit details -
Fix build errors when inheriting RCTAppDelegate in Swift modules (fac…
…ebook#35661) Summary: When inheriting `RCTAppDelegate` in a module with swift code, the compiler will have a build error when it goes through module headers. because swift does not support cxx headers. we found this issue when we try to inherit the class at Expo's [`EXAppDelegateWrapper`](https://github.com/expo/expo/blob/main/packages/expo-modules-core/ios/AppDelegates/EXAppDelegateWrapper.h) with RCTAppDelegate in new architecture mode. ## Changelog [IOS][FIXED] - Fix build errors when inheriting RCTAppDelegate in Swift modules Pull Request resolved: facebook#35661 Test Plan: - ci passed - tested with expo's setup: expo/expo#20470 Reviewed By: rshest Differential Revision: D42293851 Pulled By: cipolleschi fbshipit-source-id: 8a173279db070cc0008c6f8214093951f504dcc1
Configuration menu - View commit details
-
Copy full SHA for c6bfbf9 - Browse repository at this point
Copy the full SHA c6bfbf9View commit details -
fix: fix the potential race condition when dismissing and presentatin…
…g modal (facebook#35705) Summary: `react-native-screens` has a bug about `UIViewControllerHierarchyInconsistency` when dismissing a `react-native` `<Modal>`. Here is the bug software-mansion/react-native-screens#944 After adding `dispatch_async` block, it solves the issue. But I do not know if this is right. Here is the example repo https://github.com/wood1986/react-native-modal-crash You can revert my last commit wood1986/react-native-modal-crash@86e7bc1 to reproduce the issue ## Changelog <!-- Help reviewers and the release process by writing your own changelog entry. Pick one each for the category and type tags: [ANDROID|GENERAL|IOS|INTERNAL] [BREAKING|ADDED|CHANGED|DEPRECATED|REMOVED|FIXED|SECURITY] - Message For more details, see: https://reactnative.dev/contributing/changelogs-in-pull-requests --> [IOS] [FIXED] - fixed the potential race condition when dismissing and presentating modal Pull Request resolved: facebook#35705 Reviewed By: cipolleschi Differential Revision: D42253488 Pulled By: makovkastar fbshipit-source-id: 3e98fa9e719ecdeddeb2a367b0cd364e15136d56
Configuration menu - View commit details
-
Copy full SHA for 870ce57 - Browse repository at this point
Copy the full SHA 870ce57View commit details -
Null Exception Handling | Input Validation - RCTAlertController - RCT…
…DevLoadingView (facebook#35689) Summary: Enhancing native iOS modules and preventing crashes inside the RCTAlertController ## Changelog [iOS][Fixed] - Handle properly a `nil` `keyWindows` in the AlertController <!-- Help reviewers and the release process by writing your own changelog entry. Pick one each for the category and type tags: [IOS] [SECURITY] - Message For more details, see: https://reactnative.dev/contributing/changelogs-in-pull-requests --> Pull Request resolved: facebook#35689 Reviewed By: cipolleschi Differential Revision: D42179169 Pulled By: ryancat fbshipit-source-id: 05a6788f610db1d222e3c10b3c774c75edaf55f5
Configuration menu - View commit details
-
Copy full SHA for 6bdde47 - Browse repository at this point
Copy the full SHA 6bdde47View commit details -
Fix RCTAlertController not showing when using SceneDelegate on iOS 13…
….0+ (facebook#35716) Summary: On iOS 13.0+, app may use SceneDelegate for multiple windows support or CarPlay support. RCTAlertController can't find the correct root vc in such scene based apps. ## Changelog <!-- Help reviewers and the release process by writing your own changelog entry. Pick one each for the category and type tags: [ANDROID|GENERAL|IOS|INTERNAL] [BREAKING|ADDED|CHANGED|DEPRECATED|REMOVED|FIXED|SECURITY] - Message For more details, see: https://reactnative.dev/contributing/changelogs-in-pull-requests --> [iOS] [Fixed] - Fix RCTAlertController not showing when using SceneDelegate on iOS 13.0+. Pull Request resolved: facebook#35716 Reviewed By: cipolleschi Differential Revision: D42253653 Pulled By: makovkastar fbshipit-source-id: ae4e833abca2af7af8028f3af9bd8d3f60ebd392
Configuration menu - View commit details
-
Copy full SHA for 44f81c0 - Browse repository at this point
Copy the full SHA 44f81c0View commit details -
Add jsinspector prefab target (facebook#35796)
Summary: react-native-v8 requires the `jsinspector` for its js inspector feature. this pr adds the `jsinspector` to the prefab target list. ## Changelog [ANDROID][ADDED] - Add `jsinspector` to the prefab target Pull Request resolved: facebook#35796 Test Plan: ``` $ ./gradlew :ReactAndroid:installArchives # check prefab files in aar $ unzip -l android/com/facebook/react/react-android/1000.0.0/react-android-1000.0.0-release.aar | grep 'prefab\/modules\/jsinspector' $ unzip -l android/com/facebook/react/react-android/1000.0.0/react-android-1000.0.0-debug.aar | grep 'prefab\/modules\/jsinspector' ``` Reviewed By: cipolleschi Differential Revision: D42430272 Pulled By: cortinico fbshipit-source-id: fd9a02fd9c33cf5d349e1a79da6f78267196efc8
Configuration menu - View commit details
-
Copy full SHA for 7bdeed6 - Browse repository at this point
Copy the full SHA 7bdeed6View commit details -
Exclude
react-native-flipper
whenNO_FLIPPER=1
to prevent iOS bui……ld fail (facebook#35686) Summary: - Flipper issue: facebook/flipper#3995 (comment) iOS build fail with an error: ```sh node_modules/react-native-flipper/ios/FlipperReactNativeJavaScriptPlugin.h:9:9: 'FlipperKit/FlipperConnection.h' file not found #import <FlipperKit/FlipperConnection.h> ``` ## Changelog [IOS] [FIXED] - Exclude `react-native-flipper` when `NO_FLIPPER=1` to prevent iOS build fail Pull Request resolved: facebook#35686 Test Plan: ```sh npx react-native init RN0710RC5 --version 0.71.0-rc.5 cd RN0710RC5 yarn add react-native-flipper NO_FLIPPER=1 pod install --project-directory=ios yarn ios # will fail ``` Reviewed By: rshest Differential Revision: D42368444 Pulled By: cipolleschi fbshipit-source-id: a8614ccadb98970ebae15d8743136fa60ead318c
Configuration menu - View commit details
-
Copy full SHA for 3d8152e - Browse repository at this point
Copy the full SHA 3d8152eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 38e5fa6 - Browse repository at this point
Copy the full SHA 38e5fa6View commit details -
feat: add initialProps property to RCTAppDelegate (facebook#35848)
Summary: Hi there, While upgrading to 0.71 we realised the RCTAppDelegate doesn't offer a way to set custom `initProps` that would depend on `launchOptions`. This PR adds an `initialProps` property to the RCTAppDelegate. This would let us set this property based on `launchOptions` in our implementation of `didFinishLaunchingWithOptions` before calling `[super didFinishLaunchingWithOptions]` Thanks ! ## Changelog [IOS] [ADDED] - Add `initialProps` property to `RCTAppDelegate` Pull Request resolved: facebook#35848 Reviewed By: rshest Differential Revision: D42543027 Pulled By: cipolleschi fbshipit-source-id: 55374914890445f8193c12a06a943b7796edb457
Configuration menu - View commit details
-
Copy full SHA for 89be5ab - Browse repository at this point
Copy the full SHA 89be5abView commit details -
RNGP - Honor the --active-arch-only when configuring the NDK (faceboo…
…k#35860) Summary: Pull Request resolved: facebook#35860 I've just realized that the `--active-arch-only` is not correctly passed down to RNGP to set up an abiFilter so users on 0.71 on New Architecture end up building all the architectures even if `--active-arch-only` is set. This fix makes sure the `abiFilters` is applied if the user specified either the `--active-arch-only`, the `reactNativeArchitectures` property and is not using the Split ABI feature. Changelog: [Android] [Fixed] - RNGP - Honor the --active-arch-only when configuring the NDK Reviewed By: cipolleschi Differential Revision: D42547987 fbshipit-source-id: 5a34e7087bb4f89de74cc52f9c505e36896fbf03
Configuration menu - View commit details
-
Copy full SHA for e4051c6 - Browse repository at this point
Copy the full SHA e4051c6View commit details -
Fix for resources not correctly bundlded on release appbundles (faceb…
…ook#35872) Summary: Pull Request resolved: facebook#35872 When downgrading from AGP 7.4 to 7.3 we were forced to resort to older APIs to bundle resources. It seems like we haven't properly wired the task to make sure resources generated by Metro are correctly accounted before the generation of release app bundles/apks. This fixes it. This fix can also be removed once we are on AGP 7.4 Fixes facebook#35865 Changelog: [Android] [Fixed] - Fix for resources not correctly bundlded on release appbundles Reviewed By: cipolleschi Differential Revision: D42573450 fbshipit-source-id: a810924315f72e02e4c988ae86112bf0a06a9ce5
Configuration menu - View commit details
-
Copy full SHA for 1d64766 - Browse repository at this point
Copy the full SHA 1d64766View commit details -
Bump CMake to 3.22.1 to properly honor CMAKE_BUILD_TYPE (facebook#35857)
Summary: Pull Request resolved: facebook#35857 It seems like there is an incompatibility between NDK 23 (shipped in 0.71) and the usage of custom `CMAKE_BUILD_TYPE` we do for Hermes. Specifically the `-DCMAKE_BUILD_TYPE=Release` we specify for the debug variant of Hermes is partially ignored by the new Android native build toolchain. See android/ndk#463 for mentions on how the toolchains requires CMake 3.20+ As AGP 7.3 defaults to use CMake 3.18 unless specified, and NDK 23 unless specified. AGP 7.4 defaults to use CMake 3.22 unless specified, and NDK 23 unless specified. See: https://developer.android.com/studio/releases/gradle-plugin#7-4-0 Here I'm: 1. Bumping the docker image to an image that contains the CMake 3.22 2. Updating the logic for building `react-native` & `hermes-engine` to use 3.22 3. Provide fallbacks if the user specified `CMAKE_VERSION` Template tests will run on AGP 7.3 and will still use CMake 3.18, but I forecast no problem there as the user is not supposed to specify custom `CMAKE_BUILD_TYPE`. This is only a problem as we build `hermes-engine` with custom build types. Changelog: [Android] [Fixed] - Bump CMake to 3.22.1 to properly honor CMAKE_BUILD_TYPE Reviewed By: cipolleschi Differential Revision: D42544864 fbshipit-source-id: efd0f51120370fb808337c201df31d71f4ddfdbc
Configuration menu - View commit details
-
Copy full SHA for 36e9d87 - Browse repository at this point
Copy the full SHA 36e9d87View commit details -
Configuration menu - View commit details
-
Copy full SHA for 56423e2 - Browse repository at this point
Copy the full SHA 56423e2View commit details -
Configuration menu - View commit details
-
Copy full SHA for b868970 - Browse repository at this point
Copy the full SHA b868970View commit details -
Riccardo Cipolleschi committed
Jan 19, 2023 Configuration menu - View commit details
-
Copy full SHA for 416463c - Browse repository at this point
Copy the full SHA 416463cView commit details -
fix: ReactRootView checkForKeyboardEvents to check if rootInsets are …
…set (facebook#35869) Summary: react-native-navigation allows to register React components to be included in the navigation top bar as buttons, the way this work is by using the AppRegistry. When the ViewTreeObserver executes the `CustomGlobalLayout` we are checking for the RootWindowInsets in the `checkKeyboardEvents` which in the case for the top bar component it returns null and the **WindowInsetsCompat.toWindowInsetsCompat** function throws if the insets are null causing the app to crash. Interestingly in the function `checkForKeyboardEventsLegacy` the null value is being checked, so I guess it was overlooked in the newer function. ## Changelog [ANDROID] [FIXED] - Fix ReactRootView crash when root view window insets are null Pull Request resolved: facebook#35869 Test Plan: The following videos show how the app crashes as soon as we attempt to pop a screen that contains a react component as a button in the navigation top bar and how it correctly pops to the previous screen after applying the fix | Crash | Fix | | -- | -- | | https://user-images.githubusercontent.com/6757047/213116971-fe693989-f978-438c-b8f9-fc56f2a477c8.mp4 | https://user-images.githubusercontent.com/6757047/213118352-fe258f28-07aa-4d17-98d2-97136464ffd5.mp4 | Reviewed By: cipolleschi Differential Revision: D42580156 Pulled By: cortinico fbshipit-source-id: 4dbd656d7c8148df67668a2a50913206bc35c07f
Configuration menu - View commit details
-
Copy full SHA for 6734d92 - Browse repository at this point
Copy the full SHA 6734d92View commit details -
Distiller committed
Jan 19, 2023 Configuration menu - View commit details
-
Copy full SHA for 3978b7c - Browse repository at this point
Copy the full SHA 3978b7cView commit details
Commits on Jan 24, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 9ed85c0 - Browse repository at this point
Copy the full SHA 9ed85c0View commit details
Commits on Jan 25, 2023
-
Cherry-picking monorepo CI scripts to 0.71-stable (facebook#35946)
Co-authored-by: Ruslan Lesiutin <hoxy@fb.com>
Configuration menu - View commit details
-
Copy full SHA for a787698 - Browse repository at this point
Copy the full SHA a787698View commit details -
Remove unused .netrc file from CircleCI (facebook#35785)
Summary: Removing a stale configuration that was configuring username/password before publishing to NPM. This is effectively unused + the Github Token there is invalid therefore can be removed. ## Changelog [INTERNAL] - Remove unused .netrc file from CircleCI Pull Request resolved: facebook#35785 Test Plan: n/a Reviewed By: cipolleschi Differential Revision: D42385163 Pulled By: cortinico fbshipit-source-id: 0dbbf44459d59f792da4221d6100800a2f4efda2
Configuration menu - View commit details
-
Copy full SHA for 0ff82df - Browse repository at this point
Copy the full SHA 0ff82dfView commit details -
Bump node version from 16 to 18 (facebook#35443)
Summary: Node 18: https://nodejs.org/de/blog/announcements/v18-release-announce/ Node 16 EOL: 2023-09-11 https://nodejs.org/en/blog/announcements/nodejs16-eol/ Node 18 EOL: 2025-04-30 Follow-up - facebook#34171 - facebook#32980 Ref - react-native-community/docker-android#187 cc ramonmedel cortinico gengjiawen ## Changelog <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see: https://reactnative.dev/contributing/changelogs-in-pull-requests --> [JavaScript] [Changed] - Bump node version from 16 to 18 Pull Request resolved: facebook#35443 Test Plan: Everything builds and runs as expected Reviewed By: cipolleschi Differential Revision: D41531161 Pulled By: cortinico fbshipit-source-id: 305888f55ed179f75bef34548aebf22fc2951308
Configuration menu - View commit details
-
Copy full SHA for 9f82b9c - Browse repository at this point
Copy the full SHA 9f82b9cView commit details -
fix(setup-verdaccio): save auth token for verdaccio before bootstrapp…
…ing it
Ruslan Lesiutin committedJan 25, 2023 Configuration menu - View commit details
-
Copy full SHA for 9382579 - Browse repository at this point
Copy the full SHA 9382579View commit details
Commits on Jan 26, 2023
-
Configuration menu - View commit details
-
Copy full SHA for a436d44 - Browse repository at this point
Copy the full SHA a436d44View commit details
Commits on Jan 27, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 85efd37 - Browse repository at this point
Copy the full SHA 85efd37View commit details -
Configuration menu - View commit details
-
Copy full SHA for 681714e - Browse repository at this point
Copy the full SHA 681714eView commit details
Commits on Jan 30, 2023
-
Fix invariant violation when nesting VirtualizedList inside ListEmpty…
…Component (facebook#35875) Summary: Pull Request resolved: facebook#35875 Fixes facebook#35871 Nested VirtualizedLists register to their parents for updates, associated to a specfific cellKey set by VirtualizedListCellContextProvider. This cellKey is usually set when rendering a cell for a data item, but we can also render a nested VirtualizedList by putting one in a ListHeaderComponent/ListFooterComponent/ListEmptyComponent. D6603342 (facebook@a010a0c) added cellKeys when we render from a header/footer, but not ListEmptyComponent, so that association would silently fail earlier. D39466677 (facebook@010da67) added extra invariants to child list handling, that are now triggered by this case, complaining because we are trying to unregister a child list we never successfully registered, due to a missing cellKey. This fixes the issue by providing a cellKey for ListEmptyComponent as well. Changelog: [General][Fixed] - Fix invariant violation when nesting VirtualizedList inside ListEmptyComponent Reviewed By: christophpurrer Differential Revision: D42574462 fbshipit-source-id: f76fa795bf471cb8a929c2efdbd814ea51927663 # Conflicts: # Libraries/Lists/VirtualizedList.js
Configuration menu - View commit details
-
Copy full SHA for ac5d743 - Browse repository at this point
Copy the full SHA ac5d743View commit details -
Add
accessibilityLanguage
type (facebook#35882)Summary: `accessibilityLanguage` is missing from `AccessibilityPropsIOS` TypeScript interface ## Changelog [GENERAL] [FIXED] - Added missing `accessibilityLanguage` TypeScript type <!-- 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 --> Pull Request resolved: facebook#35882 Test Plan: Ran `yarn test-typescript` and `yarn test-typescript-offline` and there were no errors. Reviewed By: christophpurrer Differential Revision: D42604363 Pulled By: NickGerleman fbshipit-source-id: fb8dd4b5bba78a080473a9dc7b49a07587530229
Configuration menu - View commit details
-
Copy full SHA for 0193030 - Browse repository at this point
Copy the full SHA 0193030View commit details -
Fix TurboModuleRegistry TS type (facebook#35885)
Summary: TurboModuleRegistry export functions and not a TurboModuleRegistry object. See https://github.com/facebook/react-native/blob/main/Libraries/TurboModule/TurboModuleRegistry.js#L37 ## Changelog [GENERAL] [FIXED] - Fix TurboModuleRegistry TS type Pull Request resolved: facebook#35885 Test Plan: Tested that the import doesn't generate a type error when used correctly. ```ts import * as TurboModuleRegistry from 'react-native/Libraries/TurboModule/TurboModuleRegistry'; export default TurboModuleRegistry.get<Spec>('RNCSafeAreaContext'); ``` Reviewed By: christophpurrer Differential Revision: D42604208 Pulled By: NickGerleman fbshipit-source-id: e6259df24aaf6e37b32cc4b51947294fd655837e
Configuration menu - View commit details
-
Copy full SHA for 3d10511 - Browse repository at this point
Copy the full SHA 3d10511View commit details -
Add
accessibilityLabelledBy
TypeScript type (facebook#35883)Summary: `accessibilityLabelledBy` is missing from `AccessibilityPropsAndroid` TypeScript interface ## Changelog [GENERAL] [FIXED] - Added missing `accessibilityLabelledBy` TypeScript type <!-- 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 --> Pull Request resolved: facebook#35883 Test Plan: Ran `yarn test-typescript` and `yarn test-typescript-offline` and there were no errors. Reviewed By: christophpurrer Differential Revision: D42604287 Pulled By: NickGerleman fbshipit-source-id: 476d24d1c0257be787b7e84c2c11bcadc3527979
Configuration menu - View commit details
-
Copy full SHA for fb393fb - Browse repository at this point
Copy the full SHA fb393fbView commit details -
Do not use WindowInsetsCompat for Keyboard Events (facebook#35897)
Summary: Pull Request resolved: facebook#35897 Fixes facebook#35894 Android 11 added native support for querying whether the IME is present along with its size, as part of the WindowInsets API. D38500859 (facebook@1e48274) changed our logic for Android keyboard events to use it when available, fixing a longstanding issues where we could not reliably tell where the keyboard was open depending on softInputMode. An androidx library WindowInsetsCompat aimed to backport some of the functionality to older versions of Android, with the same API, documenting IME queries to work down to API level 23 (Android 6). I used this, so that we would be able to remove our own logic for detecting keyboard insets once we supported 23+. From an issue report, WindowInsetsCompat is not accurately returning whether the IME is open on at least Android 9. So this change makes it so we only use WindowInsets methods when they are provided by the OS (a tested golden path), and otherwise use the previously working heuristics on anything older. Changelog: [Android][Fixed] - Do not use WindowInsetsCompat for Keyboard Events Reviewed By: christophpurrer Differential Revision: D42604176 fbshipit-source-id: da6a0bbc34c36f8e6d4e4ac07bc96da048fd6aa8
Configuration menu - View commit details
-
Copy full SHA for e13929e - Browse repository at this point
Copy the full SHA e13929eView commit details -
Adding AlertOptions to ts Alert.prompt function (facebook#35957)
Summary: Bringing the typescript function signature in-line with the js code. ## Changelog [GENERAL] [FIXED] - Added AlertOptions argument to the type definition for Alert.prompt to bring it into parity with the js code. <!-- 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 --> Pull Request resolved: facebook#35957 Test Plan: Before the change, VS Code would show a typescript error when I pass AlertOptions to Alert.prompt (even though the js would execute successfully and respect the options I passed. After the change, when I use an Alert.prompt in VS code the function signature was recognized without errors. Reviewed By: christophpurrer Differential Revision: D42737818 Pulled By: jacdebug fbshipit-source-id: 4d4318f38f5c7b7302aae62de5ce224db67e088a
Configuration menu - View commit details
-
Copy full SHA for c4a995d - Browse repository at this point
Copy the full SHA c4a995dView commit details -
Fix crash by conditional value of aspectRatio style value (facebook#3…
…5858) (facebook#35859) Summary: fix facebook#35858 ## Changelog 1. Handle not `number` | `string` value passed to `aspectRatio` 2. Add some tests <!-- Help reviewers and the release process by writing your own changelog entry. Pick one each for the category and type tags: [GENERAL] [FIXED] - Message For more details, see: https://reactnative.dev/contributing/changelogs-in-pull-requests --> Pull Request resolved: facebook#35859 Test Plan: ## Sample [Sample Repository](https://github.com/mym0404/rn-aspect-ratio-crash-sample) Video ![1](https://user-images.githubusercontent.com/33388801/212956921-94b21cda-d841-4588-a05a-d604a82e204c.gif) Reviewed By: necolas Differential Revision: D42575942 Pulled By: NickGerleman fbshipit-source-id: 2f7f46e6e3af85146e4042057477cb6d63b3b279
Configuration menu - View commit details
-
Copy full SHA for 1f9926f - Browse repository at this point
Copy the full SHA 1f9926fView commit details -
Mitigation for Samsung TextInput Hangs (facebook#35967)
Summary: Pull Request resolved: facebook#35967 In facebook#35936 we observed that the presence of AbsoluteSizeSpan may lead to hangs when using the Grammarly keyboard on Samsung. This mitigation makes it so that we do not emit this span in any case where it is sufficient to rely on already set EditText textSize. In simple cases, tested on two devices, it causes typing into the TextInput to no longer hang. This does not fully resolve the issue for TextInputs which meaningfully use layout-effecting spans (or at least font size), such as non-uniform text size within the input. We instead just try to reduce to minimum AbsoluteSizeSpan possible. Testing the first commit was able to resolve hangs in some simpler inputs tested, by me and cortinico. Changelog: [Android][Fixed] - Mitigation for Samsung TextInput Hangs Reviewed By: cortinico Differential Revision: D42721684 fbshipit-source-id: e0388dfb4617f0217bc1d0b71752c733e10261dd
Configuration menu - View commit details
-
Copy full SHA for 4650ef3 - Browse repository at this point
Copy the full SHA 4650ef3View commit details -
Add
TextInput
'sinputMode
TypeScript types (facebook#35987)Summary: Forward-porting DefinitelyTyped/DefinitelyTyped#64100 ## Changelog [GENERAL] [FIXED] - Add `TextInput`'s `inputMode` TypeScript types Pull Request resolved: facebook#35987 Test Plan: - [x] DefinitelyTyped/DefinitelyTyped#64100 green Reviewed By: christophpurrer Differential Revision: D42799862 Pulled By: jacdebug fbshipit-source-id: b387fd8bc53e66d6125fee810862de3e292e6e74
Configuration menu - View commit details
-
Copy full SHA for 8329cfa - Browse repository at this point
Copy the full SHA 8329cfaView commit details -
fix: use properly exclude parameter of matrix (facebook#35794)
Summary: Update the CircleCI configuration to use the proper `exclude` parameter of matrix rather then bootstrap a machine and then kill it. ## 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 --> ## Changelog [Internal] - Use the `exclude` parameter of matrices to avoid spinning up unnecessary machines Pull Request resolved: facebook#35794 Test Plan: The number of jobs on CircleCI should decrease. Reviewed By: dmytrorykun Differential Revision: D42475445 Pulled By: cipolleschi fbshipit-source-id: 3d733ac459a3bc9747440a62cb2caecb7a235fec
Configuration menu - View commit details
-
Copy full SHA for 88196cd - Browse repository at this point
Copy the full SHA 88196cdView commit details -
Add Tests in CircleCI to check dynamic frameworks with the old arch (f…
…acebook#36003) Summary: Pull Request resolved: facebook#36003 This diff adds 4 tests in CircleCI to make sure we don't regress in the support of Dynamic Frameworks for the old architecture. ## Changelog [iOS][Fixed] - Add CircleCI tests for dynamic frameworks with the Old Architecture. Reviewed By: cortinico Differential Revision: D42829895 fbshipit-source-id: 5669be45d4f55161a11a6ece161b2a2aa384a644
Configuration menu - View commit details
-
Copy full SHA for 1a92cdb - Browse repository at this point
Copy the full SHA 1a92cdbView commit details -
Restore Dynamic framework with JSC in the Old Architecture
Summary: I discovered that 0.69 and 0.70 could run React Native as Dynamic framework with JSC and starting from 0.71 that's not possible anymore. This diff restore that possibility. ## Changelog [iOS][Fixed] - Add Back dynamic framework support for the old architecture Reviewed By: cortinico Differential Revision: D42829137 fbshipit-source-id: 848672f714d8bab133e42f5e3b80202b350d5261
Configuration menu - View commit details
-
Copy full SHA for 4d3e7f8 - Browse repository at this point
Copy the full SHA 4d3e7f8View commit details -
Restore Dynamic framework with Hermes in the Old Architecture
Summary: I discovered that 0.69 could run React Native as Dynamic framework with Hermes and starting from 0.70 that's not possible anymore. This diff restore that possibility. Notice that now Hermes provisdes JSI and Dynamic Frameworks requires that all the dependencies are explicitly defined, therefore, whenever we have a pod that depended on `React-jsi`, now it also has to explicitly depends on `hermes-engine` ## Changelog [iOS][Fixed] - Add Back dynamic framework support for the Old Architecture with Hermes Reviewed By: cortinico Differential Revision: D42829728 fbshipit-source-id: a660e3b1e346ec6cf3ceb8771dd8bceb0dbcb13a
Configuration menu - View commit details
-
Copy full SHA for 5f536be - Browse repository at this point
Copy the full SHA 5f536beView commit details -
RNGP - Properly set the
jsRootDir
default value (facebook#35992)Summary: Pull Request resolved: facebook#35992 Fixes software-mansion/react-native-gesture-handler#2382 I've just realized that the default value fo `jsRootDir` is not entirely correct. That's the root of the folder where the codegen should run. For apps, it should be defaulted to `root` (i.e. ../../) For libraries, it should be defaulted to `../` (currently is root). This causes a problem where libraries without either a `codegenConfig` or a `react{ jsRootDir = ... }` specified in the build.gradle will be invoking the codegen and generating duplicated symbols. Changelog: [Android] [Fixed] - RNGP - Properly set the `jsRootDir` default value Reviewed By: cipolleschi Differential Revision: D42806411 fbshipit-source-id: ffe45f9684a22494cc2e4d0a19de9077cb341365
Configuration menu - View commit details
-
Copy full SHA for 76ca8e2 - Browse repository at this point
Copy the full SHA 76ca8e2View commit details -
fix(publishing-bumped-packages): look for status code instaead of std…
…err (facebook#36004) Summary: Pull Request resolved: facebook#36004 Changelog: [Internal] This fixes CircleCI job, which is responsible for publishing bumped packages. We should not check for `stderr`, apparently `npm` uses it to store debug information: - npm/npm#118 (comment) So we've tried to use this on 0.71-stable before and it succesfully published one package, but have exited right after it because `stderr` was not empty Reviewed By: cortinico, cipolleschi Differential Revision: D42836212 fbshipit-source-id: 6f2a9a512121683268fe6aae6a187fccb8d9dfbc
Configuration menu - View commit details
-
Copy full SHA for 77936fa - Browse repository at this point
Copy the full SHA 77936faView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9aa9ee7 - Browse repository at this point
Copy the full SHA 9aa9ee7View commit details
Commits on Jan 31, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 785bc8d - Browse repository at this point
Copy the full SHA 785bc8dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0b440d5 - Browse repository at this point
Copy the full SHA 0b440d5View commit details
Commits on Feb 1, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 712efaf - Browse repository at this point
Copy the full SHA 712efafView commit details -
Distiller committed
Feb 1, 2023 Configuration menu - View commit details
-
Copy full SHA for 66a47e1 - Browse repository at this point
Copy the full SHA 66a47e1View commit details
Commits on Feb 13, 2023
-
Add missing C++ include for prop conversion of complex array type (fa…
…cebook#35984) Summary: Pull Request resolved: facebook#35984 [Changelog][Internal] Codegen for props parsing was failing to add a required include for the case when the type is an array of objects, which in turn use non-trivial types. Something like: ``` export type NativeProps = $ReadOnly<{ ...ViewProps, bounds: $ReadOnlyArray< $ReadOnly<{ height?: Float, left?: Float, top?: Float, width?: Float, }>, >, }>; ``` would cause compilation errors on C++ side, since the required header for the `Float` conversion wasn't included. Reviewed By: cipolleschi Differential Revision: D42781128 fbshipit-source-id: d5b133b931a60e414761db0b3ed09893d3fcc9aa
Configuration menu - View commit details
-
Copy full SHA for 92fc32a - Browse repository at this point
Copy the full SHA 92fc32aView commit details -
RNGP - fix: use relative paths for gradle exec invocations (facebook#…
…36080) Summary: Pull Request resolved: facebook#36080 For Android release builds on Windows, gradle release build fails if there are spaces in path (facebook#34878). This is due to gradle improperly handling arguments with spaces (this is also [an open issue](gradle/gradle#6072) on Gradle). Since the Hermes compilation and other Gradle exec invocations involve arguments which will contain spaces (if there are spaces in your path), this also means it is hard to get around this by simply escaping the spaces (eg: by using double quotes), since these arguments are not properly handled by Gradle itself. As a workaround, this PR uses relative paths for all Gradle commands invoked for Android. As long as there aren't any spaces in the react-native directory structure (i.e this repo), this fix should work. ## Changelog [Android][Fixed] - Used relative paths for gradle commands Pull Request resolved: facebook#36076 Test Plan: `npx react-native run-android` builds and runs the app successfully on Android device, when run inside an RN0711 project with a path containing spaces (and with the changes in this PR applied) on Windows. This includes release builds (i.e with the `--variant=release` flag). Reviewed By: cipolleschi Differential Revision: D43080177 Pulled By: cortinico fbshipit-source-id: 7625f3502af47e9b28c6fc7dfe1459d7c7f1362d
Configuration menu - View commit details
-
Copy full SHA for fbe9e2e - Browse repository at this point
Copy the full SHA fbe9e2eView commit details -
update jsc-android to ndk r23 based (facebook#36062)
Summary: the current jsc-android is still built based on ndk r21, and react-native is now built based on ndk r23. the unwinder between r21 and r23 is incompatible (libgcc vs libunwind). if there's exceptions throwing from jsc, other react native libraries cannot catch these exceptions and cause runtime crash. this pr updates jsc-android to 235231.0.0 which is the same webkitgtk version as 235230.2.1 but only built by ndk r23. the jsc-android pr is from react-native-community/jsc-android-buildscripts#179. note that the jsc is based on ndk r23c and react-native is based on ndk r23b. the reason is that i cannot get jsc building successfully on r23b. hopefully r23b and r23c are abi safe. there is another crash from libjscexecutor when testing the new jsc-android. to fix the issue, i have to explicitly link libunwind.a from libjscexecutor.so. supposedly ndk r23 should help to link libunwind under the hood, i still not figure out why it doesn't. but after linking libunwind.a, i can get new jsc-android work successfully. ``` E/art ( 2669): dlopen("/data/app/com.test-1/lib/x86_64/libjscexecutor.so", RTLD_LAZY) failed: dlopen failed: cannot locate symbol "_Unwind_Resume" referenced by "/data/app/com.test-1/lib/x86_64/libjscexecutor.so"... W/System.err( 2669): java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "_Unwind_Resume" referenced by "/data/app/com.test-1/lib/x86_64/libjscexecutor.so"... W/System.err( 2669): at java.lang.Runtime.load(Runtime.java:331) W/System.err( 2669): at java.lang.System.load(System.java:982) W/System.err( 2669): at com.facebook.soloader.SoLoader$1.load(SoLoader.java:558) W/System.err( 2669): at com.facebook.soloader.DirectorySoSource.loadLibraryFrom(DirectorySoSource.java:110) W/System.err( 2669): at com.facebook.soloader.DirectorySoSource.loadLibrary(DirectorySoSource.java:63) W/System.err( 2669): at com.facebook.soloader.ApplicationSoSource.loadLibrary(ApplicationSoSource.java:91) W/System.err( 2669): at com.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:1067) W/System.err( 2669): at com.facebook.soloader.SoLoader.loadLibraryBySoNameImpl(SoLoader.java:943) W/System.err( 2669): at com.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:855) W/System.err( 2669): at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:802) W/System.err( 2669): at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:772) W/System.err( 2669): at com.facebook.react.jscexecutor.JSCExecutor.loadLibrary(JSCExecutor.java:24) W/System.err( 2669): at com.facebook.react.jscexecutor.JSCExecutor.<clinit>(JSCExecutor.java:20) W/System.err( 2669): at com.facebook.react.ReactInstanceManagerBuilder.getDefaultJSExecutorFactory(ReactInstanceManagerBuilder.java:363) W/System.err( 2669): at com.facebook.react.ReactInstanceManagerBuilder.build(ReactInstanceManagerBuilder.java:316) W/System.err( 2669): at com.facebook.react.ReactNativeHost.createReactInstanceManager(ReactNativeHost.java:94) W/System.err( 2669): at com.facebook.react.ReactNativeHost.getReactInstanceManager(ReactNativeHost.java:41) W/System.err( 2669): at com.test.MainApplication.onCreate(MainApplication.java:60) W/System.err( 2669): at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1011) W/System.err( 2669): at androidx.test.runner.MonitoringInstrumentation.callApplicationOnCreate(MonitoringInstrumentation.java:483) W/System.err( 2669): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4518) W/System.err( 2669): at android.app.ActivityThread.access$1500(ActivityThread.java:144) W/System.err( 2669): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1339) W/System.err( 2669): at android.os.Handler.dispatchMessage(Handler.java:102) W/System.err( 2669): at android.os.Looper.loop(Looper.java:135) W/System.err( 2669): at android.app.ActivityThread.main(ActivityThread.java:5221) W/System.err( 2669): at java.lang.reflect.Method.invoke(Native Method) W/System.err( 2669): at java.lang.reflect.Method.invoke(Method.java:372) W/System.err( 2669): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) W/System.err( 2669): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) ``` fixes facebook#36052 ## Changelog [ANDROID][FIXED] - Fixed jscexecutor crash on Android which is caused from NDK incompatibility Pull Request resolved: facebook#36062 Test Plan: tested on [jsc-android instrumented test](https://github.com/react-native-community/jsc-android-buildscripts/tree/2.26.1/test) (based on react-native 0.71.2) Reviewed By: cipolleschi Differential Revision: D43040295 Pulled By: cortinico fbshipit-source-id: e0e5b8fb7faa8ee5654d4cde5f274bef4b517376
Configuration menu - View commit details
-
Copy full SHA for 374d874 - Browse repository at this point
Copy the full SHA 374d874View commit details -
Configuration menu - View commit details
-
Copy full SHA for ad1ddc2 - Browse repository at this point
Copy the full SHA ad1ddc2View commit details -
Riccardo Cipolleschi committed
Feb 13, 2023 Configuration menu - View commit details
-
Copy full SHA for e9460f2 - Browse repository at this point
Copy the full SHA e9460f2View commit details -
[ci][monorepo] bump package versions
Riccardo Cipolleschi committedFeb 13, 2023 Configuration menu - View commit details
-
Copy full SHA for 60f0a71 - Browse repository at this point
Copy the full SHA 60f0a71View commit details -
Riccardo Cipolleschi committed
Feb 13, 2023 Configuration menu - View commit details
-
Copy full SHA for 4b84888 - Browse repository at this point
Copy the full SHA 4b84888View commit details -
Riccardo Cipolleschi committed
Feb 13, 2023 Configuration menu - View commit details
-
Copy full SHA for a3f205a - Browse repository at this point
Copy the full SHA a3f205aView commit details
Commits on Feb 14, 2023
-
Distiller committed
Feb 14, 2023 Configuration menu - View commit details
-
Copy full SHA for d9321c0 - Browse repository at this point
Copy the full SHA d9321c0View commit details
Commits on Feb 28, 2023
-
fix: update executor for packages publishing workflow
Summary: Changelog: [Internal] - While working on 0.71.3, it was discovered that `react-native-codegen` package is being published almost empty (without `lib` folder) - The reason for it is that `prepare` script is not being executed - The main reason for it is npm v6, which requires adding `unsafe-perm` flag for it: https://www.vinayraghu.com/blog/npm-unsafe-perm - Instead of using this flag, changing executor to `nodelts`, which has node v18 and npm v8 - Also adding `run_yarn` before running the script, because `react-native/codegen` uses external dependencies (such as rimraf) for its build scripts Differential Revision: D43248175 fbshipit-source-id: ea696aae5b75cb284db380d2040e678bb24a0eb4
Configuration menu - View commit details
-
Copy full SHA for 411491e - Browse repository at this point
Copy the full SHA 411491eView commit details -
Configuration menu - View commit details
-
Copy full SHA for ac635f9 - Browse repository at this point
Copy the full SHA ac635f9View commit details
Commits on Mar 1, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 20a6fbd - Browse repository at this point
Copy the full SHA 20a6fbdView commit details
Commits on Mar 2, 2023
-
fix: update publishing packages tag message prefix (facebook#36348)
Summary: Pull Request resolved: facebook#36348 Changelog: [Internal] Turns out that Phabricator strips `@` symbol from `@...` tags when exports commits to GitHub. Proposing to use `#` instead. #publish-packages-to-npm Reviewed By: cortinico Differential Revision: D43712415 fbshipit-source-id: 86fc728eb0cb63afb6a9fe592a9ae998da2ce2e4
Configuration menu - View commit details
-
Copy full SHA for 9c4d0a8 - Browse repository at this point
Copy the full SHA 9c4d0a8View commit details -
Merge pull request facebook#36323 from hoxyq/pick/fixing-ci-packages-…
…bumping-scripts Cherry-picking changes in CI scripts for packages versions bumping
Configuration menu - View commit details
-
Copy full SHA for 4a0b11a - Browse repository at this point
Copy the full SHA 4a0b11aView commit details