Skip to content

High performance and flicker free behavior on terminal resize #21924

Open

Description

@jacob314

This requires migrating to RenderStatic for from Static for history items
and updating the history items in small batches on resize rather than attempting to update the entire history the first frame after resize.

RenderWorker changes in Ink will also help mitigating by resolving the current issue where outside of alternate buffer mode, there is a large flicker of previously rendered content on resize.

Activity

  1. added theissue type on Mar 10, 2026
  2. added
    workstream-rollupLabel used to tag epics and features that are associated with one of the three primary workstreams
    on Mar 10, 2026
  3. added
    area/coreIssues related to User Interface, OS Support, Core Functionality
    on Mar 10, 2026
  4. added
    🔒 maintainer only⛔ Do not contribute. Internal roadmap item.
    and removed
    status/need-triageIssues that need to be triaged by the triage automation.
    on Mar 10, 2026
  5. added
    priority/p2Important but can be addressed in a future release.
    on Apr 6, 2026
  6. jacob314 commented on Apr 6, 2026

    @jacob314
    ContributorAuthor

    We have migrated to StaticRenderer and we optimize to only render 1000 chars on the ink side but we haven't yet landed the corresponding optimization to 1000 chars on the Gemini CLI side

  7. gemini-cli commented on May 9, 2026

    @gemini-cli
    Contributor

    Assigned area/core based on content keywords. Marked as kind/bug with priority/p2. Missing CLI version, so status/need-information is recommended.

    Effort Analysis:
    Using codebase search tools, I investigated the keyword 'performance' and located the core mechanisms in packages/cli/src/config/settingsSchema.ts, packages/cli/src/gemini.test.tsx, packages/cli/src/ui/AppContainer.tsx. The required fix involves state synchronization, asynchronous flows, or cross-component refactors between the UI and core packages. Resolving the data models and lifecycle constraints here requires moderate technical depth, categorizing this as effort/medium.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/coreIssues related to User Interface, OS Support, Core Functionalityeffort/medium2-3 days: UI state, async flow, cross-component refactorskind/bugpriority/p2Important but can be addressed in a future release.status/bot-triagedstatus/need-informationworkstream-rollupLabel used to tag epics and features that are associated with one of the three primary workstreams🔒 maintainer only⛔ Do not contribute. Internal roadmap item.

    Type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions