Canvas unavailable after extensions_reload until second reload
- 主要语言
- 没有语言数据
- 星标
- 2.1k
- 派生
- 153
- PR 合并指标
- 30 天内没有已合并 PR
描述
## Summary
After `extensions_reload`, a canvas extension can be listed as ready, but `open_canvas` fails with `CanvasRuntimeError: No canvas "inbox-zero" is registered`. Running `extensions_reload` a second time restores `open_canvas`.
## Repro steps
1. Start a canvas extension and open an instance, e.g. `inbox-zero-live`.
2. Run `extensions_reload`.
3. Confirm `extensions_manage({ operation: "list" })` shows the extension as ready.
4. Run `open_canvas({ canvasId: "inbox-zero", instanceId: "inbox-zero-live" })`.
## Observed
- `open_canvas` fails with `No canvas "inbox-zero" is registered`.
- `invoke_canvas_action(...)` fails with `Canvas instance "inbox-zero-live" is not open`.
- Running `extensions_reload` again makes `open_canvas` succeed.
- The previously open canvas can remain blank or stale until recovery.
## Expected
After one successful `extensions_reload`, ready canvas extensions should be immediately openable, and previously open canvas instances should recover without an additional reload.
## Environment
- Copilot CLI 1.0.63-0, Windows
- User-scope canvas extension: `~/.copilot/extensions/inbox-zero/`
- Canvas uses a loopback HTTP server
贡献指南
调研方向
首先,使用 inbox-zero 扩展通过 extensions_reload、extensions_manage、open_canvas 和 invoke_canvas_action 重现该序列。跟踪 reload 和 canvas 实例恢复的生命周期,然后验证一次 reload 就能让已就绪的扩展可打开,并在不进行第二次 reload 的情况下恢复之前已打开的实例。
由索引模型根据 Issue 内容生成。
评估
- 领域
- cli, desktop
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 冷清
- 描述清晰度
- 基本清楚
- 新手友好度
- 52/100