Report fetch(), XHR and RCTNetworking call stacks to Network panel on iOS - #54052
Closed
motiz88 wants to merge 5 commits into
Closed
Report fetch(), XHR and RCTNetworking call stacks to Network panel on iOS#54052motiz88 wants to merge 5 commits into
motiz88 wants to merge 5 commits into
Conversation
motiz88
force-pushed
the
export-D83754145
branch
from
October 7, 2025 10:03
ce5dd72 to
2df2d25
Compare
motiz88
force-pushed
the
export-D83754145
branch
from
October 7, 2025 19:23
2df2d25 to
89f40a5
Compare
motiz88
force-pushed
the
export-D83754145
branch
from
October 7, 2025 19:23
89f40a5 to
1779d2c
Compare
motiz88
force-pushed
the
export-D83754145
branch
2 times, most recently
from
October 8, 2025 11:14
c1538a0 to
7a168cd
Compare
motiz88
force-pushed
the
export-D83754145
branch
from
October 8, 2025 13:28
7a168cd to
0a35935
Compare
motiz88
force-pushed
the
export-D83754145
branch
from
October 8, 2025 13:29
0a35935 to
8043f58
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
…el (react#54052) Summary: 1. Teaches the native networking module on IOS to track a `devToolsRequestId` along with each request, and use it instead of the internal `requestId` to identify the request to `NetworkReporter`. 2. Uses `__NETWORK_REPORTER__.createDevToolsRequestId` (D83238216) to generate a `devToolsRequestId` from JS and pass it into native. This records a JavaScript call stack as the [initiator](https://cdpstatus.reactnative.dev/devtools-protocol/tot/Network#type-Initiator) of the request. Changelog: [Internal] Reviewed By: huntie Differential Revision: D83754145
motiz88
force-pushed
the
export-D83754145
branch
from
October 8, 2025 16:33
8043f58 to
9590cb8
Compare
|
This pull request has been merged in 81d6525. |
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]
Differential Revision: D83754145