Streaming long Markdown links repeatedly reflow tables
还没有人认领这个 Issue。
- 主要语言
- Shell
- 星标
- 11.2k
- 派生
- 1.9k
- 平均合并
- 14 小时 16 分钟
- 30 天内合并 PR
- 6
描述
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.
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
从 interactive-mode 的流式 Markdown 表格渲染路径入手,在多个表格行中使用较长的内联链接来复现该问题。跟踪 URL 字符到达时反复执行的布局过程;完成的标准是,未完成的链接不再触发具有干扰性的整表重新布局,而已完成的链接则使用其可见文本进行渲染。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- markdown, shell
- 领域
- cli, performance
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 冷清
- 描述清晰度
- 基本清楚
- 新手友好度
- 58/100