Skip to content

[ENHANCEMENT] Batch UI updates for Task Todo List to prevent jittering #10769

@chiangzi

Description

@chiangzi

Problem (one or two sentences)

When Roo Code updates the task checklist, it appears to update each item sequentially rather than in a single batch. This causes the UI to jitter or "jump" multiple times (e.g., if there are 10 items, the UI flickers 10 times), which leads to a poor and distracting user experience.

Context (who is affected and when)

This affects any user working on complex tasks with multiple checklist items. It is most visible when the agent is initializing a long list of tasks or marking multiple tasks as completed in a short period.

Desired behavior (conceptual, not technical)

The task list should update smoothly in one go. Instead of seeing the UI layout shift for every single item update, the changes should be batched so that the entire list updates in a single, stable render.

Constraints / preferences (optional)

The update should remain responsive, but visual stability (preventing layout shifts) should be prioritized during list modifications.

Request checklist

  • I've searched existing Issues and Discussions for duplicates
  • This describes a specific problem with clear context and impact

Roo Code Task Links (optional)

No response

Acceptance criteria (optional)

Given a task list with 10+ items.
When the agent updates the status or content of these items.
Then the UI should only perform a single visual update or use a transition that prevents layout jittering.

Proposed approach (optional)

Implement a batching mechanism or a debounced render for the task list component. Instead of triggering a UI refresh for every Task object change, wait for the current operation sequence to complete before committing the state change to the view.

Trade-offs / risks (optional)

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions