Summary
The caller's launch/attach intent (request, stopOnEntry; attach extras) is threaded into a js-debug child adoption only on the parent connection (MinimalDapClient.enrichChildConfig around createChildSession). A startDebugging request that js-debug delivers on a child or release connection — a fork's request lands on its parent target's session socket — is handed to createChildSession raw by buildChildSafePolicy, with js-debug's bare {type, name, __pendingTargetId}. Such an adoption reads the absent stopOnEntry as "wait for an entry stop, then force one": the 15 s wait plus the forced pause of #704, and a 15 s-late readiness signal.
Reachable only in a narrow shape today (autoAttachChildProcesses: true, a grandchild fork inside releaseUndebugged's ready-signal window, after a first adoption failed), and the #124 attach enrichment had the same parent-path-only asymmetry, so a follow-up rather than a blocker.
Found by the review of PR #708.
What would help
Give ChildSessionManager an enricher (constructor option or setter bound to MinimalDapClient.enrichChildConfig) applied at the top of createChildSession, so both entry points see the caller's intent.
Refs #124, #501, #704, #708.
Summary
The caller's launch/attach intent (
request,stopOnEntry; attach extras) is threaded into a js-debug child adoption only on the parent connection (MinimalDapClient.enrichChildConfigaroundcreateChildSession). AstartDebuggingrequest that js-debug delivers on a child or release connection — a fork's request lands on its parent target's session socket — is handed tocreateChildSessionraw bybuildChildSafePolicy, with js-debug's bare{type, name, __pendingTargetId}. Such an adoption reads the absentstopOnEntryas "wait for an entry stop, then force one": the 15 s wait plus the forced pause of #704, and a 15 s-late readiness signal.Reachable only in a narrow shape today (
autoAttachChildProcesses: true, a grandchild fork insidereleaseUndebugged's ready-signal window, after a first adoption failed), and the #124 attach enrichment had the same parent-path-only asymmetry, so a follow-up rather than a blocker.Found by the review of PR #708.
What would help
Give
ChildSessionManageran enricher (constructor option or setter bound toMinimalDapClient.enrichChildConfig) applied at the top ofcreateChildSession, so both entry points see the caller's intent.Refs #124, #501, #704, #708.