Move live stats (tokens, tools, duration) from the header — which scrolls above the TUI viewport for long transcripts — to a stable Text component placed after the viewerContainer. Stats are updated in-place via setText() so the diff algorithm sees changes near the bottom of rendered output, avoiding the fullRender(true) trigger when firstChanged < viewportTop. Previously every ~150ms progress update changed the header stats line, which sat above the viewport for large transcripts. The TUI's safety check (firstChanged < previousContentViewportTop) forced a full screen clear and re-render each cycle. In multiplexers (tmux/zellij) this produced visible repetitive scrolling because scrollback is preserved across clears.
@oh-my-pi/pi-coding-agent
Core implementation package for the omp coding agent in the oh-my-pi monorepo.
For installation, setup, provider configuration, model roles, slash commands, and full CLI reference, see:
Package-specific references: