github / github/copilot-cli

Streaming long Markdown links repeatedly reflow tables

Open
#4,347 0 comments 0 reactions 0 assignees View on GitHub
area:terminal-rendering
Dominant language
Shell
Stars
11.2k
Forks
1.9k
Avg merge
14h 16m
Merged PRs (30d)
6

Description

### 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

1. Start GitHub Copilot CLI in interactive mode.
2. 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.

3. Watch the table while the response streams.
4. Observe columns repeatedly resizing and wrapping while each link destination arrives.
5. 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.

Contributor guide

Open the contributing guide

Research direction

Start in the interactive-mode streaming Markdown table rendering path and reproduce the issue with long inline links in several table rows. Trace the repeated layout passes as URL characters arrive; done means incomplete links no longer trigger disruptive full table re-layouts, while completed links render using their visible text.

Written by the indexing model from the issue text.

Assessment

Tech stack
markdown, shell
Domain
cli, performance
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.