[BUG]: Terminal streaming renderer corrupts output - characters doubled/truncated during streaming
- 主要語言
- Shell
- 星號
- 11.2k
- 分支
- 1.9k
- 平均合併
- 14 小時 16 分鐘
- 30 天內合併 PR
- 6
描述
## 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.
貢獻指南
研究方向
Start by reproducing the corruption in the Copilot CLI terminal renderer on macOS, comparing thinking/reasoning and final-response streaming. Trace how the renderer handles partial tokens and line updates; done means streamed output matches the underlying content without doubled characters, truncation, or repeated lines.
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- shell
- 領域
- cli
- Issue 類型
- 缺陷
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 活躍度
- 冷清
- 描述清晰度
- 基本清楚
- 新手友好度
- 45/100