Fix __DEBUGGER_SESSION_OBSERVER__ for concurrent sessions - #54083
Closed
motiz88 wants to merge 5 commits into
Closed
Fix __DEBUGGER_SESSION_OBSERVER__ for concurrent sessions#54083motiz88 wants to merge 5 commits into
motiz88 wants to merge 5 commits into
Conversation
motiz88
force-pushed
the
export-D84007326
branch
from
October 8, 2025 11:11
fef7d4f to
7ea8772
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
Summary: Changelog: [Internal] Fixes a bug in `__DEBUGGER_SESSION_OBSERVER__` where the wrong state could be reported if more than one session existed. Now we reuse the accurate domain status tracking mechanism added in D83847356. Reviewed By: hoxyq Differential Revision: D84007326
motiz88
force-pushed
the
export-D84007326
branch
from
October 8, 2025 13:28
7ea8772 to
69161ad
Compare
|
This pull request has been merged in 24d0d44. |
Collaborator
|
This pull request was successfully merged by @motiz88 in 24d0d44 When will my fix make it into a release? | How to file a pick request? |
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]
Fixes a bug in
__DEBUGGER_SESSION_OBSERVER__where the wrong state could be reported if more than one session existed. Now we reuse the accurate domain status tracking mechanism added in D83847356.Reviewed By: hoxyq
Differential Revision: D84007326