Commit Graph
34076 Commits
Author SHA1 Message Date
Rubén Norte d16f0f297c Decouple event logger from PerformanceEntryReporter and remove singleton (#43853)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43853

Changelog: [internal]

## Context

This is part of a refactor to decouple the performance entry reporter from the rendering infra and from the native module that uses it.

## Changes

This moves the logic to report the timing of events to a separate class (outside `PerformanceEntryReporter` that now is agnostic to the rendering infra).

Reviewed By: sammy-SC

Differential Revision: D55646392

fbshipit-source-id: 5032a36b23d0741b19fb74cb04f0af3d3d476ef0
2024-04-09 07:51:03 -07:00
Rubén Norte c61c80b5c3 Move PerformanceEntryReporter to its own target (#43854)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43854

Changelog: [internal]

## Context

This is part of a refactor to decouple the performance entry reporter from the rendering infra and from the native module that uses it.

## Changes

This moves the `PerformanceEntryReporter` and related classes to their own target in `ReactCommon/react/performance/timeline` that's not coupled with any rendering logic.

Reviewed By: sammy-SC

Differential Revision: D55646391

fbshipit-source-id: a759ed39c893a0bc14246c7ee608b1727e6ee4cd
2024-04-09 07:51:03 -07:00
Rubén Norte f5c9ed1ff4 Decouple PerformanceEntryReporter from NativePerformanceObserver (#43849)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43849

Changelog: [internal]

## Context

This is part of a refactor to decouple the performance entry reporter from the rendering infra and from the native module that uses it.

## Changes

This refactors `PerformanceEntryReporter` to make the class not depend on the native module that uses it. Instead of using the `RawPerformanceEntry` type from the native module, we define `PerformanceEntry` in `PerformanceEntryReporter` and use it as the source of truth in the native module instead.

Thanks to the bridging template sytem we have, we can convert the raw objects passed from JS to the C++ structs, defining how the enums are converted from and to JS.

Reviewed By: sammy-SC

Differential Revision: D55646394

fbshipit-source-id: 9cf5a7db6ecb221ca08320d0aaae7e7bc8d91804
2024-04-09 07:51:03 -07:00
Rubén Norte 0f43f86035 Add example of Event Timing API in RNTester examples (#43848)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43848

Changelog: [internal]

This makes it easier to see the behavior of the new Event Timing API in RN.

Reviewed By: sammy-SC

Differential Revision: D55646393

fbshipit-source-id: 441fed789a980211783f04095303a139e7b08483
2024-04-09 07:51:03 -07:00
Rubén Norte af27d29553 Fix problems in PerformanceObserver notifications (#43847)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43847

Changelog: [internal]

(This is an internal change because the API hasn't been released in OSS yet)

This fixes 2 problems in how we dispatch `PerformanceObserver` notifications:
1. If an observer callback throws an error, the remaining observers don't receive notifications.
2. We're notifying observers with an empty list of events when they don't match the filters.

Reviewed By: javache

Differential Revision: D55646390

fbshipit-source-id: 6511c7babd45517baf42076308268ea89afe1265
2024-04-09 07:51:03 -07:00
Andrew Datsenko 1ad3593167 //xplat/js/react-native-github/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/debug:interfacesAndroid (#43921)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43921

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D55725389

fbshipit-source-id: 556b6d051fb0ed6f99bf585770c18a873e4edcee
2024-04-09 07:21:45 -07:00
Andrew Datsenko a3a5a60052 //xplat/js/react-native-github/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/module/annotations:annotationsAndroid (#43937)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43937

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D55724728

fbshipit-source-id: 8536aa8eb1c8876fa1208932f5c706ef239d4212
2024-04-09 07:17:24 -07:00
Ruslan Shestopalyuk b23960ad99 Migrate TouchEvent to Kotlin (#43982)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43982

## Changelog:
[Internal] -

As in the title.

Reviewed By: javache

Differential Revision: D55877979

fbshipit-source-id: 63ca9b403509e08632ad1a3c0aa866f6df3f423b
2024-04-09 07:01:54 -07:00
Samuel Susla c24a9a9309 simplify StateReconciliationTest (#43993)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43993

changelog: [internal]

clean up tests. The logic is exactly the same, just renaming few variables and deleting unused ones.

Reviewed By: javache

Differential Revision: D55689499

fbshipit-source-id: fffef1051798f1787210cced5e681fa3fe47842b
2024-04-09 04:04:19 -07:00
Ruslan Shestopalyuk 2fcdab47f5 Kotlinify ReactSurfaceView (#43964)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43964

## Changelog:
[Internal] -

As in the title.

Reviewed By: alanleedev

Differential Revision: D55869113

fbshipit-source-id: 650304aee8aedc147b4f27b7c490fb4f64160c96
2024-04-09 02:21:18 -07:00
Alan Lee a7e9a222e7 convert DefaultStyleValuesUtil to Kotlin (#43884)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43884

convert Java to Kotlin: `/react/view/text/DefaultStyleValuesUtil.java`

Changelog:
[Internal] internal

Reviewed By: cortinico

Differential Revision: D55777322

fbshipit-source-id: 4cdbc82a636cb133f486ac3e22534f12daddfcee
2024-04-08 19:43:47 -07:00
Alan Lee f5f7ba0be0 add nullability annotation for DefaultStyleValuesUtil (#43980)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43980

add nullability annotation to DefaultStyleValuesUtil.java

Changelog:
[Internal] internal

Reviewed By: cortinico

Differential Revision: D55784913

fbshipit-source-id: f51b4a469f7fdcf59981675344995023cd8e6bec
2024-04-08 19:43:47 -07:00
Ramanpreet Nara 37eca5d6cd Refactor: ReactInstance: Make ctor more readable (#43984)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43984

Just improvemnts for readability.

Changelog: [Internal]

Reviewed By: cipolleschi

Differential Revision: D55563578

fbshipit-source-id: cb0ee311091db187bb938547c335c5583243116b
2024-04-08 19:36:04 -07:00
Ramanpreet Nara 2e3f2268dc Refactor: JsErrorHandler: Rename JsErrorHandlingFunc -> OnJsError (#43985)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43985

This is just personal preference.

The name "OnJsError" makes the intent of the abstraction clear: an instance of OnJsError is a function that gets called when a js error is caught.

The name "JsErrorHandlingFunc" is not as good.

Changelog: [General][Breaking] - JsErrorHandler: Rename JsErrorHandlingFunc to OnJsError

Reviewed By: christophpurrer

Differential Revision: D55563580

fbshipit-source-id: 4d20bc984e6633aeac6193b9276a88d76961df2c
2024-04-08 19:36:04 -07:00
Ramanpreet Nara c041b9f40f Refactor: JsErrorHandler: Rename handleJsError to handleFatalError (#43957)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43957

Right now, JsErrorHandler is only used to handle fatal exceptions.

So, let's just scope handleJsError down to handleFatalError.

Changelog: [General][Breaking] - JsErrorHandler: Rename handleJsError to handleFatalError

Reviewed By: cortinico

Differential Revision: D55547901

fbshipit-source-id: 261e0c8fea2852bc95e53c688d90d012d4abea34
2024-04-08 19:36:04 -07:00
Ramanpreet Nara ba3e078c04 Refactor: ReactInstance: Pull "fatal error" bool into JsErrorHandler (#43956)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43956

I think we should try to centralize all things js error handling related inside JsErrorHandler. So, I moved this bool into JsErrorHandler.

This makes ReactInstance easier to understand: it removes one member variable from ReactInstance.

Changelog: [Internal]

Reviewed By: cipolleschi

Differential Revision: D55547897

fbshipit-source-id: 73d1e0eedf3896c42cda4ce1013863960585da2c
2024-04-08 19:36:04 -07:00
Ramanpreet Nara bffc54d19e Refactor: ReactInstance: Store JsErrorHandler inside a shared_ptr (#43955)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43955

Just makes it easier to pass around JsErrorHandler.

We'll need this in D55547897, when we start storing the "has fataled" boolean inside the JsErrorHandler.

Changelog: [internal]

Reviewed By: cipolleschi

Differential Revision: D55547898

fbshipit-source-id: 162faaeff43bada0301de29111b2c17f7ef878c6
2024-04-08 19:36:04 -07:00
Ramanpreet Nara 3382b15f08 Refactor: RuntimeScheduler: Stop defaulting ctor args redundantly (#43954)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43954

Now, all the defaulting is in RuntimeScheduler.h.

Changelog: [Internal]

Reviewed By: cipolleschi

Differential Revision: D55547900

fbshipit-source-id: 53678c6a0c83a47e3b0c1a51e388daadfa6bff5e
2024-04-08 19:36:04 -07:00
Ramanpreet Nara 3094273e8b Refactor: RuntimeScheduler: Delete ErrorUtils.h (#43953)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43953

RuntimeScheduler's ErrorUtils.h is redundant.

Let's just remove it.

Changelog: [Internal]

Reviewed By: cipolleschi

Differential Revision: D55547905

fbshipit-source-id: 5263c9fca8ae32bbfc672f0e16b79ee177cdd421
2024-04-08 19:36:04 -07:00
Ramanpreet Nara 9ad71387e8 Noop: ReactInstance: Add todo above getRuntimeScheduler() (#43952)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43952

getRuntimeScheduler() allows things to schedule work on the js thread by bypassing main bundle buffering.

This is unsafe: almost everything should be using the buffered runtime executor, unless it sets up bindings used in the main bundle.

I filed a task for the investigation to see if there's any problems. And added it to the code in this diff.

Changelog: [Internal]

Reviewed By: cipolleschi

Differential Revision: D55547899

fbshipit-source-id: 7785b9777e93f36ea0278993332662ed45a20cf2
2024-04-08 19:36:04 -07:00
Andrew Datsenko 379a2729f1 //xplat/js/react-native-github/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview:unimplementedviewAndroid (#43970)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43970

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D55725588

fbshipit-source-id: e7c5a9b0fad05c7de65115a69571725ce6b91640
2024-04-08 17:13:00 -07:00
Andrew Datsenko 2c680195bc //xplat/js/react-native-github/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard:clipboardAndroid (#43861)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43861

Changelog: [Internal]
_____

## Why?
We recommend to use Kotlin for any new code and are actively migrating Java code to Kotlin. This codemod service attempts to migrate existing Java code to Kotlin.

## How was this diff generated?
This codemod service scans through qualified paths and looks for Java modules. Then it runs `kotlinator.sh` on each module, which generated this diff.

## What if I see problems in this diff?
We recommend commandeering and fixing the diff. If you reject or abandon the diff, the codemod service will regenerate it in a few days
- Script for easily commandeer & open diff: In fbandroid, `scripts/commandeer_and_checkout.sh <DIFF>`. It not only commandeer the diff, but also rebase & open diff in Android Studio.
- Report repeating issues in [Kotlinator Papercut](https://fburl.com/papercuts/1g4f4qas)

See more useful tips & scripts in [Kotlin Auto-Conversion Codemod Wiki](https://fburl.com/wiki/c68ka0pu)

_____

## Questions / Comments / Feedback?

**Your feedback is important to us! Give feedback about this diff by clicking the "Provide Feedback" button below.**

* Returning back to author or abandoning this diff will only cause the diff to be regenerated in the future.
* Do **NOT** post in the CodemodService Feedback group about this specific diff.

_____

## Codemod Metadata

NOTE: You won't need to read this section to review this diff.

https://www.internalfb.com/intern/sandcastle/job/22517999373069959/

|Oncall|[kotlin_in_fb4a](https://our.intern.facebook.com/intern/oncall3/?shortname=kotlin_in_fb4a)|
|CodemodConfig|[fbsource/kotlinator.json](https://www.internalfb.com/codemod_service/fbsource%2Fkotlinator.json)|
|ConfigType|configerator|

Rules run:
- CodemodTransformerFBSourceScript

This diff was created with [CodemodService](https://fburl.com/CodemodService).

Reviewed By: cortinico

Differential Revision: D55725451

fbshipit-source-id: fea231c0f11f41013bcf7a8a9b5cf65badf82503
2024-04-08 17:11:55 -07:00
Zeya Peng c3d45740cd Use semver to compare version in cli instead of custom function (#43744)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43744

## Changelog:
[General] [Changed] - Use semver to do version comparison in cli instead of custom fn `parseVersion`

~~adding test for PR change in https://github.com/facebook/react-native/pull/43712~~

Reviewed By: NickGerleman

Differential Revision: D55600458

fbshipit-source-id: eaffa3e89696b90fd354aefaba79e035d180a0b5
2024-04-08 17:10:59 -07:00
Andrew Datsenko 1e6f5a48a6 //xplat/js/react-native-github/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager:DisplayMetricsAndroid (#43981)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43981

Changelog: [Internal]
_____

## Why?
We recommend to use Kotlin for any new code and are actively migrating Java code to Kotlin. This codemod service attempts to migrate existing Java code to Kotlin.

## How was this diff generated?
This codemod service scans through qualified paths and looks for Java modules. Then it runs `kotlinator.sh` on each module, which generated this diff.

## What if I see problems in this diff?
We recommend commandeering and fixing the diff. If you reject or abandon the diff, the codemod service will regenerate it in a few days
- Script for easily commandeer & open diff: In fbandroid, `scripts/commandeer_and_checkout.sh <DIFF>`. It not only commandeer the diff, but also rebase & open diff in Android Studio.
- Report repeating issues in [Kotlinator Papercut](https://fburl.com/papercuts/1g4f4qas)

See more useful tips & scripts in [Kotlin Auto-Conversion Codemod Wiki](https://fburl.com/wiki/c68ka0pu)

_____

## Questions / Comments / Feedback?

**Your feedback is important to us! Give feedback about this diff by clicking the "Provide Feedback" button below.**

* Returning back to author or abandoning this diff will only cause the diff to be regenerated in the future.
* Do **NOT** post in the CodemodService Feedback group about this specific diff.

_____

## Codemod Metadata

NOTE: You won't need to read this section to review this diff.

https://www.internalfb.com/intern/sandcastle/job/27021599000417439/

|Oncall|[kotlin_in_fb4a](https://our.intern.facebook.com/intern/oncall3/?shortname=kotlin_in_fb4a)|
|CodemodConfig|[fbsource/kotlinator.json](https://www.internalfb.com/codemod_service/fbsource%2Fkotlinator.json)|
|ConfigType|configerator|

Rules run:
- CodemodTransformerFBSourceScript

This diff was created with [CodemodService](https://fburl.com/CodemodService).

Reviewed By: cortinico

Differential Revision: D55725602

fbshipit-source-id: b8b77bf97de5a0eda5b077d6c5441b9af36fc26b
2024-04-08 16:37:57 -07:00
Andrew Datsenko 026361ddb4 //xplat/js/react-native-github/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/devloading:devloadingAndroid (#43975)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43975

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D55725612

fbshipit-source-id: b597e906c8e2cdb571c8882e82083626a74a6d70
2024-04-08 16:09:49 -07:00
Andrew Datsenko 5b77df0199 Update package com.facebook.react.perflogger -> com.facebook.react.reactperflogger (#43873)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43873

Changelog: [Internal]
Addressing lint for package name com.facebook.react.perflogger

Reviewed By: alanleedev

Differential Revision: D55747967

fbshipit-source-id: 5d05a14e396d80f8b0bc88515333dcd708e8736a
2024-04-08 14:37:02 -07:00
Andrew Datsenko 8c804de60c //xplat/js/react-native-github/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/share:shareAndroid (#43977)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43977

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D55725721

fbshipit-source-id: 21f190043da053197bd5ba047122af79635f56ba
2024-04-08 14:30:15 -07:00
Andrew Datsenko 515694663d //xplat/js/react-native-github/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/appregistry:appregistryAndroid (#43858)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43858

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D55725317

fbshipit-source-id: eb0b583070dea1bc7ccac5dfd5d5d983c59c1b6b
2024-04-08 14:28:46 -07:00
Andrew Datsenko f9ca6d73c7 //xplat/js/react-native-github/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/common:commonAndroid (#43974)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43974

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D55725173

fbshipit-source-id: 79bfea85ef9b376d8892fc79198c27027aaf13fa
2024-04-08 14:24:38 -07:00
Ruslan Shestopalyuk eae5d97113 Kotlinify DefaultDevSupportManagerFactory (#43960)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43960

## Changelog:
[Internal] -

As in the title.

Reviewed By: NickGerleman

Differential Revision: D55865794

fbshipit-source-id: e109cd28735ce2125f599b01d11f3667e3c5b033
2024-04-08 13:10:21 -07:00
Alan Lee 3422dcf55c Convert ReactSwitchEvent to Kotlin (#43881)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43881

convert Java to Kotlin: `/react/views/switchview/ReactSwitchEvent.java`

Changelog:
[Internal] internal

Reviewed By: cortinico

Differential Revision: D55770377

fbshipit-source-id: e285d7e0c8b55745e05b0e0b1258c12fd02faa19
2024-04-08 11:58:39 -07:00
Andrew Datsenko f77d028294 //xplat/js/react-native-github/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/util:utilAndroid (#43973)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43973

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D55725614

fbshipit-source-id: da5b06758c928e8ffe935f646b0f802cf8a4fda0
2024-04-08 11:34:33 -07:00
Riccardo Cipolleschi 64ed8200f7 Fix double metro banner in Bridgeless (#43967)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43967

Following up https://github.com/facebook/react-native/issues/43943, the metro loading banner is presented twice in Bridgeless mode.

This happens because both the RCTInstance and the RCTHost are listening to the Reload Command and issuing the instructions to refetch the JSBundle and to present the banner.

The RCTInstance should not concern itself with lifecycle events, owned by the RCTHost.

## Changelog:
[iOS][Fixed] - Avoid to show Metro Loading banner twice.

Reviewed By: cortinico

Differential Revision: D55870640

fbshipit-source-id: addb67d3226f7d7db20736309172a42fc15f3aa3
2024-04-08 11:16:38 -07:00
Alan Lee f4a3deb3c6 convert ColorUtil to Kotlin (#43878)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43878

convert Java to Kotlin: `/react/views/view/ColorUtil.java`

Changelog:
[Internal] internal

Reviewed By: cortinico

Differential Revision: D55768201

fbshipit-source-id: 7bf8ca5db6d55bcb1801a87098739a244459c6cc
2024-04-08 10:47:47 -07:00
Nicola Corti 92715e91dd Add changelog for v0.74.0-rc.7 (#43969)
Summary:
Just the changelog for v0.74.0-rc.7

## Changelog:

[INTERNAL] - Add changelog for v0.74.0-rc.7

Pull Request resolved: https://github.com/facebook/react-native/pull/43969

Test Plan: N/A

Reviewed By: christophpurrer

Differential Revision: D55871499

Pulled By: cortinico

fbshipit-source-id: 371ea1557b8d4e4c218e8a2050cd5e087f487802
2024-04-08 10:31:35 -07:00
Riccardo Cipolleschi d274826fec Vendoring Boost to reduce footprint (#43864)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43864

This change tries to vendor boost. It has several sustainable benefits:
- Reduce the download time to download boost
- Reduce the time to install pods
- Reduce the time to build the project
- Protects us from SEVs due to boost download link being down (happened twice already)
- Fixes how we build boost: currently it is a pseudo-target in iOS with no code, this makes all the symbols weak and this does not plays nicely with the new Apple linker.

## Changelog:
[Internal] - Vendor boost from React Native

Reviewed By: cortinico

Differential Revision: D55742345

fbshipit-source-id: 75abb5a2875e949b3dae299d2e18cb648c46151e
2024-04-08 09:57:00 -07:00
Ruslan Lesiutin 877cb98dd6 Update debugger-frontend from 3c57538...b0a76fa (#43972)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43972

Changelog: [Internal] - Update `react-native/debugger-frontend` from 3c57538...b0a76fa

Resyncs `react-native/debugger-frontend` from GitHub - see `rn-chrome-devtools-frontend` [changelog](https://github.com/facebookexperimental/rn-chrome-devtools-frontend/compare/3c575381a9e40d9b94f642e6fa985072bde0fdf9...b0a76fa92f6c34b524bc8aff5b611456f1537ca3).

Reviewed By: motiz88, EdmondChuiHW

Differential Revision: D55874213

fbshipit-source-id: de1f2962c999ef2e8d7ac5da3e74933f2155d655
2024-04-08 09:08:31 -07:00
Ruslan Shestopalyuk 8c3f8b6f2d Kotlinify MemoryPressure* (#43961)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43961

## Changelog:
[Internal] -

As in the title.

Reviewed By: cortinico

Differential Revision: D55866117

fbshipit-source-id: 2561f6bfe3fc58ae10d57f9fb59c908dd20b9b86
2024-04-08 08:32:10 -07:00
Moti Zilberman c14425567a Use different device IDs for modern and legacy backend (#43968)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43968

Changelog: [Internal]

When going from a Fusebox build to a non-Fusebox build of the same app, users can accidentally connect a previously opened Fusebox frontend to a non-Fusebox backend (or vice versa).

To prevent this, here we assign a distinct "device ID" to the Fusebox backend on both Android and iOS. This will prevent a mismatched CDT frontend from reconnecting to the app after a backend change, forcing the user to close and reopen the debugger.

Reviewed By: hoxyq

Differential Revision: D55870800

fbshipit-source-id: 8552e009ef1e43b512d35035c98d1a859e3ccf91
2024-04-08 08:28:51 -07:00
Christoph Purrer 7dec625eca Add ReactRootViewTagGenerator (#43882)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43882

Changelog: [General][Added] Add ReactRootViewTagGenerator

This copies over a modified version of the [react-native-windows](https://github.com/microsoft/react-native-windows/blob/main/vnext/Microsoft.ReactNative/Modules/ReactRootViewTagGenerator.h) implementation so it can be shared with other C based platforms

This also updates the outdated comment about the non existing ReactIOSTagHandles JS module.

Reviewed By: javache

Differential Revision: D55772580

fbshipit-source-id: 88f5e15011ef89c522746fb2a62753c7b5a75cb9
2024-04-08 08:23:34 -07:00
Nicola Corti 15ff82f811 Fix ClassCastException in ReactModalHostView (#43966)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43966

The `context` field was confusing. I've renamed it to `currentActivityContext` +
I've made sure the `onKey` method is using the right context with a this@ accessor.

Changelog:
[Android] [Fixed] - Fix ClassCastException in `ReactModalHostView`

Reviewed By: GijsWeterings

Differential Revision: D55870250

fbshipit-source-id: a25a31452fb0d21cf8e2807eca62cf09fe4fd74b
2024-04-08 08:14:39 -07:00
Andrew Datsenko e19423a4b0 //xplat/js/react-native-github/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/common:commonAndroid (#43927)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43927

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D55725544

fbshipit-source-id: 7e2066671e8a51f2559e2ab7e88a15117aeb3f1a
2024-04-08 07:11:36 -07:00
Ruslan Shestopalyuk a977b2e69b Migrate DevSettings related code to Kotlin (#43731)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43731

# Changelog:
[Internal] -

Converts code related to DevSettings Module/Activity to Kotlin.

Reviewed By: cortinico

Differential Revision: D55574529

fbshipit-source-id: 41057307d0a12685a937a232e02a1a7a15736abe
2024-04-08 06:56:34 -07:00
Samuel Susla 88b6e11508 delete ShadowNodeFragment::Value (#43962)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43962

changelog: [internal]

Not used, let's delete it.

Reviewed By: fabriziocucci

Differential Revision: D55689099

fbshipit-source-id: 37751aad8119a7421fc5f2f78230540da4a244ea
2024-04-08 06:43:48 -07:00
Ruslan Shestopalyuk b069fca5c5 Convert views/image interface files (#43742)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43742

## Changelog:
[Internal] -

As in the title - taking a subset of the views/image Java files, those that are related to interfaces, and convert them to Kotlin.

Reviewed By: tdn120

Differential Revision: D55589946

fbshipit-source-id: 60f03eaaca467821634d5b0195e42bfb931f65fb
2024-04-08 06:40:56 -07:00
Fabrizio Cucci 3a15af7467 Kotlinify NativeMethodCallInvokerHolderImpl (#43809)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43809

Changelog: [Internal]

As part of the Sustainability Week (see [post](https://fb.workplace.com/groups/251759413609061/permalink/742797531171911/)).

Reviewed By: rshest

Differential Revision: D55687786

fbshipit-source-id: 45eb656e066348ee4b26d7c4b92db642361c7598
2024-04-08 05:24:39 -07:00
zhongwuzw 90296be1d4 Support launchOptions in bridgeless mode (#43757)
Summary:
Support launchOptions in bridgeless mode
bypass-github-export-checks
## Changelog:

[IOS] [FIXED] - Support launchOptions in bridgeless mode

Pull Request resolved: https://github.com/facebook/react-native/pull/43757

Test Plan:
```
useEffect(() => {
    const processInitialURL = async () => {
      const url = await Linking.getInitialURL();
      if (url !== null) {
        console.log(`Initial url is: ${url}`);
      }
    };

    processInitialURL();
  }, []);
```

Reviewed By: javache

Differential Revision: D55790758

Pulled By: cipolleschi

fbshipit-source-id: 0f6aa6bdcebfc5bc42d632bea9193f122c1eb84f
2024-04-08 05:21:27 -07:00
Ruslan Shestopalyuk 5ea511736b MultiSourceHelper.java -> MultiSourceHelper.kt (#43776)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43776

## Changelog:
[Internal] -

As in the title.

Reviewed By: alanleedev

Differential Revision: D55640126

fbshipit-source-id: 1e35c77ebb56b8cf419a28dccfbbf695747b92e4
2024-04-08 03:27:26 -07:00
Ruslan Shestopalyuk c35cc43a6c ReactScrollViewHelper -> Kotlin (#43735)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43735

## Changelog:
[Internal] -

As in the title.

Reviewed By: tdn120

Differential Revision: D55576494

fbshipit-source-id: ee056b6ba629614a65440f68ad4dee5f53674879
2024-04-08 03:14:36 -07:00
Fabrizio Cucci 8ad308e847 Kotlinify NativeModule (#43898)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43898

Changelog: [Internal]

As part of the Sustainability Week (see [post](https://fb.workplace.com/groups/251759413609061/permalink/742797531171911/)).

Reviewed By: cortinico

Differential Revision: D55792976

fbshipit-source-id: 6e096552750e3e0828cfdb9b62e45636731b3917
2024-04-08 02:55:46 -07:00