Streaming long Markdown links repeatedly reflow tables
Chưa có ai nhận issue này.
- 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
While a response is streaming, inline Markdown links inside tables cause repeated table re-layout and visually disruptive jumping.
For a Markdown link such as [foo](https://very-long-url...) inside a table, the URL arrives character by character. Each character appears to trigger another table layout/render pass using the incomplete raw Markdown. The columns continuously resize and wrap; once the closing ) arrives, the whole link collapses to its visible text (foo) and the table jumps again.
This makes tables containing several long links very slow and visually unstable even though the final rendered table may look correct.
Affected version
GitHub Copilot CLI 1.0.77.
Steps to reproduce the behavior
-
Start GitHub Copilot CLI in interactive mode.
-
Enter this prompt:
Render a Markdown table with several rows. Each row must contain an inline Markdown link whose destination URL is at least 150 characters long.
-
Watch the table while the response streams.
-
Observe columns repeatedly resizing and wrapping while each link destination arrives.
-
Observe another layout jump when each completed link collapses to its visible text.
Expected behavior
Streaming incomplete Markdown should not cause a full table re-layout on every character. Table columns should remain visually stable while link destinations stream, then render using the visible link text when complete.
Additional context
- OS: macOS 26.5.2
- CPU architecture: arm64
- Shell: zsh
- Video: https://github.com/user-attachments/assets/98bc24df-27e5-47f6-aab2-345dd3e995e2
The video uses a trivial example. The effect becomes much more disruptive with additional columns and rows. The demo also rendered unusually quickly; normal rendering is approximately 0.3-0.5 times this speed.
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu trong đường dẫn render bảng Markdown dạng streaming của interactive-mode và tái hiện vấn đề với các liên kết inline dài trong nhiều hàng của bảng. Theo dõi các lượt layout lặp lại khi các ký tự URL đến; hoàn tất khi các liên kết chưa hoàn chỉnh không còn kích hoạt việc re-layout toàn bộ bảng một cách gây gián đoạn, trong khi các liên kết đã hoàn chỉnh được render bằng văn bản hiển thị của chúng.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- markdown, shell
- Lĩnh vực
- cli, performance
- 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
- 58/100