Skip to content

Conversation

@tmancino
Copy link

@tmancino tmancino commented Feb 9, 2026

Summary

  • Remove ShineText per-character animation in WorkingIndicator.tsx — it runs a 30ms setInterval that triggers ~33 full Ink re-renders/second, causing visible screen flickering and jumping. Replaced with static colored <Text>. The Spinner component still provides a working indicator animation.
  • Default DebugPanel to show={false} in cli.tsx — it was enabled by default and re-renders on every log entry during agent execution, causing layout height changes that compound the flickering.

Reproduction

Observed on a clean macOS install (Darwin 24.3.0) running bun start. During agent execution the terminal output shimmers and jumps. The root cause is three overlapping animation timers (ShineText 30ms interval + Spinner + DebugPanel log subscription) each triggering full Ink redraws.

Test plan

  • Run bun start and submit a query — display should be stable during thinking/tool execution
  • Verify Spinner dots animation still appears in the working indicator
  • Confirm bun run typecheck passes cleanly

🤖 Generated with Claude Code

The ShineText animation in WorkingIndicator uses a 30ms setInterval that
triggers ~33 full Ink re-renders/second. Combined with the DebugPanel
(enabled by default) re-rendering on every log entry, this causes visible
screen flickering and jumping on macOS terminals.

- Remove ShineText per-character animation, use static colored Text instead
- Default DebugPanel to show={false} to prevent layout shifts from log churn

The Spinner component still provides a subtle working indicator animation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@virattt
Copy link
Owner

virattt commented Feb 9, 2026

Thanks @tmancino !

Is there any way to add tests that will validate / verify that the flickering is fixed?

@virattt
Copy link
Owner

virattt commented Feb 9, 2026

Also, we like the shine text indicator.

Any way to keep the shine while fixing the flicker?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants