Skip to content

ci(0.76): don't use an npmrc #2629

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

Closed
wants to merge 1,240 commits into from
Closed

Conversation

Saadnajmi
Copy link
Collaborator

backport of #2626

rubennorte and others added 30 commits November 21, 2024 03:58
Summary:
Pull Request resolved: facebook#47870

Changelog: [internal]

This flag allows us to run optimized mode by using the right buck modes for the Fantom CLI, using minified + dev in Metro and building bytecode using Buck as well.

It's disabled by default but in the future we can enable it based on the configuration in the test file (e.g.: if it's a benchmark) or we can run tests in both modes by default to catch problems caused by the differences between environments.

Reviewed By: rshest

Differential Revision: D66292709

fbshipit-source-id: d25294b739ff6a67507990241784b838d5b30dcd
Summary:
Pull Request resolved: facebook#47871

Changelog: [internal]

No need to keep going back to save test files when we change C++ files and need to re-run tests :)

Reviewed By: javache

Differential Revision: D66293212

fbshipit-source-id: dc232e1d3f7f8ae1578e894ce14bd21ccf3c8ade
…acebook#47739)

Summary:
Fixes facebook#47725

Calling Appearance.setColorScheme(null) or Appearance.setColorScheme(undefined) no longer resets the color scheme useColorScheme returns like on previous rn versions.

## 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
-->

[GENERAL] [FIXED] - Fix `Appearance.setColorScheme(null)` not resetting color scheme value

Pull Request resolved: facebook#47739

Test Plan: Repo with a patch ready to test: https://github.com/sangonz193/react-native-color-scheme-patch

Reviewed By: yungsters

Differential Revision: D66230236

Pulled By: cipolleschi

fbshipit-source-id: cc668acb1fde6d30f2706fc0ab7dee5cea1c3b14
…book#47573)

Summary:
Pull Request resolved: facebook#47573

Bump hermes-parser and related packages to [0.25.1](https://github.com/facebook/hermes/blob/main/tools/hermes-parser/js/CHANGELOG.md).

Changelog: [Internal]

Reviewed By: robhogan

Differential Revision: D65816542

fbshipit-source-id: cb445eb77790fb2632d3bc318c6eb59f097b1518
Summary:
Pull Request resolved: facebook#47568

Resolves facebook/hermes#1549.

Changelog:
[General][Fixed] - When using Babel with plain JavaScript files, support for additional user syntax plugins should be fixed (now uses Babel's parser instead of hermes-parser). There is no change for JS files annotated with `flow`, where extended JS syntax remains unsupported.

Reviewed By: blakef

Differential Revision: D65816797

fbshipit-source-id: 9f05e86019548ac8727ee65c2e2c417d78a406d8
Summary:
Pull Request resolved: facebook#47875

The old architecture looks broken because in the OnLoad.cpp file we try to include the autolinking.h header which is only generated when the New Architecture is enabled.

This fix guards the include and the usage of the function provided by the autolinking so that the old architecture should work as well.

## Changelog
[Internal] - Include autolinkin.h in OnLoad.cpp only if it exists

Reviewed By: blakef

Differential Revision: D66295318

fbshipit-source-id: 18461e6b70ac92af57b805bef51c0df49db02283
Summary:
Pull Request resolved: facebook#47874

We should be searching for the .bat file on Windows to remain compatible with some user setups.

Changelog: [Android][Fixed] look for sdkmanager.bat

Reviewed By: cipolleschi

Differential Revision: D66295240

fbshipit-source-id: 6b79a9aa40f77ed9c5b3d6ad92b1a62e78159223
Summary:
currently running jest test, it shows an error:

```
ReferenceError: You are trying to `import` a file after the Jest environment has been torn down. From __tests__/App.test.tsx.

      at getState (node_modules/react-native/Libraries/Utilities/Appearance.js:18:26)
      at addChangeListener (node_modules/react-native/Libraries/Utilities/Appearance.js:71:19)
      at subscribe (node_modules/react-native/Libraries/Utilities/useColorScheme.js:10:66)
      at subscribeToStore (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:6232:10)
      at commitHookEffectListMount (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:13038:26)
      at commitPassiveMountOnFiber (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:14461:11)
      at commitPassiveMountEffects_complete (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:14421:9)
      at commitPassiveMountEffects_begin (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:14408:7)
      at commitPassiveMountEffects (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:14396:3)
      at flushPassiveEffectsImpl (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:16287:3)
      at flushPassiveEffects (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:16236:14)
      at node_modules/react-test-renderer/cjs/react-test-renderer.development.js:16051:9
      at workLoop (node_modules/scheduler/cjs/scheduler.development.js:266:34)
      at flushWork (node_modules/scheduler/cjs/scheduler.development.js:239:14)
      at Immediate.performWorkUntilDeadline [as _onImmediate] (node_modules/scheduler/cjs/scheduler.development.js:533:21)
```

it is a regression from facebook#46123 that to have a lazy require.

this pr tries to mock `useColorScheme` to return `light`. i think we don't necessarily test the color scheme changes in jest runtime. originally `useColorScheme` also returns `light` because of [this statement](https://github.com/facebook/react-native/blob/9a60038a40e16925ea1adeb3e3c937c22a615485/packages/react-native/Libraries/Utilities/Appearance.js#L77-L83)

## Changelog:

[GENERAL] [FIXED] - Fixed jest error from Appearance.js

Pull Request resolved: facebook#47629

Test Plan:
```sh
$ npx react-native-community/cli init RN0762 --pm bun --version 0.76.2
$ cd RN0762
$ bun test run
```

Reviewed By: cipolleschi

Differential Revision: D66297456

Pulled By: huntie

fbshipit-source-id: 80d1460532e76bd1815c66964547b50d7f7b3558
Summary:
Pull Request resolved: facebook#47810

Changelog: [Internal]

Reviewed By: SamChou19815

Differential Revision: D66278779

fbshipit-source-id: 01dec1dc844607afa8f650c5acdebc6d5d5739d2
Summary:
Pull Request resolved: facebook#47877

Changelog: [internal]

Reviewed By: sammy-SC

Differential Revision: D66302814

fbshipit-source-id: 55d6f86d098673e28fad71a43863f2041810d04b
Summary:
On macOS, Core Animation layers have their anchor point set to (0,0) which is the top-left. On iOS the anchor point is set to (0.5, 0.5) which matches the center.

Transforms assigned to views are built based on having the anchor point at the center.

This diff updates the transform matrix to apply to transform from the center.

Test Plan:
Check zoom/rotation animations in Zeratul.

| Before | After |
|--|
|  https://pxl.cl/3G8HG  |  https://pxl.cl/3G8HQ  |

Reviewers: shawndempsey, #rn-desktop

Reviewed By: shawndempsey

Differential Revision: https://phabricator.intern.facebook.com/D50628807

Tasks: T161413049
…es (facebook#47872)

Summary:
Pull Request resolved: facebook#47872

Largely a refactoring to the way we currently rewrite `url`/`urlRegex` in `Debugger.setBreakpointByURL` CDP requests (debugger->target).

Rewriting regexes is fragile, it only really works if we can assume `'localhost'` appears literally and that ports and protocols don't need changing. The intention here is to freeze the current behaviour so as not to break anyone relying on it (if anyone is), and decouple it from more robust rewriting we want to generalise.

Also adds simple regex escaping to host names (always IPv4 addresses) we inject into regex patterns, since the previous approach could've led to false matches in unlikely edge cases.

Changelog:
[General][Fixed] dev-middleware: Regex-escape IP addresses in urlRegex replacements

Reviewed By: huntie

Differential Revision: D66238782

fbshipit-source-id: 4cd0029081d68c193e36d3713057ffdc7ef0656f
…Ls have the same port (facebook#47876)

Summary:
Pull Request resolved: facebook#47876

Currently, if a device is connected to the bundler via, say, `http://10.0.2.2:8081` (Android default), and a debugger is opened on `http://localhost:8081`, we rewrite hostnames `10.0.2.2.`<->`localhost` so that URLs are correct relative to each.

However, if the debugger is on a different port or protocol, this breaks down - because we only rewrite hostnames.

This fixes that by using the debugger's connecting `Host` header and `encrypted` state to derive the base URL of the server relative to the frontend. We then update the rewriting logic to use this actual full origin (protocol + host) in place of the device-relative origin.

Changelog:
[General][Fixed] dev-middleware: Fix URL rewriting where device and debugger reach the server on different ports/protocols.

Reviewed By: huntie

Differential Revision: D66077627

fbshipit-source-id: 01f6565149caa34b1e9e50dd58deb0122485657c
…ndler (facebook#47798)

Summary:
The `onLayout` handler of the `KeyboardAvoidingView` view is async due to the `await AccessibilityInfo.prefersCrossFadeTransitions` in `_relativeKeyboardHeight`.

A connected `onLayout` handler will be unable to access the event. Call `persist()` on the event so that it can be accessed asynchronously.

## Changelog:

[GENERAL] [FIXED] - Accessing KeyboardAvoidingEvent event in onLayout handler

Pull Request resolved: facebook#47798

Test Plan:
The following should not produce an error:
```
import * as React from 'react';
import {
  KeyboardAvoidingView,
  SafeAreaView,
  TextInput
} from 'react-native';

export default function() {
  return (
    <SafeAreaView>
      <KeyboardAvoidingView onLayout={(event) => console.log(event)} behavior="padding">
        <TextInput />
      </KeyboardAvoidingView>
    </SafeAreaView>
  );
}
```

Reviewed By: cipolleschi

Differential Revision: D66306085

Pulled By: dmytrorykun

fbshipit-source-id: 9ccf00db79947670ddc7de74a47cc6dc27455fc0
Summary:
Pull Request resolved: facebook#47887

Changelog: [Internal]

Reviewed By: alexmckenley

Differential Revision: D66315470

fbshipit-source-id: 16b8fca3412fc2fcea3be8dfd0c760d97c56d734
…k#47886)

Summary:
Pull Request resolved: facebook#47886

We were not scaling border radii properly when they overlap.

We were relying on Android's handling of the issue which is not compliant with the web algorithm leading to **visible gaps between layers when the radii overlapped**

We are now following web spec https://www.w3.org/TR/css-backgrounds-3/#corner-overlap

Changelog: [Android] [Added] Add overlapping radii resolution logic preventing incorrect rendering

Reviewed By: NickGerleman

Differential Revision: D66269809

fbshipit-source-id: 4ab7025dc1e41be6205ff6b828617e1e222536a9
Summary:
Pull Request resolved: facebook#47783

After the first javascript fatal, the runtime starts tearing down. And it becomes invalid. So, subsequent js fatals will most likely be just noise. Let's filter them out.

This impacts bridgeless mode: both the javascript and c++ pipeline.

Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D66193194

fbshipit-source-id: 61a731850f7ac4f00bfac24e3260673bf94ba8ed
Summary:
Pull Request resolved: facebook#47687

Migrate SurfaceDelegate to Kotlin

changelog: [internal] internal

Reviewed By: javache

Differential Revision: D66134455

fbshipit-source-id: 35e6a5c590c1f8eb0060f8f44680b9134ea127c1
Summary:
Pull Request resolved: facebook#47743

Deprecate ReactContext.getFabricUIManager() method

changelog: [Android][Deprecated] ReactContext.getFabricUIManager() method

Reviewed By: shwanton

Differential Revision: D66216427

fbshipit-source-id: 0e716921a6fc65ad1ccfcab71640174515ae4f67
…#47744)

Summary:
Pull Request resolved: facebook#47744

Remove DeprecatedInNewArchitecture for ReactProp annotation

ReactProp is still used in new arch, we might remove this annotation in the future but it will be independent of new arch

changelog: [internal] internal

Reviewed By: javache

Differential Revision: D66216728

fbshipit-source-id: 86d9aeb2932cbf34c57a7a850da0ced5268447bf
Summary:
Pull Request resolved: facebook#47889

## Context
When is the runtime ready?
- After the main bundle finishes executing **without** raising a fatal javascript error

## Changes
Let's decorate all errors reported while the runtime is not ready as "[runtime not ready]".

Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D66316907

fbshipit-source-id: e48542af4f84d4cc3a6ce8f667dbaa10c30c19a8
Summary:
Pull Request resolved: facebook#47892

Update to match the method so it doesn't show as an error in the IDE.

Changelog:[Internal]

Reviewed By: jorge-cab

Differential Revision: D66326667

fbshipit-source-id: f81bdc7763862fc06440b27e417e0b53ad7774da
Summary:
Changelog: [Internal]

the delegate of TMM is RCTInstance, but RCTInstance doesn't forward all of the APIs and we aren't protected by the compiler because of the optional in TMMDelegate

i found that this backwards compat API did not actually get set up correctly and was never working in the first place... this is why we should avoid optional

long term, TMMDelegate needs to be pushed down to the infra layer and not exist in product, cc blakef

Reviewed By: javache

Differential Revision: D66148789

fbshipit-source-id: 925a6d4ebb6ba6bfb0b1aec6710695e7551ba475
…book#47484)

Summary:
Pull Request resolved: facebook#47484

Small change to types in the base class: all non-primitives return optional from ReadableArray, which matches the semantics in ReadableMap. We already rely on this in some cases, but the current nullability annotations were incorrect, and null values from the array would be passed through from `getMap` and `getArray`.

Changelog: [Android][Breaking] ReadableArray non-primitive getters are now correctly typed as optional

Reviewed By: Abbondanzo

Differential Revision: D65596278

fbshipit-source-id: 5574e9000b07de292bd0da5f1b071aac0eb331d6
…book#47486)

Summary:
Pull Request resolved: facebook#47486

Changelog: [Internal]

Reviewed By: rshest

Differential Revision: D65596952

fbshipit-source-id: 462432af819ed9a7fba515cee54055d737d2584e
Summary:
Pull Request resolved: facebook#47487

Changelog: [Android][Deprecated] Deprecated shadows for ReadableNative[Map|Array].[Readable|Writable]

Reviewed By: rshest

Differential Revision: D65597417

fbshipit-source-id: 61f649c32fb91a13af075aa65869093f31d218e3
…#47616)

Summary:
Saw a lot of PRs and push to convert existing Java code to Kotlin, and wanted to contribute to the cause. This is a starting point for me so I can understand more about the Java to Kotlin conversion process for ReactAndroid package.

## Changelog:
- Converted AndroidInfoHelpers to Kotlin class
- Converted AndroidInfoModule to Kotlin object and updated usage of it across the package

Pick one each for the category and type tags:

[ANDROID] [CHANGED] - Migrated systeminfo module code from Java to Kotlin

For more details, see:
https://reactnative.dev/contributing/changelogs-in-pull-requests

Pull Request resolved: facebook#47616

Test Plan: Verified build on local dev environment.

Reviewed By: NickGerleman

Differential Revision: D66258996

Pulled By: javache

fbshipit-source-id: e0958c0be735f54cb20c7daeee1526059edaabcc
Summary:
E2E tests for Android RNTester in GHA are flaky and they prevent CI to be green on main.
Given that the Branch cut is happening on Monday and that I'll be away for a week, it's better to disable them.

I'm planning to work a bit on those today and more once I'm back

## Changelog:
[Internal] - Temporarily disable E2E tests for Android

Pull Request resolved: facebook#47903

Test Plan: GHA

Reviewed By: javache

Differential Revision: D66359177

Pulled By: cipolleschi

fbshipit-source-id: a0064418af607953cf46445613796c18fb6e1389
Summary:
Pull Request resolved: facebook#47881

changelog: [internal]

collapsable prop is not only for android.

Reviewed By: NickGerleman

Differential Revision: D66299356

fbshipit-source-id: 1c7435c77ef029fea55346f4ca16b5c81022b85a
tido64 and others added 27 commits May 21, 2025 14:09
…t#2504)

## Summary:

`findLastestVersionWithArtifact` fails to find older versions of Hermes
prebuilds because the Maven endpoint it uses does not return all
versions.

Resolves microsoft#2499

## Test Plan:

`pod install` output from RNTA with RN 0.78.2 and RNM 0.78.3

![image](https://github.com/user-attachments/assets/a6984ba0-87c0-4304-95d1-4a5b054b44fa)
…crosoft#2509)

## Summary:

`TextPropsMacOS` has been using `MouseEvent` defined by web as opposed
to React's.

See microsoft#2507.

## Test Plan:

n/a
- project: react-native-macos 0.77.4
## Summary:

Based on microsoft#2530.

## Test Plan:

CIs should pass.

---------

Co-authored-by: Adam Gleitman <[email protected]>
)

- Backport of microsoft#2532
- Backport of microsoft#2436 (the former change depends on it) 
- Adds a version plan to publish a new release

---------

Co-authored-by: Tommy Nguyen <[email protected]>
…icrosoft#2574)

## Summary:

This got out of sync with the local workspace version, let's use the
workspace protocol here.
## Summary:

Update the yarn lock, add a .rnm-publish sentinel file, and try again

## Test Plan:
## Summary:

Merge up to upstream React Native 0.77.3. Make sure to update our peer
dependency.

---------

Co-authored-by: Nicola Corti <[email protected]>
Co-authored-by: Riccardo Cipolleschi <[email protected]>
Co-authored-by: Zhi Zhou <[email protected]>
Co-authored-by: zhongwuzw <[email protected]>
Co-authored-by: chrsmys <[email protected]>
Co-authored-by: Mateo Guzmán <[email protected]>
Co-authored-by: Rob Hogan <[email protected]>
Co-authored-by: Phil Pluckthun <[email protected]>
Co-authored-by: Christian Falch <[email protected]>
Co-authored-by: Rubén Norte <[email protected]>
Co-authored-by: Ritesh Shukla <[email protected]>
Co-authored-by: Rob Hogan <[email protected]>
Co-authored-by: Rob Hogan <[email protected]>
Co-authored-by: Nick Gerleman <[email protected]>
Co-authored-by: React Native Bot <[email protected]>
@Saadnajmi Saadnajmi requested a review from a team as a code owner August 8, 2025 19:12
@Saadnajmi Saadnajmi closed this Aug 8, 2025
@Saadnajmi Saadnajmi deleted the 0.77/npm-2 branch August 11, 2025 17:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.