github / github/copilot-cli

Streaming long Markdown links repeatedly reflow tables

Offen
#4,347 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

area:terminal-rendering
Vorherrschende Sprache
Shell
Sterne
11.2k
Forks
1.9k
Ø Merge
14 Std. 16 Min.
Gemergte PRs (30 T.)
6

Beschreibung

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

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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne im Rendering-Pfad für Streaming-Markdown-Tabellen im interactive-mode und reproduziere das Problem mit langen Inline-Links in mehreren Tabellenzeilen. Verfolge die wiederholten Layout-Durchläufe, während URL-Zeichen eintreffen; abgeschlossen ist die Arbeit, wenn unvollständige Links keine störenden vollständigen Neuanordnungen der Tabelle mehr auslösen und abgeschlossene Links mit ihrem sichtbaren Text gerendert werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
markdown, shell
Bereich
cli, performance
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
58/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.