Skip to content

[ENHANCEMENT] Per-conversation file diff: show all file changes for a task in one place #11493

@saneroen

Description

@saneroen

Problem (one or two sentences)

Users have to scroll through the whole chat to see which files were changed in a conversation. There’s no single place that lists all edits for that task.

Context (who is affected and when)

Anyone who uses Roo Code for multi-file or longer tasks: after the agent edits several files, they want to review “what changed in this conversation” without re-reading every message. Especially when returning to a past task from History.

Desired behavior (conceptual, not technical)

For each conversation (task), show a dedicated “file changes” summary: a list of files that were changed in that conversation, with the option to expand and see the diff for each file. Similar to Cursor’s “file diff” per chat: one place per conversation to see all changes.

Constraints / preferences (optional)

Should appear only when the task has at least one file edit (create/apply diff/edit file, etc.).
Prefer placement below the scrollable chat so it doesn’t push the thread down.
Reuse existing diff rendering and path display for consistency.
No need to change how edits are stored; derive the list from existing task messages.

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 where the user approved one or more file edits (new file, edit file, apply diff, etc.), when the user is viewing that task in the Chat tab, then a “file changes” section is visible (e.g. “X file(s) changed in this conversation”) and expanding it shows each changed file with an expandable diff.
Given a task with no file edits (e.g. only reads or commands), when viewing that task, then no “file changes” section is shown.
When the user expands a file in the list, the diff matches what was applied and uses the same style as inline diff blocks in chat.
The section does not appear in History list view; it is only in the Chat view for the active/selected task.

Proposed approach (optional)

Derive the list of file changes from the task’s UI messages: collect messages that represent file-edit tool results (e.g. “tool” with payloads like newFileCreated / editedExistingFile / appliedDiff, including both “say” and “ask” tool messages so approved edits are included).
Add a single collapsible panel (e.g. below the scrollable chat, above the input/buttons) that shows “X file(s) changed” and, when expanded, one row per file with an expandable diff (reuse existing diff component and path display).
No new persistence or backend API; all data already exists in the task’s messages.

Trade-offs / risks (optional)

Including both “ask” and “say” tool messages ensures approved edits are shown even though the UI keeps them as ask messages; the only downside is that a single pending (unapproved) tool at the end would also appear until approved or rejected.
Putting the panel below the chat avoids pushing the thread down but means users must scroll to the bottom to see it; that’s an acceptable trade-off for a summary that’s most useful after reading the conversation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    EnhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions