Repository navigation
Conversation
…hread that sent them A t3_thread_send forwarded to a linked environment arrived as the link's client session, so the receiving server recorded no sender and clients labeled the folded row "Agent" with no way back to the sender. Forwarded calls now carry the calling thread in a T3-Sender-Thread header, read only from linked clients. sendToThread keeps it as the message's linkedSender (environment, thread, and its title then). Web and mobile look the sender up in that environment, fall back to the carried title when the client cannot reach it, and offer Open thread only when it can. A steer that misses the turn keeps the sender when it is sent again. senderThreadId still names only a thread in this environment. Fixes pingdotgg#34708 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
|
Closing: EtanHey already has 3 or more open PRs here, which is the limit for contributors who are not vouched. Once one of them is merged or closed, open this again. See the open PR limit. |
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.
Fixes #34708
Problem
An agent's
t3_thread_sendforwarded to a linked environment arrives as the link's client session, so the receiving server records no sender. The folded row says "Agent" and has no "Open thread".Change
T3-Sender-Threadheader (environment, thread, title), next toT3-Mode-Limit. The receiving server reads it only from linked clients.sendToThreadstores it as the message'slinkedSender.senderThreadIdstill names only a local thread, so wake timing and subagent matching are unchanged.Scope and approval
One problem: the attribution folded rows already have (#23135) is lost across a link. Fixing it needs the contract, server, web and mobile changes together.
Verification
Each new test fails on
mainand passes here:PeerMcpClient.test.ts: the header round-trips through a real peer/mcp, and long titles are cut to whole charactersOrchestratorMcpService.test.ts: a linked caller's send recordslinkedSenderruntimeLayer.test.ts: started and queued messages keep itMessagesTimeline/QueuedRunsControlbrowser tests: the label, the fallback title, and "Open thread" in the right environmentTypecheck passes for contracts, server, web and mobile. Affected test files pass: server 502, web 113, mobile 51, contracts 12.
The timeline row, rendered in the browser test runner with a linked sender.
Not checked: a live two-machine run, the steer-redispatch path in
EffectWorker(no test reaches it), and a negative test for the non-linked header guard.Review: GPT-6.1 Sol, 3 rounds; the third was a narrow check of one fix. It found 3 defects, all fixed: the steer redispatch dropped the sender, a single-environment client still saw "Agent", and an unbounded title header could hit HTTP 431. The last two have tests.
🤖 Generated with Claude Opus 5.5 and GPT-6.1 Sol in T3 Code Nightly