Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: pingdotgg/t3code
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: pingdotgg/t3code
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: fix/issue-26319
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 9 commits
  • 2 files changed
  • 2 contributors

Commits on Oct 28, 2026

  1. test(server): reproduce #26319 lost OpenCode 2 report leaving a resum…

    …ed subagent running
    
    When a background run's report never reaches T3, the next report settles
    the older call for that child and the resumed call stays running forever.
    This test reproduces #26319 and fails on main.
    
    Co-Authored-By: Claude Opus 5.5 <[email protected]>
    juliusmarminge and claude committed Oct 28, 2026
    Configuration menu
    Copy the full SHA
    05a9615 View commit details
    Browse the repository at this point in the history
  2. fix(opencode): a lost subagent report no longer leaves a resumed call…

    … running
    
    A report now answers the child's newest call whose run has started, and
    settles older open calls for that child as completed without the newer
    report's text. Fixes #26319
    
    Co-Authored-By: Claude Opus 5.5 <[email protected]>
    juliusmarminge and claude committed Oct 28, 2026
    Configuration menu
    Copy the full SHA
    6e09888 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    22ca727 View commit details
    Browse the repository at this point in the history
  4. fix(opencode): a late subagent report no longer settles the child's r…

    …unning call
    
    OpenCode 2 delivers a background subagent's report from a separate observer
    after its job ends, so the report can arrive after the child's next run has
    started. The previous fix settled the newest started call, which could be the
    one still running. A report now only settles calls whose run has ended: calls
    still awaiting their run and, while the child is busy, the current run's call
    group are skipped.
    
    Co-Authored-By: Claude Opus 5.5 <[email protected]>
    juliusmarminge and claude committed Oct 28, 2026
    Configuration menu
    Copy the full SHA
    92d4c86 View commit details
    Browse the repository at this point in the history
  5. fix(opencode): a report that beats its run's end still settles a lone…

    … running call
    
    Skip the running group only when an older run is open to take the report;
    otherwise settle it as main did, so a report that arrives before the child's
    end event does not strand the call.
    
    Co-Authored-By: Claude Opus 5.5 <[email protected]>
    juliusmarminge and claude committed Oct 28, 2026
    Configuration menu
    Copy the full SHA
    3b20f31 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    d703583 View commit details
    Browse the repository at this point in the history

Commits on Nov 11, 2026

  1. Configuration menu
    Copy the full SHA
    f35086a View commit details
    Browse the repository at this point in the history
  2. fix(opencode): match subagent reports to their run by call description

    A report carries no run id, so the busy-child heuristic misattributed a
    resumed run's early report to an older call, and treated delayed reports as
    proof that older ones were lost. OpenCode labels each run's report with the
    description of the call that started it, so match on that instead. Open calls
    for earlier runs complete without a result when a later run reports; an
    unmatched report falls back to the oldest call as before.
    
    AI-assisted; verified with the tests and tools listed above.
    
    Co-Authored-By: Claude Opus 5.5 <[email protected]>
    juliusmarminge and claude committed Nov 11, 2026
    Configuration menu
    Copy the full SHA
    1b462e1 View commit details
    Browse the repository at this point in the history
  3. fix(opencode): a joined call's description matches its run's report

    OpenCode labels a run's report with the description of whichever call
    registered the run's notification observer, which can be a call that joined
    the running child rather than the one that started it. Match the report
    against every call in a group, not only the group's root, so the earlier
    group keeps its result instead of being treated as lost.
    
    AI-assisted; verified with the tests and tools listed above.
    
    Co-Authored-By: Claude Opus 5.5 <[email protected]>
    juliusmarminge and claude committed Nov 11, 2026
    Configuration menu
    Copy the full SHA
    c4a46bd View commit details
    Browse the repository at this point in the history
Loading