Repository navigation
Hotfix: deliver existing owner status when a conversation subscribes - #1381
Merged
Merged
Conversation
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
This was referenced Oct 31, 2026
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.
Defect
Tristan cannot submit to comms-commander-2: Toad reports no live owner binding even though the registry, acquired Core ThreadPresentation and actual ACP load response all contain the same live owner witness. Idle threads need not publish another status change.
Fix
When NativeViewBinding installs its thread observation, immediately consume the status already held by Core's OpenThreadStatus. Register before reading, so later changes retain the existing delivery. Conversation.thread_observed accepts the initial call as well as the existing event callback; it uses the same captured ThreadRead settlement, presentation and input decision. No new read, copied binding, polling, synthetic event or permission bypass.
Two files, +3/-1. Source-first NRA map: eight relevant Toad modules, zero parse omissions. Traced registry owner binding -> ThreadView.presentation -> OpenThreadStatus -> ThreadRead -> Conversation.thread_presentation -> existing owner input decision, plus all subscription callers. Open #1338/#1373 touch separate key/queue regions in Conversation; no competing subscription edit.
Actual saved-session application qualification is in progress. Current Toad main requires newer Core (CommanderUnitRead); qualification uses the paired current sources rather than claiming the older installed Core imports it.
Installed result
Merged and installed with Core #3781 and Toad #1381/#1383. Exact installed Core 1c25645ea1e1; Toad 8b9f26a. Real plain-st/Xvfb journey used a bounded genuine saved-history copy and the configured openai-codex/gpt-6.1-sol/high provider. Before send, the actual focused input reported InputAccepted and LiveThreadOwnerBinding. One fresh physical UI input (39c0fb8091f248e4b0213c18129cdd7b) received the genuine OWNER_BINDING_FINAL_REPLY; the inspected screenshots show the answer, actual #comms tab selection, and the answer retained on return. Ordinary Ctrl-Q exit 0; private root retired; original settings unchanged. No ACP response errors, automated tests or replay of original/uncertain inputs.
Earlier journey sent no input while its observer was unready. Journey 2 received a real answer but exposed Core's missing session_id and Toad's failed-state process access; its observer/quit result is excluded, not silently counted. Both causes are fixed in this paired build. Install initially published packages but failed restarting owners at the disk floor; all original 14 owners were restored, regenerable caches pruned, and the final supported install completed with no pending carries.
Concise retained evidence:
/home/ts/.cache/agent-scratch/codex-latency/initial-thread-binding/RESULT.json; inspected imagesui-3/02-reply.png,03-channel.png,04-return.png.