Esc in /tasks overlay also dismisses active question prompt
- Ngôn ngữ chính
- Shell
- Star
- 11.2k
- Fork
- 1.9k
- Merge trung bình
- 14 giờ 16 phút
- Pull request đã merge (30 ngày)
- 6
Mô tả
### Describe the bug
When the Copilot CLI `/tasks` overlay is open and the agent asks a question, pressing `Esc` to close the task/subagent menu also affects the underlying question prompt.
The same `Esc` keypress appears to be handled twice:
1. It closes the `/tasks` overlay.
2. It also dismisses or skips the active question prompt underneath.
This prevents the user from answering the question and can cause the agent to continue with an unintended skipped/default response.
This seems inconsistent with the documented `Esc` behavior for Copilot CLI, where an open dialog, overlay, or picker should be closed before `Esc` acts as a broader cancel action.
References:
- [`/tasks` command reference](https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-command-reference)
- [`Esc` behavior in Copilot CLI](https://docs.github.com/en/copilot/concepts/agents/copilot-cli/cancel-and-roll-back)
- [`/fleet` and subagent task execution](https://docs.github.com/en/copilot/concepts/agents/copilot-cli/fleet)
### Affected version
GitHub Copilot CLI 1.0.49.
### Steps to reproduce the behavior
1. Start an interactive Copilot CLI session.
2. Start a task that uses subagents or background tasks.
3. Open the task/subagent manager with `/tasks`.
4. While the `/tasks` overlay is open, wait for the agent to ask a question or clarification.
5. Press `Esc` once, intending only to close the `/tasks` overlay.
6. Observe that the active question is also skipped or dismissed.
### Expected behavior
Pressing `Esc` while the `/tasks` overlay is open should only close that overlay and return focus to the active question prompt.
The question should remain visible and answerable.
### Additional context
This looks like a key handling or focus propagation issue. The `/tasks` overlay appears not to consume the `Esc` event after using it to close itself, so the same keypress reaches the global cancel handler or the underlying question UI.
A possible fix would be to make the `/tasks` overlay treat `Esc` as handled when it closes the overlay, preventing the key event from being forwarded to lower-priority UI layers.
A regression test could cover this stacked UI case:
1. An active question prompt is visible underneath the `/tasks` overlay.
2. The user presses `Esc` once.
3. Only the `/tasks` overlay closes.
4. The question prompt remains open and answerable.
Hướng dẫn đóng góp
Hướng nghiên cứu
Reproduce the stacked UI case by opening the /tasks overlay while a question prompt is active, then pressing Esc once. Trace Esc handling from the /tasks overlay to the underlying question prompt and add a regression test covering that sequence. Done means the overlay closes while the question remains visible and answerable.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- shell
- Lĩnh vực
- cli
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Ít trao đổi
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 55/100