Check Network domain state in RuntimeTargetNetwork - #54082
Closed
motiz88 wants to merge 4 commits into
Closed
Conversation
motiz88
force-pushed
the
export-D83847356
branch
from
October 8, 2025 11:11
4fd4841 to
af0b5c0
Compare
motiz88
force-pushed
the
export-D83847356
branch
from
October 8, 2025 13:28
af0b5c0 to
8f3a3d1
Compare
motiz88
added a commit
to motiz88/react-native
that referenced
this pull request
Oct 8, 2025
Summary: Changelog: [Internal] Followup from D83238216. Adds bookkeeping in `RuntimeTarget` to allow checking from the JS thread whether there is a session with the `Network` CDP enabled. We then use this in the implementation of `__NETWORK_REPORTER__.createDevToolsRequestId` as a more precise alternative to checking the `NetworkHandler` singleton's state. This is a first step towards breaking up the `NetworkHandler` singleton, subsuming its responsibilities into the Target/Agent architecture of `jsinspector-modern` and fixing a variety of bugs in the process. NOTE: The additions to `RuntimeTarget` are more general than just tracking the `Network` domain - I'll use them in an upcoming diff to fix a concrete bug related to concurrent session support in `DebuggerSessionObserver`. Reviewed By: huntie Differential Revision: D83847356
motiz88
force-pushed
the
export-D83847356
branch
from
October 8, 2025 13:29
8f3a3d1 to
6264a7e
Compare
…act#54050) Summary: Changelog: [Internal] A naive approach to keeping track of request initiators inside the `NetworkHandler` singleton for CDP reporting purposes: 1. Expose a new `recordRequestInitiatorStack` method. 2. Keep the CDP-formatted stack trace (as a `folly::dynamic`) in a map keyed by request ID. 3. Destructively consume the stack trace during `onRequestWillBeSent`. Reviewed By: huntie Differential Revision: D83754143
Summary: Changelog: [Internal] Adds a minimal standards-compliant UUID v4 generator to `react/utils` for use elsewhere in React Native. We don't need UUID parsing, support for UUID versions other than 4, a UUID value type, or extremely high performance - which makes inlining this simple, portable implementation directly in our codebase acceptable. Reviewed By: robhogan Differential Revision: D84149720
…eact#54051) Summary: Adds the private, experimental `__NETWORK_REPORTER__.createDevToolsRequestId()` JavaScript method behind the Fusebox network inspection feature flag. `createDevToolsRequestId()` returns a unique string ID for a network request, and records the current call stack as the request's [initiator](https://cdpstatus.reactnative.dev/devtools-protocol/tot/Network#type-Initiator). If the native networking layer passes the same request ID into the C++ `NetworkReporter::reportRequestStart` method, the corresponding CDP [`requestWillBeSent`](https://cdpstatus.reactnative.dev/devtools-protocol/tot/Network#event-requestWillBeSent) event will contain the stack trace. Changelog: [Internal] Reviewed By: robhogan, huntie Differential Revision: D83238216
Summary: Changelog: [Internal] Followup from D83238216. Adds bookkeeping in `RuntimeTarget` to allow checking from the JS thread whether there is a session with the `Network` CDP enabled. We then use this in the implementation of `__NETWORK_REPORTER__.createDevToolsRequestId` as a more precise alternative to checking the `NetworkHandler` singleton's state. This is a first step towards breaking up the `NetworkHandler` singleton, subsuming its responsibilities into the Target/Agent architecture of `jsinspector-modern` and fixing a variety of bugs in the process. NOTE: The additions to `RuntimeTarget` are more general than just tracking the `Network` domain - I'll use them in an upcoming diff to fix a concrete bug related to concurrent session support in `DebuggerSessionObserver`. Reviewed By: huntie Differential Revision: D83847356
motiz88
force-pushed
the
export-D83847356
branch
from
October 8, 2025 16:33
6264a7e to
2bdcd40
Compare
motiz88
added a commit
to motiz88/react-native
that referenced
this pull request
Oct 8, 2025
Summary: Changelog: [Internal] Followup from D83238216. Adds bookkeeping in `RuntimeTarget` to allow checking from the JS thread whether there is a session with the `Network` CDP enabled. We then use this in the implementation of `__NETWORK_REPORTER__.createDevToolsRequestId` as a more precise alternative to checking the `NetworkHandler` singleton's state. This is a first step towards breaking up the `NetworkHandler` singleton, subsuming its responsibilities into the Target/Agent architecture of `jsinspector-modern` and fixing a variety of bugs in the process. NOTE: The additions to `RuntimeTarget` are more general than just tracking the `Network` domain - I'll use them in an upcoming diff to fix a concrete bug related to concurrent session support in `DebuggerSessionObserver`. Reviewed By: huntie Differential Revision: D83847356
|
This pull request has been merged in aa68540. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary:
Changelog: [Internal]
Followup from D83238216.
Adds bookkeeping in
RuntimeTargetto allow checking from the JS thread whether there is a session with theNetworkCDP enabled. We then use this in the implementation of__NETWORK_REPORTER__.createDevToolsRequestIdas a more precise alternative to checking theNetworkHandlersingleton's state.This is a first step towards breaking up the
NetworkHandlersingleton, subsuming its responsibilities into the Target/Agent architecture ofjsinspector-modernand fixing a variety of bugs in the process.NOTE: The additions to
RuntimeTargetare more general than just tracking theNetworkdomain - I'll use them in an upcoming diff to fix a concrete bug related to concurrent session support inDebuggerSessionObserver.Differential Revision: D83847356