gemini-cli PR kills tmux flicker with synchronized output and isolated spinner rendering
diegogodinezr · ghdev · 2026-10-13
- A priority P2, size/xl PR in google-gemini/gemini-cli fixes screen flickering in terminal multiplexers (notably tmux), closing #22004.
- Core technique: bracket interactive UI frame writes with synchronized output — DEC Private Mode 2026 (\x1b[?2026h/l) on standard terminals (atomically buffered where supported, silently ignored elsewhere), and tmux DCS synchronized update sequences (\x1bP=1s…\x1b\\) when TMUX is set.
- It also isolates spinner state: tick intervals are localized inside CliSpinner/GeminiSpinner, and spinner, LoadingIndicator, StatusRow, etc. are wrapped in React.memo so frame ticks don't re-render parents/siblings; spinner interval drops to 120ms under tmux to cut PTY redraw overhead.
- A non-obvious, reusable pattern for anyone building terminal TUIs (especially React/Ink-based).
More from coding & agent
- Index Network open-sources Social Discovery Protocol: agents negotiate fit on your behalf — carsonfarmer · 2026-10-23
- Installed a formal-verification skill: it silently installed Java, MacBook runs 10 degrees hotter — zealcaiden · 2026-10-23
- OpenAI's Decisions API hits GA: near real-time routing up to 10x faster than GPT-6 Luna — OpenAIDevs · 2026-10-23
- Ruff author warns: upgrade Node/Bun now — --use-system-ca still accepts the eMudhra cert — charliermarsh · 2026-10-23
- Proof of Agent: paste one prompt and your AI mines, grades, and self-governs — adamamcbride · 2026-10-23
- DeepLearning.AI weekly: GPT-6.1 hits 97.9% byte parity on COBOL migration — DeepLearningAI · 2026-10-23