Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

[Bug]: Conversation feed stutters and bounces back while streaming (macOS, arm64 desktop)

Aberta
#146 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
15/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
electron, macos

Direção de pesquisa

The payload names no repository files, so start by locating where the desktop app launches its Chromium helper processes and where the --disable-features list is set; check whether DropInputEventsWhilePaintHolding is disabled there. Then find the feed component that auto-follows new streamed content and see how it handles user scroll. Done means a reproducible streaming-scroll test or a documented root cause, plus a fix that keeps scroll position while output streams.

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

Descrição

Summary

While a response is streaming, the conversation feed scrolls with heavy stutter / dropped frames, and scrolling up with the mouse bounces back to the newest content — so long streamed outputs can't be read in real time. Idle scrolling is fine; this only happens while tokens are arriving.

Environment

  • Command Code desktop 0.1.54 (auto-updated from 0.1.53 while testing — not fixed in 0.1.54)
  • macOS 27.0 (build 26A428)
  • Apple M1 (8-core); built-in Retina display 4480 x 2520 at native scaling, single display
  • App is native arm64 (Mach-O thin (arm64); sysctl.proc_translated = 0)
  • GPU acceleration on — helper runs as Command Code Helper --type=gpu-process

Steps to reproduce

  1. Open a session with a large transcript (observed around 3 MB / ~500 entries).
  2. Send a prompt that produces a long streamed response.
  3. While tokens are still arriving, scroll up with the mouse/trackpad.

Result: the feed stutters and snaps back to the bottom; earlier lines can't be read.

Expected

  • Scrolling stays smooth while streaming.
  • Scrolling up detaches from the auto-follow instead of bouncing back.

What was ruled out

  • Rosetta / translation — app is native arm64. It was previously running the Intel build; switching to the Apple-Silicon build did not fix this streaming scroll stutter.
  • Software rendering — GPU process is present and GPU-compositing flags are active on the renderer.
  • Non-native display scaling — display is at its native mode.
  • A settings workaround — the config registry exposes no scroll / auto-follow / transcript-render option.
  • A newer version — 0.1.54 is current.

Likely suspect

Helpers are launched with --disable-features=...,DropInputEventsWhilePaintHolding,.... With that feature disabled, input events aren't shed while a paint is held, so scroll input queues during heavy streaming repaint — which matches the reported "scroll up and it bounces back" behavior.

Requests

  • Add a scroll-follow toggle, or detach auto-follow as soon as the user scrolls up.
  • Consider disabling elastic overscroll for the feed (overscroll-behavior: none).
  • Consider re-enabling DropInputEventsWhilePaintHolding.
  • Investigate repaint/relayout cost for large transcripts while streaming.

Diagnostics

  • During streaming the renderer is the hot process; on the pre-arm64 (Intel) build the main process spiked to ~100% CPU.
  • No crash reports for the app; the ~/.commandcode data directory is small (no obvious leak).
  • Trace ids (for support): 99e8f6007c859816e280fac896c81bad, d0da42a640d1a24a1b6d1a1c7dcb2588
Linguagem predominante
Shell
Estrelas
96
Forks
7
Merge médio
2h 46min
PRs com merge (30d)
1

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de CommandCodeAI/desktop

Todas as issues de CommandCodeAI/desktop

Issues semelhantes

Mais issues de Shell/Bash

Receba novas issues na sua caixa de entrada

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