Repository navigation
Keep command-context cancellation with the target owner - #1245
Conversation
|
Actual pushed-head source qualification: fe62d5c cold-started the real saved-session Toad/ACP frontend on isolated Xvfb :94, displayed both retained real-provider replies and Paused state, survived 24 physical channel/agent-tab clicks, and opened actual slash completion. No Enter/provider input was sent. Retained cold-open.png and slash-after-navigation.png under the owned toad-owner-ui evidence directory. No exact invalidation race or automated-test success claimed. The installed hotfix remains the merged #1244 code; this follow-up source is not silently substituted into live packages. |
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.
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.
Follow-up to merged #1244; fixes the dependency ownership defect exposed by its hosted debt check.
Owner
The target context can expire both during discovery and during command application. Put
CommandContextChangedbesideTargetContextintarget_commands.py, not in the catalog that already imports that module. It still inheritsasyncio.CancelledError: Textual cancels obsolete background discovery, while the catalog consumes only this nominal foreground cancellation and never submits it as agent input. Ordinary task cancellation and unrelated errors still propagate.Delete the target module's runtime import of its consumer and Conversation's unnecessary local TargetContext import. No compatibility alias, new helper module, alternate command cache, or state mirror. The old discovery-only name also incorrectly described invalidation during application.
Evidence
FunctionLocalImport:src/toad/target_commands.py +1at the former line122. This is a real consumer-to-owner dependency loop, not a reason to raise a counter.CommandContextChanged -> asyncio.CancelledError -> BaseException.Messaging.send_message,HistoryViews.channel_history), not an application acceptance result.Assumed: original #1244 is merged and its local hotfix is installed. This follow-up's new owner/name is source-published; installation/cold frontend confirmation is recorded after application. Source/installed distinction is deliberate. No Core runtime restart, source-session mutation, paid-provider substitution or uncertain-input replay.