Secret filtering can block the CLI UI thread
- 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
Copilot CLI does secret scanning synchronously on the UI thread, which can freeze the TUI if taking too long. This can easily happen if the response objects are large because of the single threaded scanning. Also, scanning the response as structured objects with recursion is much slower than scanning by treating it as a single string.
In my situation, the freezing was worsened by the fact Copilot attempted to replay and submit past events when a session was resumed. Up to 500 events will be scanned for secrets at a time with scheduled batches, all happening on the UI thread and causing noticeable TUI freezing. What's more, if the remote submission fails, it will repeatedly scan the same 500 events for up to 5 times
### Affected version
1.0.64-3
### Steps to reproduce the behavior
Make some tool calls with large responses, and observe the TUI freezing
### Expected behavior
TUI shouldn't freeze regardless of the size of the responses or whether they are strings or structured data
### Additional context
_No response_
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu bằng cách xác định đường dẫn secret-scanning đồng bộ được CLI UI và luồng phát lại tiếp tục phiên và gửi theo lô sử dụng. Tái hiện hiện tượng đóng băng với các phản hồi có cấu trúc lớn và các phiên được tiếp tục, sau đó xác minh rằng việc quét không còn chặn TUI và các lần gửi thất bại không quét lại cùng một sự kiện nhiều lần.
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, performance, security
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 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
- 45/100