Skip to content
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

[pull] main from microsoft:main #29

Closed
wants to merge 1,382 commits into from
Closed

[pull] main from microsoft:main #29

wants to merge 1,382 commits into from

Conversation

pull[bot]
Copy link

@pull pull bot commented Jan 15, 2024

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull bot added the ⤵️ pull label Jan 15, 2024
rubennorte and others added 29 commits February 5, 2024 06:41
Summary:
Pull Request resolved: facebook#42870

This refactors `ReactNativeFeatureFlagsAccessor` in C++ to improve its thread-safety:
* It makes all cached feature flags atomic to prevent data corruption when writing them concurrently.
* It refactors the list of accessed feature flags to be an array of atomic character pointers instead of a vector.

Performance-wise, this is lock-free so it would still be fast enough for our use cases.

Semantic-wise, this implementation could lead to feature flags being initialized more than once (if 2 threads happen to access the same feature flag before it has been initialized), but that's ok. The only consequence of this would be accessing the provider twice, but the end state of the accessor is the same (the same value would be cached and the flag would still be marked as accessed).

Changelog: [internal]

Reviewed By: javache

Differential Revision: D53406924

fbshipit-source-id: 1023673c40f9da43a51c5f96354d4c458c9d14d4
Summary:
Pull Request resolved: facebook#42631

changelog: [General][Breaking] onLayout event batching changes

Reviewed By: mdvacca, veviego

Differential Revision: D52955970

fbshipit-source-id: 9e8a340c47bd0e39a55cc1d16a6361959342c55f
Summary:
Pull Request resolved: facebook#42823

This is a tiny new Gradle plugin intended to be published to the Gradle Plugin Portal independently of React Native. It's only function is to resolve `node_modules` package roots using a sufficient subset of the Node JS resolution algorithm - e.g, we can use it to find `react-native` itself from a user's project, whatever package manager or workspace setup they're using, in a Gradle-friendly, cacheable manner.

The plugin is both a `Settings` plugin and a `Project` plugin, so that it may be used from both `settings.gradle` (where we need it to resolve `react-native`) and `app/build.gradle` (which currently applies from `cli-platform-android`).

The setup is mostly `gradle init` with a few modifications (eg, Kotlin JVM version) to stay close to the setup for `react-native-gradle-plugin`. I think it's easier to reason about this currently as an entirely separate Gradle project, but we may be able to merge the two and reduce some duplication once it's proven.

Changelog:
[General][Added] - Gradle plugin for resolving node_modules packages.

Reviewed By: cortinico

Differential Revision: D52998256

fbshipit-source-id: 32898e1ba30bccabca11b623f03959a51898afe8
Summary:
Original commit changeset: 32898e1ba30b

Original Phabricator Diff: D52998256

[General][Removed] - Back out: Gradle plugin for resolving node_modules packages.

Backing this (my own diff) out as it breaks CI - I'm not sure why it landed.

Reviewed By: cipolleschi

Differential Revision: D53427912

fbshipit-source-id: baec254a463e3f7827d6a8675499aab34069ddd1
facebook#42875)

Summary:
`react-native/community-cli-plugin` is unable to resolve out-of-tree platforms in monorepos because the package may not be hoisted to the same location. For example, if `react-native/community-cli-plugin` was hoisted:

```
/~/node_modules/react-native/community-cli-plugin/dist/utils
```

It may never find `react-native-macos` if it wasn't hoisted:

```
/~/packages/my-app/node_modules/react-native-macos
```

## Changelog:

[GENERAL] [FIXED] - Fix `react-native/community-cli-plugin` is unable to resolve out-of-tree platforms in monorepos

Pull Request resolved: facebook#42875

Test Plan: Tested in an internal project.

Reviewed By: cipolleschi

Differential Revision: D53426607

Pulled By: robhogan

fbshipit-source-id: 29b9fe92d5773d0160bba375d2e92ec688652e3e
Summary:
Pull Request resolved: facebook#42871

Minor improvements:
* Removed unused imports
* No longer need to use `static const *` because now we don't rely on pointer equality (we specify the index of the array where to write now).

Changelog: [internal]

Reviewed By: javache

Differential Revision: D53416934

fbshipit-source-id: 9ea12b8398688666e6b76768d3f8fb4e1aad5d1c
Summary:
Pull Request resolved: facebook#42814

Improves the type safety of the feature flags generation and verification script.

Changelog: [internal]

Reviewed By: huntie

Differential Revision: D53351484

fbshipit-source-id: a71af1bb428cdec327d557de4d54bee9ece57f34
)

Summary:
Pull Request resolved: facebook#42815

Feature flags were originally defined in a JSON file for easier interoperability but we're only using the definitions in JS anyway, so having the definitions in a JS file is more flexible (e.g.: adding comments).

Changelog: [internal]

Reviewed By: huntie

Differential Revision: D53351483

fbshipit-source-id: 23fe0a3898b4facf2f2cf9645f78c45d78937f31
…ok#42820)

Summary:
Pull Request resolved: facebook#42820

The feature flag system generates a significant amount of files. This reduces that number to remove noise from diffs/PRs by eliminating a file that could be defined privately within another one.

Changelog: [internal]

Reviewed By: huntie

Differential Revision: D53352391

fbshipit-source-id: 51fccb3c1bb09ef3503cd34334d28c1021bd1b25
…acebook#42825)

Summary:
Pull Request resolved: facebook#42825

This makes overrides for feature flags more predictable by only allowing a single point of overrides per app.

The previous behavior was:
* Common flags: the last override would win.
* JS flags: overrides would be combined and the last definition for each flag would win.

The new behavior, both for common flags and for JS flags, is to only have a single override.

Changelog: [internal]

Reviewed By: mdvacca

Differential Revision: D53360609

fbshipit-source-id: 7e299d74fada188beb1bf17eb7e25ff97015781e
Summary:
Adding NullSafe on ReactBuildConfig is bringing issues in some apps, I'm reverting the change

bypass-github-export-checks

changelog: [internal] internal

Reviewed By: philIip

Differential Revision: D53434280

fbshipit-source-id: 865f303c41e8e6d6fdd04f12756a7277ec053777
Co-authored-by: Tomasz Sapeta <tsapeta@users.noreply.github.com>
Summary:
Pull Request resolved: facebook#42850

HybridData can not be null, fixing nullability in DefaultTurboModuleManagerDelegate

changelog: [internal] internal

Reviewed By: cortinico

Differential Revision: D53393139

fbshipit-source-id: 6f0bd7fd86cc2ddbff718aa73502de31c89e2945
Summary:
Pull Request resolved: facebook#42848

All these classes are NullSafe, let's mark them as NullSafe(Local) to ensure lint detect errors in the future

changelog: [internal] internal

Reviewed By: cortinico

Differential Revision: D53393140

fbshipit-source-id: 90e64c746a1d72cfd91876082bdc9642c72fd896
Summary:
Pull Request resolved: facebook#42852

All these classes are NullSafe, let's mark them as NullSafe(Local) to ensure lint detect errors in the future

changelog: [internal] internal

Reviewed By: cortinico

Differential Revision: D53393137

fbshipit-source-id: 9ed2d2b28d3ad6ecb644eeb494ac2511e3b2397e
)

Summary:
Pull Request resolved: facebook#42854

All these classes are NullSafe, let's mark them as NullSafe(Local) to ensure lint detect errors in the future

changelog: [internal] internal

Reviewed By: cortinico

Differential Revision: D53393141

fbshipit-source-id: a83840a904ba06f4dfbded2480c19d1457566f4c
Summary:
Pull Request resolved: facebook#42855

All these classes are NullSafe, let's mark them as NullSafe(Local) to ensure lint detect errors in the future

changelog: [internal] internal

Reviewed By: cortinico

Differential Revision: D53393136

fbshipit-source-id: 29884933200a5f9251954fc3488828767a4013fa
Summary:
Pull Request resolved: facebook#42853

All these classes are NullSafe, let's mark them as NullSafe(Local) to ensure lint detect errors in the future

changelog: [internal] internal

Reviewed By: cortinico

Differential Revision: D53393135

fbshipit-source-id: 74a7f710eb7bf5a2e2b39e07ee4b026a425f521c
Summary:
Pull Request resolved: facebook#42856

All these classes are NullSafe, let's mark them as NullSafe(Local) to ensure lint detect errors in the future

changelog: [internal] internal

Reviewed By: cortinico

Differential Revision: D53393476

fbshipit-source-id: b2278befdbfa45209acf36c8c73b276bb897ac8f
Summary:
Pull Request resolved: facebook#42861

All these classes are NullSafe, let's mark them as NullSafe(Local) to ensure lint detect errors in the future

changelog: [internal] internal

Reviewed By: rshest

Differential Revision: D53393474

fbshipit-source-id: 4bbdf72729d3a84ad90a3071d8abcedefbe89878
…ook#42857)

Summary:
Pull Request resolved: facebook#42857

All these classes are NullSafe, let's mark them as NullSafe(Local) to ensure lint detect errors in the future

changelog: [internal] internal

Reviewed By: rshest

Differential Revision: D53393472

fbshipit-source-id: 717507391623d67d03d83bf344475a4a830504a7
Summary:
Pull Request resolved: facebook#42866

Fix nullability lint warn

changelog: [internal] internal

Reviewed By: cortinico

Differential Revision: D53395978

fbshipit-source-id: 01c34bf8051d8beb3eaa831f981f67daf580c0ad
Summary:
Pull Request resolved: facebook#42860

All these classes are NullSafe, let's mark them as NullSafe(Local) to ensure lint detect errors in the future

changelog: [internal] internal

Reviewed By: cortinico

Differential Revision: D53393473

fbshipit-source-id: 93e6be94cee4f852c85464ce151670b1c8f1f913
Summary:
Pull Request resolved: facebook#42802

Changelog: [Internal]

Reviewed By: SamChou19815

Differential Revision: D53337590

fbshipit-source-id: 31e40d692495fc795d3d69b20ba12fcb420b28e7
…variable declaration in xplat/js (facebook#42880)

Summary:
Pull Request resolved: facebook#42880

Convert `const x = (a: T)` into `const x: T = a`. These are equivalent in Flow, and helps reduce the amount of colon-casts.

```
js1 flow-runner codemod flow/castToAnnotatedVariable --target colon xplat/js
```

Changelog: [Internal]

drop-conflicts

Reviewed By: SamChou19815

Differential Revision: D53392999

fbshipit-source-id: 3b4602618d6990e8642b423edaeb4e89b01a199a
Summary:
Pull Request resolved: facebook#42883

As per title.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D53355697

fbshipit-source-id: cb145c31764ae8b57489b1a1183918924e6cb49b
Summary:
Pull Request resolved: facebook#42758

Changelog: [iOS][Added] - introduce native api to access RuntimeExecutor

The goal of this API is to provide a safe way to access the `jsi::runtime` in bridgeless mode. The decision to limit access to the runtime in bridgeless was a conscious one - the runtime pointer is not thread-safe and its lifecycle must be managed correctly by owners.

However, interacting with the runtime is an advanced use case we would want to support. Our recommended ways to access the runtime in bridgeless mode is either 1) via the RuntimeExecutor, or 2) via a C++ TurboModule.

This diff introduces the API that would allow for 1). The integration consists of these parts:
- wrapper object for RuntimeExecutor access, `RCTRuntimeExecutor`. The NSObject wrapper is necessary so we can make it the property of a swift module
- new protocol API,`RCTRuntimeExecutionModule`, for modules to access the RuntimeExecutor block
- integration within the bridgeless infrastructure

Reviewed By: javache

Differential Revision: D53256188

fbshipit-source-id: 8fadbe8f760cdb8928bbf3f7e4829e27b7617b9d
Summary:
Pull Request resolved: facebook#42816

Some refactoring to formalise CDP protocol types (`protocol.js` is aligned with [Chrome's `protocol.d.ts` source](https://github.com/ChromeDevTools/devtools-protocol/blob/master/types/protocol.d.ts)), and to demarcate these from other types in the Inspector Proxy prototol.

Changelog: [Internal]

Reviewed By: robhogan

Differential Revision: D53352243

fbshipit-source-id: b2e413bdbd6164fd1b8adba6b5853ac107725b34
Summary:
Pull Request resolved: facebook#42817

## Context

We're introducing the concept of **capability flags** to provide granular control of behaviours in the Inspector Proxy, to replace the recently added `type: 'Legacy' | 'Modern'` target switch.

A capability flag disables a specific feature/hack in the Inspector Proxy layer by indicating that the target supports one or more modern CDP features.

## This diff

- Implements capability flags in `InspectorProxy`, via an optional `"capabilities"` key returned by a device's CDP server.
- Wires up an initial flag, `nativePageReloads`, to disable the legacy "React Native Experimental (Improved Chrome Reloads)" page and emulated page reload behaviour.

Changelog: [Internal]

Reviewed By: robhogan

Differential Revision: D53352244

fbshipit-source-id: 622fc6028174919b9bf776e3ac52724d97ca2734
Saadnajmi and others added 29 commits May 21, 2024 11:18
* Replace `--frozen-lockfile` with --immutable

* Remove `apple-install-dependencies

* Update  apple-xcode-select

* Use macos-13-arm64

* Build Debug only

* Use custom Xcodebuild template

* Separate build & test

* Use Codeql v2

* Update template syntax

* try major refactor

* rename apple-job-publish

* try big 2

* Fix Hermes

* Comment out test temporarily

* Fix visionOS + New Arch + JSC

* Move iOS down, visionOS -> xrOS

* Comment out failing jobs

* Update build-test-rntester.yml

* Move scripts to scripts folder

* Update RNTA script for RNM use

* Update VM image per notice

* Update gitignore

* Don't test on visionOS

* fix use out-of-scope memory warning (facebook#41441)

Summary:
Pull Request resolved: facebook#41441

changelog: [internal]

Reviewed By: cipolleschi

Differential Revision: D51233760

fbshipit-source-id: 5fc7ab22220e3d80729243e715e22e85e3ba7afa

* Retry xcode tests on failure

---------

Co-authored-by: Samuel Susla <samuelsusla@meta.com>
Bumps [rexml](https://github.com/ruby/rexml) from 3.2.5 to 3.2.8.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/ruby/rexml/releases">rexml's
releases</a>.</em></p>
<blockquote>
<h2>REXML 3.2.8 - 2024-05-16</h2>
<h3>Fixes</h3>
<ul>
<li>Suppressed a warning</li>
</ul>
<h2>REXML 3.2.7 - 2024-05-16</h2>
<h3>Improvements</h3>
<ul>
<li>
<p>Improve parse performance by using <code>StringScanner</code>.</p>
<ul>
<li>
<p><a
href="https://github.com/ruby/rexml/issues/106">GH-106</a></p>
</li>
<li>
<p><a
href="https://github.com/ruby/rexml/issues/107">GH-107</a></p>
</li>
<li>
<p><a
href="https://github.com/ruby/rexml/issues/108">GH-108</a></p>
</li>
<li>
<p><a
href="https://github.com/ruby/rexml/issues/109">GH-109</a></p>
</li>
<li>
<p><a
href="https://github.com/ruby/rexml/issues/112">GH-112</a></p>
</li>
<li>
<p><a
href="https://github.com/ruby/rexml/issues/113">GH-113</a></p>
</li>
<li>
<p><a
href="https://github.com/ruby/rexml/issues/114">GH-114</a></p>
</li>
<li>
<p><a
href="https://github.com/ruby/rexml/issues/115">GH-115</a></p>
</li>
<li>
<p><a
href="https://github.com/ruby/rexml/issues/116">GH-116</a></p>
</li>
<li>
<p><a
href="https://github.com/ruby/rexml/issues/117">GH-117</a></p>
</li>
<li>
<p><a
href="https://github.com/ruby/rexml/issues/118">GH-118</a></p>
</li>
<li>
<p><a
href="https://github.com/ruby/rexml/issues/119">GH-119</a></p>
</li>
<li>
<p><a
href="https://github.com/ruby/rexml/issues/121">GH-121</a></p>
</li>
<li>
<p>Patch by NAITOH Jun.</p>
</li>
</ul>
</li>
<li>
<p>Improved parse performance when an attribute has many
<code>&lt;</code>s.</p>
<ul>
<li><a
href="https://github.com/ruby/rexml/issues/124">GH-124</a></li>
</ul>
</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>
<p>XPath: Fixed a bug of <code>normalize_space(array)</code>.</p>
<ul>
<li>
<p><a
href="https://github.com/ruby/rexml/issues/110">GH-110</a></p>
</li>
<li>
<p><a
href="https://github.com/ruby/rexml/issues/111">GH-111</a></p>
</li>
<li>
<p>Patch by flatisland.</p>
</li>
</ul>
</li>
<li>
<p>XPath: Fixed a bug that wrong position is used with nested path.</p>
<ul>
<li>
<p><a
href="https://github.com/ruby/rexml/issues/110">GH-110</a></p>
</li>
<li>
<p><a
href="https://github.com/ruby/rexml/issues/122">GH-122</a></p>
</li>
<li>
<p>Reported by jcavalieri.</p>
</li>
<li>
<p>Patch by NAITOH Jun.</p>
</li>
</ul>
</li>
<li>
<p>Fixed a bug that an exception message can't be generated for
invalid encoding XML.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/ruby/rexml/blob/master/NEWS.md">rexml's
changelog</a>.</em></p>
<blockquote>
<h2>3.2.8 - 2024-05-16 {#version-3-2-8}</h2>
<h3>Fixes</h3>
<ul>
<li>Suppressed a warning</li>
</ul>
<h2>3.2.7 - 2024-05-16 {#version-3-2-7}</h2>
<h3>Improvements</h3>
<ul>
<li>
<p>Improve parse performance by using <code>StringScanner</code>.</p>
<ul>
<li>
<p><a
href="https://github.com/ruby/rexml/issues/106">GH-106</a></p>
</li>
<li>
<p><a
href="https://github.com/ruby/rexml/issues/107">GH-107</a></p>
</li>
<li>
<p><a
href="https://github.com/ruby/rexml/issues/108">GH-108</a></p>
</li>
<li>
<p><a
href="https://github.com/ruby/rexml/issues/109">GH-109</a></p>
</li>
<li>
<p><a
href="https://github.com/ruby/rexml/issues/112">GH-112</a></p>
</li>
<li>
<p><a
href="https://github.com/ruby/rexml/issues/113">GH-113</a></p>
</li>
<li>
<p><a
href="https://github.com/ruby/rexml/issues/114">GH-114</a></p>
</li>
<li>
<p><a
href="https://github.com/ruby/rexml/issues/115">GH-115</a></p>
</li>
<li>
<p><a
href="https://github.com/ruby/rexml/issues/116">GH-116</a></p>
</li>
<li>
<p><a
href="https://github.com/ruby/rexml/issues/117">GH-117</a></p>
</li>
<li>
<p><a
href="https://github.com/ruby/rexml/issues/118">GH-118</a></p>
</li>
<li>
<p><a
href="https://github.com/ruby/rexml/issues/119">GH-119</a></p>
</li>
<li>
<p><a
href="https://github.com/ruby/rexml/issues/121">GH-121</a></p>
</li>
<li>
<p>Patch by NAITOH Jun.</p>
</li>
</ul>
</li>
<li>
<p>Improved parse performance when an attribute has many
<code>&lt;</code>s.</p>
<ul>
<li><a
href="https://github.com/ruby/rexml/issues/124">GH-124</a></li>
</ul>
</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>
<p>XPath: Fixed a bug of <code>normalize_space(array)</code>.</p>
<ul>
<li>
<p><a
href="https://github.com/ruby/rexml/issues/110">GH-110</a></p>
</li>
<li>
<p><a
href="https://github.com/ruby/rexml/issues/111">GH-111</a></p>
</li>
<li>
<p>Patch by flatisland.</p>
</li>
</ul>
</li>
<li>
<p>XPath: Fixed a bug that wrong position is used with nested path.</p>
<ul>
<li>
<p><a
href="https://github.com/ruby/rexml/issues/110">GH-110</a></p>
</li>
<li>
<p><a
href="https://github.com/ruby/rexml/issues/122">GH-122</a></p>
</li>
<li>
<p>Reported by jcavalieri.</p>
</li>
<li>
<p>Patch by NAITOH Jun.</p>
</li>
</ul>
</li>
<li>
<p>Fixed a bug that an exception message can't be generated for</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ruby/rexml/commit/1cf37bab79d61d6183bbda8bf525ed587012b718"><code>1cf37ba</code></a>
Add 3.2.8 entry</li>
<li><a
href="https://github.com/ruby/rexml/commit/b67081caa807fad48d31983137b7ed8711e7f0df"><code>b67081c</code></a>
Remove an unused variable (<a
href="https://github.com/ruby/rexml/issues/128">#128</a>)</li>
<li><a
href="https://github.com/ruby/rexml/commit/94e180e939baff8f7e328a287bb96ebbd99db6eb"><code>94e180e</code></a>
Suppress a warning</li>
<li><a
href="https://github.com/ruby/rexml/commit/d574ba5fe1c40adbafbf16e47533f4eb32b43e60"><code>d574ba5</code></a>
ci: install only gems required for running tests (<a
href="https://github.com/ruby/rexml/issues/129">#129</a>)</li>
<li><a
href="https://github.com/ruby/rexml/commit/4670f8fc187c89d0504d027ea997959287143453"><code>4670f8f</code></a>
Add missing Thanks section</li>
<li><a
href="https://github.com/ruby/rexml/commit/9ba35f9f032c07c39b8c86536ac13a9cb313bef2"><code>9ba35f9</code></a>
Bump version</li>
<li><a
href="https://github.com/ruby/rexml/commit/085def07425561862d8329001168d8bc9c75ae8f"><code>085def0</code></a>
Add 3.2.7 entry</li>
<li><a
href="https://github.com/ruby/rexml/commit/4325835f92f3f142ebd91a3fdba4e1f1ab7f1cfb"><code>4325835</code></a>
Read quoted attributes in chunks (<a
href="https://github.com/ruby/rexml/issues/126">#126</a>)</li>
<li><a
href="https://github.com/ruby/rexml/commit/e77365e2d1c9cdb822c7e09b05fc5a4903d92c23"><code>e77365e</code></a>
Exclude older than 2.6 on macos-14</li>
<li><a
href="https://github.com/ruby/rexml/commit/bf2c8edb5facb206c25a62952aa37218793283e6"><code>bf2c8ed</code></a>
Move development dependencies to Gemfile (<a
href="https://github.com/ruby/rexml/issues/124">#124</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/ruby/rexml/compare/v3.2.5...v3.2.8">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rexml&package-manager=bundler&previous-version=3.2.5&new-version=3.2.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/microsoft/react-native-macos/network/alerts).

</details>
Bumps [ip](https://github.com/indutny/node-ip) from 1.1.8 to 1.1.9.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/indutny/node-ip/commit/1ecbf2fd8c0cc85e44c3b587d2de641f50dc0217"><code>1ecbf2f</code></a>
1.1.9</li>
<li><a
href="https://github.com/indutny/node-ip/commit/6a3ada9b471b09d5f0f5be264911ab564bf67894"><code>6a3ada9</code></a>
lib: fixed CVE-2023-42282 and added unit test</li>
<li>See full diff in <a
href="https://github.com/indutny/node-ip/compare/v1.1.8...v1.1.9">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ip&package-manager=npm_and_yarn&previous-version=1.1.8&new-version=1.1.9)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/microsoft/react-native-macos/network/alerts).

</details>

> **Note**
> Automatic rebases have been disabled on this pull request as it has
been open for over 30 days.
Summary:
This PR resolves issues with retrieving appearance in multi-window apps by calling `RCTKeyWindow()` instead of retrieving the AppDelegate window property. It also does small optimization in the RCTAlertController.

[IOS] [FIXED] - Fix retrieving current appearance in multi-window apps

Pull Request resolved: facebook#42231

Test Plan: CI Green, it should work the same as before

Reviewed By: NickGerleman

Differential Revision: D52802756

Pulled By: cipolleschi

fbshipit-source-id: 60b5f7045f41be19caae5102f0dc321d4ecdcd2f
…2125)

## Summary:

Cherry pick
facebook@d00d35e
to fix a bug we're seeing internally

## Test Plan:

CI should pass
…ebook#39835)

Summary:
…king root view frame changes

Looking through where this was introduced (facebook#37649), it seems the notification went from tracking root view size changes to window size changes. However, it was not renamed. I was using it for root view changes in RN-macOS, which.. I guess I'll refactor. Meanwhile, let's update the name?

## Changelog:

[IOS] [CHANGED] - Rename `RCTRootViewFrameDidChangeNotification` as it's not tracking root view frame changes

Pull Request resolved: facebook#39835

Test Plan: CI should pass

Reviewed By: cipolleschi

Differential Revision: D50173742

Pulled By: javache

fbshipit-source-id: 4651696174c439800984a5e6cf642200bb9c4f3c
…#42396)

Summary:
Pull Request resolved: facebook#42396

Cmmunity reported [facebook#42120](facebook#42120) where React Native was crashing if RCTDeviceInfo native module was receiving a notification while the bridge is invalidating.

Upon investigation, I realized that:
1. The RCTDeviceInfo module is never invalidated
2. Observers are still observing even when the Bridge is in an invalidated state and it is not back up.

This change makes sure that we invalidate the `RCTDeviceInfo.mm` module and that we unregister the observers.

## Changelog:
[iOS][Fixed] - Make `RCTDeviceInfo` listen to invalidate events and unregister observers while invalidating the bridge

Reviewed By: RSNara

Differential Revision: D52912604

fbshipit-source-id: 1727bcdef5393b1bd5a272e2143bc65456c2a389
…o module (facebook#43737)

Summary:
Previous fix brings in facebook#42396. Seems it's a mistake to re-add observer?
So let's remove it and also not `invalidate` method not be called twice.

[IOS] [FIXED] - Remove invalidate observer instead of re-adding observer in DeviceInfo module

Pull Request resolved: facebook#43737

Test Plan: Fix for facebook#42120 also works.

Reviewed By: javache

Differential Revision: D55692219

Pulled By: cipolleschi

fbshipit-source-id: dba1ddc39a9f2611fc2b84fadf8c23827891379a
## Summary:

Pick up
facebook@d46d80d
and
facebook@44159e3
from upstream to fix a potential hang we're seeing internally

## Test Plan:

CI should pass
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](micromatch/braces@3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
## Summary:

Originally, I meant to just update the lock to resolve some CVEs. It
seems our lock is actually clean, so instead I'm updating yarn to the
latest version.

## Test Plan:

CI passes.
…able) (#2149)

* [0.73-stable] New events for RCTUIView (#2137)

* Move mouse events from RCTView to superclass RCTUIView

* Add focus and responder events

* Move mouse event implementations to RCTUIView class

---------

Co-authored-by: Adam Gleitman <adgleitm@microsoft.com>

* [0.73-stable] Add mouse hover events to `RCTTextView` (#2143)

* Initial implementation

* Refactor and dedupe some code

* Basic error handling

* Clarify comment about mousemove order

* Cleanup: enumerate all text attributes at once instead of doing multiple passes

* Use *shadow* view traversal for handling nested mouse events

* Remove potentially confusing comment

* descendantViewTags doesn't need to worry about duplicates

* Distinguish between embedded views and virtual text subviews

* Scope _virtualSubviews to macOS only

* nit: use separate #if blocks for `setTextStorage:...` and `getRectForCharRange:` inclusions

* TARGET_OS_OSX blocks for virtualSubviewTags

* Remove #if TARGET_OS_OSX blocks, since these changes are potentially upstreamable

* Clarify a TODO

---------

Co-authored-by: Adam Gleitman <adgleitm@microsoft.com>

* Add an example for Text mouse hover events

* Add missing macOS props to Text.d.ts

* Fix flow errors

* Fix lint errors

---------

Co-authored-by: Adam Gleitman <adgleitm@microsoft.com>
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 4.3.2 to 4.4.1.
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](NaturalIntelligence/fast-xml-parser@v4.3.2...v4.4.1)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps
[fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser)
from 4.3.2 to 4.4.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md">fast-xml-parser's
changelog</a>.</em></p>
<blockquote>
<p><!-- raw HTML omitted -->Note: If you find missing information about
particular minor version, that version must have been changed without
any functional change in this library.<!-- raw HTML omitted --></p>
<p><strong>4.4.1 / 2024-07-28</strong></p>
<ul>
<li>v5 fix: maximum length limit to currency value</li>
<li>fix <a
href="https://github.com/NaturalIntelligence/fast-xml-parser/issues/634">#634</a>:
build attributes with oneListGroup and attributesGroupName (<a
href="https://github.com/NaturalIntelligence/fast-xml-parser/issues/653">#653</a>)(By
<a href="https://github.com/a-rasin">Andreas Naziris</a>)</li>
<li>fix: get oneListGroup to work as expected for array of strings (<a
href="https://github.com/NaturalIntelligence/fast-xml-parser/issues/662">#662</a>)(By
<a href="https://github.com/a-rasin">Andreas Naziris</a>)</li>
</ul>
<p><strong>4.4.0 / 2024-05-18</strong></p>
<ul>
<li>fix <a
href="https://github.com/NaturalIntelligence/fast-xml-parser/issues/654">#654</a>:
parse attribute list correctly for self closing stop node.</li>
<li>fix: validator bug when closing tag is not opened. (<a
href="https://github.com/NaturalIntelligence/fast-xml-parser/issues/647">#647</a>)
(By <a href="https://github.com/RyosukeFukatani">Ryosuke
Fukatani</a>)</li>
<li>fix <a
href="https://github.com/NaturalIntelligence/fast-xml-parser/issues/581">#581</a>:
typings; return type of <code>tagValueProcessor</code> &amp;
<code>attributeValueProcessor</code> (<a
href="https://github.com/NaturalIntelligence/fast-xml-parser/issues/582">#582</a>)
(By <a href="">monholm</a>)</li>
</ul>
<p><strong>4.3.6 / 2024-03-16</strong></p>
<ul>
<li>Add support for parsing HTML numeric entities (<a
href="https://github.com/NaturalIntelligence/fast-xml-parser/issues/645">#645</a>)
(By <a href="https://github.com/DerZade">Jonas Schade </a>)</li>
</ul>
<p><strong>4.3.5 / 2024-02-24</strong></p>
<ul>
<li>code for v5 is added for experimental use</li>
</ul>
<p><strong>4.3.4 / 2024-01-10</strong></p>
<ul>
<li>fix: Don't escape entities in CDATA sections (<a
href="https://github.com/NaturalIntelligence/fast-xml-parser/issues/633">#633</a>)
(By <a href="https://github.com/wackbyte">wackbyte</a>)</li>
</ul>
<p><strong>4.3.3 / 2024-01-10</strong></p>
<ul>
<li>Remove unnecessary regex</li>
</ul>
<p><strong>4.3.2 / 2023-10-02</strong></p>
<ul>
<li>fix <code>jObj.hasOwnProperty</code> when give input is null (By <a
href="https://github.com/ardatan">Arda TANRIKULU</a>)</li>
</ul>
<p><strong>4.3.1 / 2023-09-24</strong></p>
<ul>
<li>revert back &quot;Fix typings for builder and parser to make return
type generic&quot; to avoid failure of existing projects. Need to decide
a common approach.</li>
</ul>
<p><strong>4.3.0 / 2023-09-20</strong></p>
<ul>
<li>Fix stopNodes to work with removeNSPrefix (<a
href="https://github.com/NaturalIntelligence/fast-xml-parser/issues/607">#607</a>)
(<a
href="https://github.com/NaturalIntelligence/fast-xml-parser/issues/608">#608</a>)
(By [Craig Andrews]<a
href="https://github.com/candrews">https://github.com/candrews</a>))</li>
<li>Fix <a
href="https://github.com/NaturalIntelligence/fast-xml-parser/issues/610">#610</a>
ignore properties set to Object.prototype</li>
<li>Fix typings for builder and parser to make return type generic (By
<a href="https://github.com/sarahdayan">Sarah Dayan</a>)</li>
</ul>
<p><strong>4.2.7 / 2023-07-30</strong></p>
<ul>
<li>Fix: builder should set text node correctly when only textnode is
present (<a
href="https://github.com/NaturalIntelligence/fast-xml-parser/issues/589">#589</a>)
(By <a href="https://github.com/joneqian">qianqing</a>)</li>
<li>Fix: Fix for null and undefined attributes when building xml (<a
href="https://github.com/NaturalIntelligence/fast-xml-parser/issues/585">#585</a>)
(<a
href="https://github.com/NaturalIntelligence/fast-xml-parser/issues/598">#598</a>).
A null or undefined value should be ignored. (By <a
href="https://github.com/cecia234">Eugenio Ceschia</a>)</li>
</ul>
<p><strong>4.2.6 / 2023-07-17</strong></p>
<ul>
<li>Fix: Remove trailing slash from jPath for self-closing tags (<a
href="https://github.com/NaturalIntelligence/fast-xml-parser/issues/595">#595</a>)
(By <a href="https://github.com/m-radzikowski">Maciej
Radzikowski</a>)</li>
</ul>
<p><strong>4.2.5 / 2023-06-22</strong></p>
<ul>
<li>change code implementation</li>
</ul>
<p><strong>4.2.4 / 2023-06-06</strong></p>
<ul>
<li>fix security bug</li>
</ul>
<p><strong>4.2.3 / 2023-06-05</strong></p>
<ul>
<li>fix security bug</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/NaturalIntelligence/fast-xml-parser/commit/d40e29cc4bbe637d7c95060b44f7a4d275facd01"><code>d40e29c</code></a>
update package detail and browser bundles</li>
<li><a
href="https://github.com/NaturalIntelligence/fast-xml-parser/commit/d0bfe8a3a2813a185f39591bbef222212d856164"><code>d0bfe8a</code></a>
fix maxlength for currency value</li>
<li><a
href="https://github.com/NaturalIntelligence/fast-xml-parser/commit/2c14fcf0482380646f67ba98ff658f11c914ac04"><code>2c14fcf</code></a>
Update bug-report-or-unexpected-output.md</li>
<li><a
href="https://github.com/NaturalIntelligence/fast-xml-parser/commit/acf610f25d75ece793c4e24b4673e60871c04341"><code>acf610f</code></a>
fix <a
href="https://github.com/NaturalIntelligence/fast-xml-parser/issues/634">#634</a>:
build attributes with oneListGroup and attributesGroupName (<a
href="https://github.com/NaturalIntelligence/fast-xml-parser/issues/653">#653</a>)</li>
<li><a
href="https://github.com/NaturalIntelligence/fast-xml-parser/commit/931e91013b6ea6bb7425c3b1758dc50a6dfc730c"><code>931e910</code></a>
fix: get oneListGroup to work as expected for array of strings (<a
href="https://github.com/NaturalIntelligence/fast-xml-parser/issues/662">#662</a>)</li>
<li><a
href="https://github.com/NaturalIntelligence/fast-xml-parser/commit/b8e40c842bf63b7d4d706f016d00e259cbc4379e"><code>b8e40c8</code></a>
Update ISSUE_TEMPLATE.md</li>
<li><a
href="https://github.com/NaturalIntelligence/fast-xml-parser/commit/a6265ba8563eac3080a48397dcbcd9c847b21df2"><code>a6265ba</code></a>
chore: add trend image (<a
href="https://github.com/NaturalIntelligence/fast-xml-parser/issues/658">#658</a>)</li>
<li><a
href="https://github.com/NaturalIntelligence/fast-xml-parser/commit/db1c5484808b1100224c258a40d1b07057f1d054"><code>db1c548</code></a>
redesign README.md</li>
<li><a
href="https://github.com/NaturalIntelligence/fast-xml-parser/commit/338a2c62664f9c9474cf0ec9e47bdfc092ce7f5f"><code>338a2c6</code></a>
Rename 1.Getting Started.md to 1.GettingStarted.md</li>
<li><a
href="https://github.com/NaturalIntelligence/fast-xml-parser/commit/c762537495aa1c44c8d9088a0e2f6004b45116c7"><code>c762537</code></a>
Rename v5 docs filenames (<a
href="https://github.com/NaturalIntelligence/fast-xml-parser/issues/659">#659</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/NaturalIntelligence/fast-xml-parser/compare/v4.3.2...v4.4.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=fast-xml-parser&package-manager=npm_and_yarn&previous-version=4.3.2&new-version=4.4.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/microsoft/react-native-macos/network/alerts).

</details>
* fix(iOS): adjust RCTRedBox to work for iPad and support orientation changes (facebook#41217)

Summary:
When opening `RCTRedBox` on an iPad (and also visionOS) there was an issue with buttons width going out of screen. When changing screen orientation, RedBox wasn't recalculating view positions.

**Root cause**: Getting frame of root view to display this modal and basing all calculations on it.

**Solution**: Use Auto Layout to build UI that responds to orientation changes and device specific modal presentation.

I've also tested it with adding custom buttons to RedBox and it works properly.

[IOS] [FIXED] - adjust RCTRedBox to work for iPad and support orientation changes

Pull Request resolved: facebook#41217

Test Plan:
Launch the app without metro running and check out RedBox that's shown there. Also change screen orientation to see proper recalculation of view positions.

https://github.com/facebook/react-native/assets/52801365/892dcfe7-246f-4f36-be37-12c139c207ac

https://github.com/facebook/react-native/assets/52801365/dfd0c3d8-5997-462d-97ec-dcc3de452e26

Reviewed By: GijsWeterings

Differential Revision: D50734569

Pulled By: javache

fbshipit-source-id: 51b854a47caf90ae46fcd32c4adcc64ec2ceb63f

* refactor: use less verbose API for RCTRedBox constraints (facebook#42261)

Summary:
This PR is a continuation of my previous PR where I refactored RCTRedBox to use Auto Layout (facebook#41217). This PR uses less verbose API for defining constraints.

## Changelog:

[IOS] [CHANGED] - use less verbose Auto Layout API for RCTRedBox constraints

Pull Request resolved: facebook#42261

Test Plan:
Launch the app without metro enabled to see the RCTRedBox

![CleanShot 2024-01-12 at 14 54 20@2x](https://github.com/facebook/react-native/assets/52801365/32ee9916-3e32-46c3-9f6b-c313631aa1e5)
![CleanShot 2024-01-12 at 14 54 16@2x](https://github.com/facebook/react-native/assets/52801365/c625b9b9-b462-4e67-831f-0192427bbe93)

Reviewed By: NickGerleman

Differential Revision: D52730458

Pulled By: javache

fbshipit-source-id: dc7227e7b6e3238c195342cb0460850b57eb75c3

* refactor Redbox on macOS and present as a sheet

* present RCTDevLoadingView as a sheet

* refactor Logbox and present as a sheet

* change RCTRootView.loadingView to RCTPlatformView

* update Podfile.lock

* PR feedback

---------

Co-authored-by: Oskar Kwaśniewski <oskarkwasniewski@icloud.com>
Co-authored-by: Alicia Drummond <7664112+FalseLobster@users.noreply.github.com>
Picking up from
#2145, many thanks
to @FalseLobster for the bulk of the work :)

Merge up to 0.74 branch cut
(facebook@c99d96b)

This PR combines most of the work into the single large merge commit for
a couple of reasons:
1. To preserve git history with upstream React Native, we cannot "squash
or rebase the commits. Therefore, we must do a merge commit.
2. I am personally not a fan of committing git merge markers and
resolving them in followup commits.

I did have a couple of extra commits after the merge commit for work
that I feel could be separated out. I will do my best to list
interesting changes in this merge, and what files to look at + what
changes I made in those files. For a more "exhaustive" list, I also
listed all files that had merge conflicts below. This isn't 100% of the
changes (I touched some extra files for some lint fixes / shimming of
`UIView` -> `RCTPlatformView` / `RCTUIView`) but it will get you a good
80-90%.

## Summary:

### Interesting upstream changes:

Each of these changes resulted in extra work to support macOS. See the
original commit, which files were touched, and then how those files are
diffed in this change.

-
facebook@1b85ed9
Moved RCTPushNotificationManager to use UNNotification APIs
-
facebook@3f621df
RCTActionSheetManager was reworked for synchronous calls
-
facebook@e2eb26c
RCTRedBox was reworked for iPad and orientation changes, the
functionality of RCTRedBoxWindow was reworked into the new
ViewController introduced upstream, RCTRedBoxController
-
facebook@0806ad7
Introduced a new stable id for the inspector dev server based on UUID
which required a custom macOS implementation
-
facebook@4c108aa
Added support to dynamic colors in Fabric

### Other interesting changes:
- Removed a lot of diffs around adding a `scaleFactor` to places where
we manually calculate frames / sizes. With React Native 0.74, [Yoga 3.0
introduces Per-Node
`PointScaleFactor`](#356),
which is probably more accurate than the `scale` prop we added to
RCTShadowView that keys off the main screen.
- Reverted #356.
This change added an integratiion test, and introduced a bunch of JS
diffs. The test itself has since been disabled, many of the JS diffs
were actually redundant (applying background colors in macOS only diffs
that got overwritten by new styling that upstream changes added, etc),
the test was not ported to new platforms (visionOS), and Integration
tests in general are heading a different direction (Appium +
WebdriverIO). I figured let's revert this and the diffs it introduced
rather than fix the integration test
- I had to manually ifdef out the dev menu `PerfMonitor` option as we
haven't ported that to macOS yet. This presumably now because a problem
as recent changes to bridgeless + removing diffs has changed which
modules are loaded when. In this case, I think the PerfMonitor module is
lazy loaded when you create the dev menu. Without the ifdef, we would
Redbox every time we open the dev menu.
- New lint rules did re-order a lot of imports in macOS specific
packages like our local-cli. I also did my best to move macOS specific
imports in JS files to a new line to make the diffs a little cleaner.
- I had to implement `RCTUITextView.selectedTextRange` on macOS, as that
started erroring in RNTester.

Todo:
- [ ] Publish new version of virtualized-list package

## Test Plan:

CI should pass. I encourage reviewers to check out and build RNTester as
well.

## List of merge conflicts.

```
Unmerged paths:
  (use "git add/rm <file>..." as appropriate to mark resolution)
	both modified:   Gemfile.lock
	both modified:   packages/community-cli-plugin/package.json
	both modified:   packages/metro-config/package.json
	both modified:   packages/normalize-color/package.json
	both modified:   packages/react-native/Libraries/Alert/NativeAlertManager.js
	both modified:   packages/react-native/Libraries/AppDelegate/RCTAppDelegate.h
	both modified:   packages/react-native/Libraries/AppDelegate/RCTAppDelegate.mm
	both modified:   packages/react-native/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js
	deleted by them: packages/react-native/Libraries/Components/Button.flow.js
	both modified:   packages/react-native/Libraries/Components/Button.js
	both modified:   packages/react-native/Libraries/Components/ScrollView/ScrollView.js
	both modified:   packages/react-native/Libraries/Core/NativeExceptionsManager.js
	both modified:   packages/react-native/Libraries/Image/Image.ios.js
	both modified:   packages/react-native/Libraries/Image/RCTImageLoader.mm
	both modified:   packages/react-native/Libraries/NativeModules/specs/NativeDevSettings.js
	both modified:   packages/react-native/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js
	both modified:   packages/react-native/Libraries/PushNotificationIOS/RCTPushNotificationManager.h
	both modified:   packages/react-native/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm
	both modified:   packages/react-native/Libraries/Text/Text/RCTTextView.mm
	both modified:   packages/react-native/Libraries/Text/TextInput/RCTInputAccessoryViewManager.mm
	both modified:   packages/react-native/React-Core.podspec
	both modified:   packages/react-native/React/Base/RCTUtils.m
	both modified:   packages/react-native/React/CoreModules/RCTActionSheetManager.mm
	both modified:   packages/react-native/React/CoreModules/RCTAlertController.mm
	both modified:   packages/react-native/React/CoreModules/RCTAlertManager.mm
	both modified:   packages/react-native/React/CoreModules/RCTAppearance.mm
	both modified:   packages/react-native/React/CoreModules/RCTDevLoadingView.mm
	both modified:   packages/react-native/React/CoreModules/RCTDeviceInfo.mm
	both modified:   packages/react-native/React/CoreModules/RCTRedBox.mm
	both modified:   packages/react-native/React/CoreModules/RCTStatusBarManager.mm
	both modified:   packages/react-native/React/CoreModules/RCTTiming.mm
	both modified:   packages/react-native/React/CoreModules/React-CoreModules.podspec
	both modified:   packages/react-native/React/DevSupport/RCTInspectorDevServerHelper.mm
	both modified:   packages/react-native/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm
	both modified:   packages/react-native/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm
	both modified:   packages/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm
	both modified:   packages/react-native/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm
	both modified:   packages/react-native/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm
	both modified:   packages/react-native/React/Fabric/RCTConversions.h
	both modified:   packages/react-native/React/Fabric/RCTSurfacePointerHandler.mm
	both modified:   packages/react-native/React/Fabric/RCTSurfacePresenter.mm
	both modified:   packages/react-native/React/Modules/RCTUIManager.m
	both modified:   packages/react-native/React/React-RCTFabric.podspec
	both modified:   packages/react-native/React/UIUtils/RCTUIUtils.m
	both modified:   packages/react-native/React/Views/RCTDebuggingOverlayManager.h
	both modified:   packages/react-native/React/Views/RCTModalHostViewController.m
	both modified:   packages/react-native/React/Views/RCTShadowView.m
	both modified:   packages/react-native/React/Views/ScrollView/RCTScrollViewManager.m
	both modified:   packages/react-native/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.h
	both modified:   packages/react-native/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm
	both modified:   packages/react-native/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h
	both modified:   packages/react-native/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/RCTPlatformColorUtils.mm
	deleted by them: packages/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/NSTextStorage+FontScaling.h
	both modified:   packages/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextPrimitivesConversions.h
	both modified:   packages/react-native/ReactCommon/react/renderer/uimanager/UIManager.cpp
	both modified:   packages/react-native/index.js
	both modified:   packages/react-native/package.json
	both modified:   packages/react-native/react-native.config.js
	both modified:   packages/react-native/scripts/cocoapods/helpers.rb
	both modified:   packages/react-native/scripts/cocoapods/jsengine.rb
	both modified:   packages/react-native/scripts/cocoapods/utils.rb
	both modified:   packages/react-native/third-party-podspecs/boost.podspec
	both modified:   packages/rn-tester/IntegrationTests/LayoutEventsTest.js
	both modified:   packages/rn-tester/NativeComponentExample/ios/RNTMyLegacyNativeViewManager.mm
	both modified:   packages/rn-tester/NativeComponentExample/ios/RNTMyNativeViewComponentView.h
	both modified:   packages/rn-tester/NativeComponentExample/ios/RNTMyNativeViewComponentView.mm
	both modified:   packages/rn-tester/NativeComponentExample/ios/RNTMyNativeViewManager.mm
	both modified:   packages/rn-tester/Podfile
	both modified:   packages/rn-tester/Podfile.lock
	both modified:   packages/rn-tester/RCTTest/FBSnapshotTestCase/FBSnapshotTestController.m
	both modified:   packages/rn-tester/RCTTest/FBSnapshotTestCase/UIImage+Compare.m
	both modified:   packages/rn-tester/RNTester/AppDelegate.mm
	deleted by them: packages/rn-tester/RNTester/RNTester.entitlements
	both modified:   packages/rn-tester/RNTesterPods.xcodeproj/project.pbxproj
	both modified:   packages/rn-tester/js/RNTesterApp.ios.js
	both modified:   packages/rn-tester/js/components/RNTesterBlock.js
	both modified:   packages/rn-tester/js/components/RNTesterModuleList.js
	both modified:   packages/rn-tester/js/examples/Accessibility/AccessibilityExample.js
	both modified:   packages/rn-tester/js/examples/Image/ImageExample.js
	both modified:   packages/rn-tester/js/examples/PlatformColor/PlatformColorExample.js
	both modified:   packages/rn-tester/js/examples/TextInput/TextInputExample.ios.js
	both modified:   packages/rn-tester/js/examples/TextInput/TextInputSharedExamples.js
	both modified:   packages/virtualized-lists/Lists/VirtualizedList.js
	both modified:   packages/virtualized-lists/Lists/VirtualizedListCellRenderer.js
	both modified:   packages/virtualized-lists/package.json
	deleted by them: scripts/__tests__/publish-npm-test.js
	deleted by them: scripts/monorepo/get-and-update-nightlies.js
	deleted by them: scripts/prepare-package-for-release.js
	deleted by them: scripts/publish-npm.js
	both modified:   scripts/releases/utils/release-utils.js
	both modified:   yarn.lock
```
…xtInput>` elements (#2159)

* Add _isCurrentlyEditing to RCTBaseTextInputView

* Move _isCurrentlyEditing check earlier in textInputDidBeginEditing

* Adjust comment

* nit: remove extra newline

* Limit changes to macOS

---------

Co-authored-by: Adam Gleitman <adgleitm@microsoft.com>
… with placeholder text (#2160)

* Add _isUpdatingPlaceholderText to prevent spurious "did end editing" notifications

* Organize macOS tags and ifdef blocks

---------

Co-authored-by: Adam Gleitman <adgleitm@microsoft.com>
* Cherry-pick d3e3e2a

* Port the rest of code

* Support most cursors on paper

* remove unnecessary style

* Support Fabric as well

* Share Paper and Fabric implementation

* fix typos

* Remove SF Symbol cursors

* update snapshots

* lint --fix

* Add vertical text

* undo space

* update snapshot

* fixes

* Update macros

* Implement RCTCursorNone

* Mark vertical-text as a macOS diff
Bumps [rexml](https://github.com/ruby/rexml) from 3.2.9 to 3.3.6.
- [Release notes](https://github.com/ruby/rexml/releases)
- [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md)
- [Commits](ruby/rexml@v3.2.9...v3.3.6)

---
updated-dependencies:
- dependency-name: rexml
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [ws](https://github.com/websockets/ws) from 6.2.2 to 6.2.3.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](websockets/ws@6.2.2...6.2.3)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Bump macOS minimum OS requirement to 11.0

* Update README.md

Co-authored-by: Tommy Nguyen <4123478+tido64@users.noreply.github.com>

* Update RCTUIKit.m

---------

Co-authored-by: Tommy Nguyen <4123478+tido64@users.noreply.github.com>
@Saadnajmi Saadnajmi closed this Aug 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.