github / github/copilot-cli

[BUG]: Terminal streaming renderer corrupts output - characters doubled/truncated during streaming

Aberta
#3,749 5 comentários 8 reações 0 responsáveis Ver no GitHub
area:terminal-rendering
Linguagem predominante
Shell
Estrelas
11.2k
Forks
1.9k
Merge médio
14h 16min
PRs com merge (30d)
6

Descrição

## Description

The Copilot CLI terminal renderer corrupts streamed output, producing doubled characters, truncated tokens, and repeated lines. This affects both the thinking/reasoning phase output and the final assistant response output.

## Steps to Reproduce

1. Ask Copilot CLI any question that produces a moderately long response
2. Observe the output as it streams to the terminal

## Observed Behavior

Output is visibly corrupted during streaming. Examples seen:
- Partial tokens rendered before full token is available (e.g. `apil` instead of `apiVersion`)
- Characters doubled mid-word (e.g. `obserrvability`, `permpermissions`)
- Words repeated mid-sentence (e.g. `New ReliNew Relic`, `useruser`)
- Lines repeated (e.g. `metadata:` block appearing twice)
- Thinking/reasoning tokens streamed visibly with same corruption artifacts

Example corrupted output observed:
```
apil
apiVersion: rbac.authorization.k8s.io/v1
...
- apiGroups: [piGroups: [""]
```

## Expected Behavior

Output should render cleanly with no corruption, doubled characters, or repeated lines.

## Environment

- Copilot CLI version: 1.0.61
- OS: Darwin (macOS)

## Notes

The underlying content being generated is correct — the issue is purely in how the CLI streams and renders tokens to the terminal.

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

Comece reproduzindo a corrupção no renderizador de terminal do Copilot CLI no macOS, comparando o streaming de thinking/reasoning e da resposta final. Rastreie como o renderizador lida com tokens parciais e atualizações de linha; considera-se concluído quando a saída transmitida corresponde ao conteúdo subjacente, sem caracteres duplicados, truncamento ou linhas repetidas.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
shell
Domínio
cli
Tipo de issue
Bug
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Pouca atividade
Clareza
Razoavelmente clara
Facilidade para iniciantes
45/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.