github / github/copilot-cli

Streaming long Markdown links repeatedly reflow tables

Ouverte
#4,347 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

area:terminal-rendering
Langage dominant
Shell
Étoiles
11.2k
Forks
1.9k
Merge moyen
14 h 16 min
PR mergées (30 j)
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

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.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez dans le chemin de rendu des tableaux Markdown en streaming de interactive-mode et reproduisez le problème avec de longs liens inline dans plusieurs lignes du tableau. Suivez les passes de mise en page répétées à mesure que les caractères de l’URL arrivent ; le travail est terminé lorsque les liens incomplets ne déclenchent plus de re-mises en page complètes et perturbatrices du tableau, tandis que les liens terminés sont rendus avec leur texte visible.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
markdown, shell
Domaine
cli, performance
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
58/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.