github / github/copilot-cli

Secret filtering can block the CLI UI thread

Đang mở
#3,900 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
area:sessions area:terminal-rendering
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

Mở 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

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.