Skip to content

feat: merge 0.84-merge into main - #3061

Closed
Saadnajmi wants to merge 458 commits into
saadnajmi/dag/v1-rctuikitfrom
saadnajmi/dag/0.84-merge
Closed

feat: merge 0.84-merge into main#3061
Saadnajmi wants to merge 458 commits into
saadnajmi/dag/v1-rctuikitfrom
saadnajmi/dag/0.84-merge

Conversation

@Saadnajmi

Copy link
Copy Markdown
Collaborator

Supersedes

Replaces #3030 with the locally recreated DAG node.

  • Old head: 2777fb703e8416d44eff7f5b5d29b498040a8883
  • Old tree: 48f23c8d96369c8753ce84c38a922304c0ce5972
  • Preserved review IDs: 4805800550
  • Recreated head: 4380c78b64c7ac7c51d6aeea238f17d6cc9d8e38
  • Recreated tree: aa0d5351c54cd49819ec0e824229dba8a75acac8
  • Planned base: saadnajmi/dag/v1-rctuikit

Recreation evidence

The ordered-parent DAG, conflict provenance, consumer-liveness checks, tree-delta confinement, validation logs, and verified bundle are archived in the Phase 1 evidence package. Published as a draft replacement for review.

cortinico and others added 30 commits November 25, 2025 10:32
…4663)

Summary:
Pull Request resolved: react#54663

This file is from the legacy architecture and no longer needed as it's party of legacy DevX stack.
Can safely be removed and cleaned up then.

Changelog:
[Internal] [Changed] -

Reviewed By: cipolleschi

Differential Revision: D87798709

fbshipit-source-id: 4332df01e04cad1d481cebd2f785e988e9ca96f9
Summary:
Pull Request resolved: react#54683

This class is no longer needed and can be removed.
This is a breaking change, but the class was long deprecated so we should be fine removing it.

Changelog:
[Android] [Removed] - Remove unnecessary and unused BridgeDevSupportManager

Reviewed By: javache

Differential Revision: D87859861

fbshipit-source-id: f77d7121ace072b2c37408b0d81d84309692e05a
Summary:
Pull Request resolved: react#54664

changelog: [internal]

This flag is not used anywhere, every app falls to default. Let's remove it.

Reviewed By: javache

Differential Revision: D87767422

fbshipit-source-id: a5a932d2e8cd5a9f55e62cda7d77beeaecdba00e
Summary:
Pull Request resolved: react#54689

This change applies categories to the changelog.

## Changelog:
[Internal] -

## Facebook:

I used AI to do so, and it did a pretty good job.

Prompt:
> if you look at the CHANGELOG.md for versions like v0.82.0, v0.81.0, v0.80.0, we have been annotating all the commits with an initial tag, which represent the area affected by the commit.
> I want you to go through all the commits of v0.83.0-rc.3, v0.83.0-rc.2, v0.83.0-rc.1, and v0.83.0-rc.0 and annothate each commit with the corresponding area.
> Try to reuse areas from previous releases if you can find matches. If it is unclear which area is affected, you can find the link to the commit at the end of the entry. Try to navigate there and read the commit summary to understand which area is affecting.

This is [the trajectory](https://www.internalfb.com/intern/devai/devmate/investigator?paste=P2056034816)

One **limitation** of DevMate is that it can't go and see what the commit is actually about. Probably cursor can do that.

Reviewed By: cortinico

Differential Revision: D87870198

fbshipit-source-id: ee61f4cf6a86d44935c393c720d38d7087895d3b
Summary:
Pull Request resolved: react#54688

This commit sorts the changelog entries by the tags we added in the previous change

## Changelog:
[Internal] -

## Facebook:
AI sorted these and it did a good job again.

### Prompt:

>The next step for this work is to sort each section of the CHANGELOG.md alphabetically, by using the tag we just added. So, for example, Commits with the Animated: tag should come before commits with the DevTools: tag.
> You only have to reorder the commits withing each section, do not apply any other change in the commit.
> Focus only on the 0.83 versions: 0.83.0-rc.3, 0.83.0-rc.2, 0.83.0-rc.1, 0.83.0-rc.0,

Trajectory: https://www.internalfb.com/intern/devai/devmate/investigator?paste=P2056053048

Reviewed By: cortinico

Differential Revision: D87871867

fbshipit-source-id: e2c30e8bda5d61751d9d41c614941dacc7be89c3
Summary:
Pull Request resolved: react#54640

# Summary:
Trying to add heif/heic files to the ReactVRPlayground but they are not included to metro.

Codegen via

```
js1 build buckfiles
arc build
```

Insired by D58261501

Changelog:
[General][Added] - Bundle support for heic and heif files
___

overriding_review_checks_triggers_an_audit_and_retroactive_review
Oncall Short Name: vr_metacam

Reviewed By: lenaic, robhogan, javache

Differential Revision: D86807752

fbshipit-source-id: 0fd2271f46dc8bc5d568360c50dcd2db067923f6
Summary:
Pull Request resolved: react#54693

SurfaceMountingManager stays around even after the surface is stopped - we need to clean these up.

Changelog: [Internal]

Reviewed By: zeyap

Differential Revision: D87875316

fbshipit-source-id: f47a8d34bc9b9f43071c9c113bac1a85a5171748
Summary:
Fixed an `ENOENT` exception when a dependency does not export `package.json`, and your repo is set up as a monorepo using pnpm.

> [!NOTE]
>
> This does not fix the actual search algorithm. We shouldn't be using `require.main.paths` here because it does not point to the correct starting point, the project root.
>
> This change only fixes the case where we cannot find `package.json` at all.

## Changelog:

[GENERAL] [FIXED] - Fixed an `ENOENT` exception when a dependency does not export `package.json`, and your repo is set up as a monorepo using pnpm

Pull Request resolved: react#54665

Test Plan:
**Before:**

```
% node node_modules/react-native/scripts/generate-codegen-artifacts.js -p . -o ios -t ios
[Codegen] Analyzing package.json
[Codegen] Could not find generated autolinking output at: /~/packages/app/example/ios/build/generated/autolinking/autolinking.json
[Codegen] Searching for codegen-enabled libraries in the app.
[Codegen] The "codegenConfig" field is not defined in package.json. Assuming there is nothing to generate at the app level.
[Codegen] Could not find generated autolinking output at: /~/packages/app/example/ios/build/generated/autolinking/autolinking.json
[Codegen] Searching for codegen-enabled libraries in the project dependencies.
[Codegen] Found react-native-webapis/web-storage
[Codegen] Found react-native
[Codegen] Found react-native-safe-area-context
Trying to find `package.json` for `webdriverio` in [
  '/~/node_modules/.store/react-native-virtual-a5dea7d647/package/scripts/node_modules',
  '/~/node_modules/.store/react-native-virtual-a5dea7d647/package/node_modules',
  '/~/node_modules/.store/react-native-virtual-a5dea7d647/node_modules',
  '/~/node_modules/.store/node_modules',
  '/~/node_modules',
  '/node_modules'
]
[Codegen] Error: ENOENT: no such file or directory, open ''
[Codegen] Done.
```

**After:**

```
% node node_modules/react-native/scripts/generate-codegen-artifacts.js -p . -o ios -t ios
[Codegen] Analyzing package.json
[Codegen] Could not find generated autolinking output at: /~/packages/app/example/ios/build/generated/autolinking/autolinking.json
[Codegen] Searching for codegen-enabled libraries in the app.
[Codegen] The "codegenConfig" field is not defined in package.json. Assuming there is nothing to generate at the app level.
[Codegen] Could not find generated autolinking output at: /~/packages/app/example/ios/build/generated/autolinking/autolinking.json
[Codegen] Searching for codegen-enabled libraries in the project dependencies.
[Codegen] Found react-native-webapis/web-storage
[Codegen] Found react-native
[Codegen] Found react-native-safe-area-context
Trying to find package.json for webdriverio in [
  '/~/node_modules/.store/react-native-virtual-a5dea7d647/package/scripts/node_modules',
  '/~/node_modules/.store/react-native-virtual-a5dea7d647/package/node_modules',
  '/~/node_modules/.store/react-native-virtual-a5dea7d647/node_modules',
  '/~/node_modules/.store/node_modules',
  '/~/node_modules',
  '/node_modules'
]
[Codegen] Searching for codegen-enabled libraries in react-native.config.js
[Codegen] Processing RNWWebStorageSpec
[Codegen] Searching for podspec in the project dependencies.
[Codegen] Supported Apple platforms: ios, macos, visionos for RNWWebStorageSpec
[Codegen] Processing FBReactNativeSpec
[Codegen] Searching for podspec in the project dependencies.
[Codegen] Processing safeareacontext
[Codegen] Searching for podspec in the project dependencies.
[Codegen] Supported Apple platforms: ios, macos, tvos, visionos for safeareacontext
[Codegen] Generating Native Code for RNWWebStorageSpec - ios
[Codegen] Generated artifacts: ios/build/generated/ios/ReactCodegen
[Codegen] [Codegen - FBReactNativeSpec] Skipping iOS code generation for FBReactNativeSpec as it has been generated already.
[Codegen] Generating Native Code for safeareacontext - ios
[Codegen] Generated artifacts: ios/build/generated/ios/ReactCodegen
[Codegen] Generating RCTThirdPartyComponentsProvider.h
[Codegen] Generated artifact: ios/build/generated/ios/ReactCodegen/RCTThirdPartyComponentsProvider.h
[Codegen] Generating RCTThirdPartyComponentsProvider.mm
[Codegen] Generated artifact: ios/build/generated/ios/ReactCodegen/RCTThirdPartyComponentsProvider.mm
[Codegen] Generating RCTModulesProvider.h
[Codegen] Generated artifact: ios/build/generated/ios/ReactCodegen/RCTModuleProviders.h
[Codegen] Generating RCTModuleProviders.mm
[Codegen] Generated artifact: ios/build/generated/ios/ReactCodegen/RCTModuleProviders.mm
[Codegen] Generating RCTAppDependencyProvider
[Codegen] Generated artifact: ios/build/generated/ios/ReactAppDependencyProvider/RCTAppDependencyProvider.h
[Codegen] Generated artifact: ios/build/generated/ios/ReactAppDependencyProvider/RCTAppDependencyProvider.mm
[Codegen] Generated podspec: ios/build/generated/ios/ReactAppDependencyProvider/ReactAppDependencyProvider.podspec
[Codegen] Generated podspec: ios/build/generated/ios/ReactCodegen/ReactCodegen.podspec
[Codegen] Generating Package.swift
[Codegen] Generated artifact: ios/build/generated/ios/Package.swift
[Codegen] Done.
```

Reviewed By: cipolleschi

Differential Revision: D87872496

Pulled By: cortinico

fbshipit-source-id: b9da0e1808248cb806a2a8a0ee575566ce027067
Summary:
Pull Request resolved: react#54670

This is a port back to main of [this commit](react@eb78fba) which landed in 0.83 to make sure that the network panel is enabled for Android and for iOS builds from source.

## Changelog:
[Internal] -

Reviewed By: cortinico

Differential Revision: D87864636

fbshipit-source-id: 7176407ec3af1407bf4bde9e9552dea7443ad92e
…utput path (react#54609)

Summary:
The argument for the output path to this CLI has always been optional, but the types didn't reflect this, which caused a few regressions in recent changes (e.g. react#53503)

There's several code paths where the `baseOutputPath` can be altered or derived in different ways, which wasn't respected in logic before the main codegen output block or in `generateReactCodegenPodspec`.

When applied, this PR alters the `baseOutputPath` logic to use a default by `computeBaseOutputPath` extracted from `computeOutputPath` and have an added `process.env.RCT_SCRIPT_OUTPUT_DIR` override, which was previously only applied to `readReactNativeConfig`

This should restore:
- `react-native codegen` being run without an `--outputPath` argument
- codegen running with a `package.json:codegenConfig.outputDir` override

Resolves react#54473

## Changelog:

[GENERAL] [FIXED] - Ensure codegen CLI supports unspecified `--outputPath` argument and respects `codegenConfig.outputDir` configurations

Pull Request resolved: react#54609

Test Plan: - Manually run `react-native codegen` in `rn-tester`

Reviewed By: cipolleschi

Differential Revision: D87456501

Pulled By: cortinico

fbshipit-source-id: 997e99af1f99227eb70955478643b28b1a90df61
Summary:
Fixed `hermes-compiler` not being resolved correctly when your repo is set up as a monorepo using pnpm.

## Changelog:

[GENERAL] [FIXED] - Fixed `hermes-compiler` not being resolved correctly when your repo is set up as a monorepo using pnpm.

Pull Request resolved: react#54667

Test Plan: n/a

Reviewed By: cortinico

Differential Revision: D87873273

Pulled By: cipolleschi

fbshipit-source-id: 4d60a00ae579bc4a671d6536de4dd02bdefef6c8
Summary:
Pull Request resolved: react#54690

Changelog:
[iOS][Fixed] - Fixed crash from dismiss button in DevLoadingView

D86420230 added a dismiss button feature to RCTDevLoadingView. However, when adding layout constraints on line 198, it incorrectly checked the `dismissButton` parameter instead of the `self->_dismissButton` instance variable. This caused NSLayoutConstraint crashes when the parameter was nil/false but the instance variable existed from a previous call, or vice versa.

This changes line 198 to check `self->_dismissButton` (the instance variable) instead of `dismissButton` (the function parameter) to properly verify if the button exists before adding constraints to it.

Reviewed By: vzaidman, javache

Differential Revision: D87871856

fbshipit-source-id: c8fe033bce383c2589041c9cd3fad65f37553d3c
…#54633)

Summary:
Pull Request resolved: react#54633

# Changelog: [Internal]

This introduces a proper lifecycle for a module on Anroid that will emit frames information as part of the trace recording.

Previously we would initialize it on a packager connection, which could be problematic, since there is no guarantee that InspectorTarget exists at  this time.

With the current approach, the lifetime of this object is:
- Bound to lifetime of InspectorTarget, it will never outlive it
- The actual frames listener lifetime will be bound to tracing state. We no longer will be going through `jni` to check if `PerformanceTracer` is enabled.

I've renamed it to `FrameTimingsObserver`and moved to inspector package, since this should be considered as part of the inspector stack. Similarly to `LoadNetworkResource` listeners.

I am keeping the `jni` layer with PerformanceTracer for now, but this is about to be removed in the diffs above. The frames information should be propagated through Host, this would allow us to record Frames even if there is no React Native instance, for example, during reloads.

Reviewed By: sbuggay

Differential Revision: D87345177

fbshipit-source-id: e92ffb29e1761ac8a425a1fbfe27d3edca85ddd4
Summary:
Pull Request resolved: react#54677

# Changelog: [Internal]

Currently, `HostTraceRecordingState` is used everywhere and it is the final data struct that contains the tracing profile.

At the same time, the original idea for it was to be a global state for Tracing Agents, where they could:
1. Read the tracing configuration, like tracing mode, enabled categories, etc.
2. Stash corresponding target profiles on reloads. For example, if `RuntimeTarget` was reloaded during tracing, `RuntimeTracingAgent` would stop JavaScript sampling profiler, and then stash this profile on a state.

This change should clarify the data structures and when they are used.

Reviewed By: sbuggay

Differential Revision: D87830455

fbshipit-source-id: 15c48baede85a2d85744d9c3c3b7a419c1f1d299
Summary:
Pull Request resolved: react#54679

# Changelog: [Internal]

Adding a data structure that could be configured to preserve entries that are inside of a specified time window.

At the same time, this data structure could be used as a simple buffer, if no arguments were specified during constructing.

This follows the approach that was added to `PerformanceTracer`, but it doesn't use pointers to avoid dealing with updates during copies or moves.

Reviewed By: sbuggay

Differential Revision: D87776299

fbshipit-source-id: d20bf6dd08af7971aaf34ffc11ec5993b8edaf4b
Summary:
Pull Request resolved: react#54673

# Changelog: [Internal]

`HostTargetTraceRecording` will receive the tracing window size as a parameter and will propagate it to `TraceRecordingState`.

This will make sure that all Tracing Agents actually aware of the window size.

For example, once we add Frames to Host layer, it should use the same window size, as `PerformanceTracer`, which is initialized in `InstanceTracingAgent`.

Reviewed By: sbuggay

Differential Revision: D87782664

fbshipit-source-id: 58203065d68ac898adc785317ec2cb792efd13dc
Summary:
Pull Request resolved: react#54674

# Changelog: [Internal]

This diff introduces a definition for `FrameTimingSequence`, which will represent the different phases of a frame that will be reported as part of the trace.

These sequences will be stored on a `HostTargetTraceRecording`. It is `Host`'s responsibility to propagate these entities to `HostTarget`, there will be a corresponding method for this.

Reviewed By: sbuggay

Differential Revision: D87373811

fbshipit-source-id: bd894f8c39a6d4ee0bef1303e4f801b27fabc901
Summary:
Pull Request resolved: react#54672

# Changelog: [Internal]

Introduces an endpoint on `HostTarget` for capturing frame timings. This exposes a public API to Host, which could be called during active tracing session.

`Host` could be notified through tracing delegate in `HostTargetDelegate` about tracing state, this has been implemented below as part of this diff stack.

Reviewed By: sbuggay

Differential Revision: D87373807

fbshipit-source-id: 3ffc5f2b803164e4316ff6c3824672c842187ddd
Summary:
Pull Request resolved: react#54675

# Changelog: [Internal]

Extracing the spec for frames events to a new class `TraceEventGenerator`.

This is a preparation for moving frames events to Host.

Reviewed By: sbuggay

Differential Revision: D87373809

fbshipit-source-id: 56538a8fae7d41a7117cd8445b15630ac7f50672
…ile (react#54681)

Summary:
Pull Request resolved: react#54681

# Changelog: [Internal]

Now when Frame Timings are part of the whole `HostTargetTracingProfile`, we need to define how these will be serialized into chunks of `Tracing.dataCollected` messages.

Reviewed By: sbuggay

Differential Revision: D87373810

fbshipit-source-id: dd4e9ce6c691e92710d9c3c66f7d134f3fba1ddd
Summary:
Pull Request resolved: react#54671

# Changelog: [Internal]

Replaces the calls to `PerformanceTracer` through `jni` with the calls through inpsector's `HostTarget`.

Reviewed By: sbuggay

Differential Revision: D87373808

fbshipit-source-id: f86a679a09b1586a426e69914de2c9f658289039
Summary:
Pull Request resolved: react#54678

# Changelog: [Internal]

This is not a breaking change, since it removes something that wasn't yet rolled out to OSS - it is unused.

Reviewed By: sbuggay

Differential Revision: D87378393

fbshipit-source-id: 3d560276d029cdab942e76fe34111d63e453a26c
Summary:
Pull Request resolved: react#54680

# Changelog: [Internal]

Reviewed By: sbuggay

Differential Revision: D87549337

fbshipit-source-id: de885f1c74b1bd1e9acd4248618c4e081813f3dc
Summary:
Pull Request resolved: react#54676

# Changelog: [Internal]

Reviewed By: sbuggay

Differential Revision: D87549336

fbshipit-source-id: b94645ba0ed12979ed7129c767c38587420c6cc0
Summary:
In react#54139 I have removed checking shared preferences for `debug_http_host`. The diff reverts this removal because it is used for changing the bundle source before the app starts.

## Changelog:

[ANDROID][FIXED] - revert removal of checking shared preferences for `debug_http_host`.

Pull Request resolved: react#54687

Test Plan:
I have run the `rn-tester` app and swapped a default prefs file on Android emulator located in:  `/data/data/com.facebook.react.uiapp/shared_prefs/com.facebook.react.uiapp_preferences.xml` with one that had updated port in `debug_http_host` setting to `8082`:

```xml
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
    <boolean name="fps_debug" value="true" />
    <string name="debug_http_host">10.0.2.2:8082</string>
    <boolean name="inspector_debug" value="true" />
</map>
```

Then, I have run the app and checked if the bundle is loaded from the Metro instance invoked using `yarn start --port 8082`.

Reviewed By: cortinico

Differential Revision: D87869540

Pulled By: coado

fbshipit-source-id: 9a76990b097ad7ff24cbbc5202ca935053de23e5
Summary:
Previously the symbolication support when using the precompiled React.XCFramework copied the symbol bundles to the wrong folder in the framework, causing Xcode to not find the symbols.

This commit fixes this by copying symbols to the correct slice folders instead of in the root of the framework folder.

Note:
Running `pod cache clean --all` and `rm -rf Pods` in the iOS folder followed by a clean rebuild in Xcode might be a good thing to ensure you're using the correct binaries when compiling.

## Changelog:

[IOS] [FIXED] - Fixed copying symbol bundles into correct slice folder

Pull Request resolved: react#54641

Test Plan:
```
npx react-native-community/cli init Next --version next --skip-install
cd Next
yarn
cd ios
bundle install
RCT_USE_RN_DEP=1 RCT_USE_PREBUILT_RNCORE=1 RCT_SYMBOLICATE_PREBUILT_FRAMEWORKS=1 bundle exec pod install
```

Run Xcode and observe that you are not able to step into React Native source code.

After this fix, you should be able to step into the source code of React Native.

Reviewed By: cortinico

Differential Revision: D87919202

Pulled By: cipolleschi

fbshipit-source-id: 029bca3e182c170562e358beb50592d5b91d8e8b
Summary:
Pull Request resolved: react#54696

Changelog: [iOS][Fixed] - Fixed dismiss button not appearing consistently in dev loading view

D87465522 introduced lazy initialization to reuse views across multiple `showMessage` calls for better performance. However, this exposed two bugs:

1. **Missing button bug**: Button creation was inside the `if (self->_container == nullptr)` block, which now only executes once. If the first call had `dismissButton=NO`, subsequent calls with `dismissButton=YES` would skip button creation since the container already existed.

2. **Button text wrapping bug**: The button didn't have compression resistance priority set, so Auto Layout could compress it to fit the layout, causing the text to wrap.

This fixes both issues by:
- Moving button creation/removal logic outside the container initialization so it runs on every call and dynamically adds or removes the button based on the current `dismissButton` parameter
- Setting compression resistance and content hugging priorities on the button to prevent it from being compressed, forcing the message label to wrap instead
- Resetting all UI elements in `hide()` to ensure clean state between loading sessions

The performance optimization from D87465522 is preserved - views are still reused during rapid Metro progress updates.

Reviewed By: javache

Differential Revision: D87870932

fbshipit-source-id: 052d4a0685ee288e3b4bf974b203e4f29c652436
Summary:
Pull Request resolved: react#54691

Improve error message for incorrect TurboModule invocations to avoid HostFunction: <unknown error>

Changelog: [Internal]

Reviewed By: cipolleschi

Differential Revision: D87868433

fbshipit-source-id: f351a6e7ea59c56fcb0991eb799c4217382fdb4e
…code (react#54684)

Summary:
Pull Request resolved: react#54684

This diff removes the `RCTTurboModuleSyncVoidMethodsEnabled` feature flag and all related code that allowed TurboModule void methods to execute synchronously.

Changelog: [Internal]

Reviewed By: philIip

Differential Revision: D87865883

fbshipit-source-id: fa64e8105e8329a0b20bb1718dbc01b17464cd06
Summary:
Pull Request resolved: react#54697

This is just a follow-up from the previous NPE fix. I'm adding a couple of
tests for the affected method.

Changelog:
[Internal] [Changed] -

Reviewed By: javache

Differential Revision: D87920989

fbshipit-source-id: fba47365bbb8c94240d3daf11cf4226bfaf701d3
Saadnajmi and others added 27 commits July 16, 2026 11:02
Make the physical key code optional because the macOS emitter does not provide it.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Refresh the generated public type surface from the resolved 0.84 sources.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add the minimal AppKit aliases and platform guards required by new 0.84 UIKit and SwiftUI code paths.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Avoid the moving nightly ABI and regenerate Yarn and CocoaPods locks for the fork-compatible source build.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Reuse the shared trait-to-role mapping and keep self-reference proxies leaf-only for VoiceOver.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use one raw payload with KeyDownEvent and KeyUpEvent wrappers across platforms, retain compatible deprecated aliases, and add legacy key normalization coverage.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Apply the border-radius workaround inside upstream style processing so the local overrides object remains defined.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Honor react-native-macos Yarn constraints while retaining the local DotSlash build and test workspace.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Reuse the established macOS and visionOS guard around accessory-view recycle state.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keep alert windows on the active UIWindowScene and compile the screen fallback only for supported platforms.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Avoid shell interpolation, harden regex parsing, and fully escape generated markdown while preserving existing behavior.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Tighten merged type annotations and preserve macOS compatibility behavior without changing runtime semantics.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replace the remaining polynomial regex with a linear delimiter parser while preserving frame semantics.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Remove the obsolete moving-nightly Hermes preinstall and refresh the lockfile against the rebased 0.84 package graph.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keep Metro package extensions on the 0.84 line, restore merge-base-aware Hermes fallback, and preserve shell-safe XCFramework probing.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keep CocoaPods on merge-base-compatible source-built Hermes and regenerate the RNTester pod lock after rebasing.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keep UIKit-only presentation helpers off macOS and prevent codegen from traversing pnpm dependency symlinks or generated trees.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Exclude the generic C++ View platform when building the macOS SPM target so host event declarations and implementations remain coherent.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@Saadnajmi Saadnajmi changed the title merge 0.84 fork point feat: merge 0.84-merge into main Jul 31, 2026
@Saadnajmi

Copy link
Copy Markdown
Collaborator Author

🤖 Copilot: Closing this replacement PR because JJ will remain the topology and evolution tool. Continue review on #3030.

@Saadnajmi Saadnajmi closed this Jul 31, 2026
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.