Skip to content

js-debug: a startDebugging forwarded from a child or release connection is adopted with js-debug's bare config, so the caller's stopOnEntry never reaches it #712

Description

@debugmcpdev

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions