fix: add timeout and cancellation support for notifications and registry fetch#13
Conversation
There was a problem hiding this comment.
Pull request overview
Adds cancellation/timeout plumbing to improve user experience when connecting/restarting agents and when fetching the remote agent registry.
Changes:
- Make connection/new-conversation/restart progress notifications cancellable and add cancellation logging.
- Add a 30s timeout to registry fetch via
AbortController. - Update some error messages to include the agent name.
Reviewed changes
Copilot reviewed 2 out of 3 changed files in this pull request and generated 7 comments.
| File | Description |
|---|---|
| src/extension.ts | Makes several progress notifications cancellable and enriches some error messages. |
| src/config/RegistryClient.ts | Adds fetch timeout/cancellation for registry retrieval. |
| package-lock.json | Lockfile metadata churn (peer flags removed). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…try fetch - Add 30s timeout to registry fetch with AbortController - Make progress notifications cancellable for connect, new conversation, and restart actions - Add cancellation callbacks for better logging - Improve error messages to include agent name
8df3c23 to
b4b5bc3
Compare
|
@formulahendry ping |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 4 out of 5 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
ping @formulahendry |
…nect() Prevents indefinite hangs during connection initialization by: - Detecting when agent process exits during connection - Adding 30-second timeout for connection initialization - Properly cleaning up streams on error - Providing clear error messages for failure scenarios Fixes the issue where ConnectionManager.connect() would hang forever when the agent process crashes or exits before initialization completes. Reference: formulahendry#13
…nect() Prevents indefinite hangs during connection initialization by: - Detecting when agent process exits during connection - Adding 30-second timeout for connection initialization - Properly cleaning up streams on error - Providing clear error messages for failure scenarios Fixes the issue where ConnectionManager.connect() would hang forever when the agent process crashes or exits before initialization completes. Reference: formulahendry#13
formulahendry
left a comment
There was a problem hiding this comment.
For recent 4 comments from Copilot, please help resolve them. If you think some comment is inappropriate, please share the Won't Fix reason.
Cherry-picked and adapted from formulahendry/vscode-acp: - fix(formulahendry#46): use correct Copilot package (@github/copilot@latest) - fix(#2): serialize concurrent permission requests to prevent silent cancellations when multiple QuickPick dialogs overlap - fix(formulahendry#6): respect acp.defaultWorkingDirectory in CWD resolution so workspace-scoped agents (kiro-cli etc.) find their config files - fix(formulahendry#13): add 30s AbortController timeout to registry fetch; make connect/newConversation/restart progress notifications cancellable - fix(formulahendry#47): redirect ACP pipe to fd 3 on login shells to prevent profile scripts (e.g. distrobox_profile.sh) from consuming fd 0 - feat(formulahendry#18): security hardening — workspace path validation in FileSystemHandler, env var filtering and shell:false in TerminalHandler - feat(formulahendry#42): editor context link — toggle to prepend active file/cursor info to chat prompts (acp.toggleEditorContext command) - feat(formulahendry#40): add Grok Build as pre-configured agent - feat(formulahendry#35): add openHarness as pre-configured agent - feat(formulahendry#44): add siGit Code as pre-configured agent - feat(formulahendry#37/agent): add Reasonix as pre-configured agent (diff preview implementation deferred to separate PR using formulahendry#43 approach) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Summary
Test plan
🤖 Generated with Claude Code