Repository navigation
feat(cloud-agent-next): open changes as a side-by-side diff - #6578
Conversation
The Changes button opens a file list beside one file diff instead of a sheet that then opens a tab. The list width is draggable and remembered in this browser. A review comment is labeled older only when its quote no longer matches the latest saved file.
Code Review SummaryStatus: 1 Issue Found | Recommendation: Address before merge Executive SummaryThe cancelled-backoff guard now preserves a restarted verification's inflight record when the snapshot changes mid-retry, resolving the previous WARNING; one lower-priority performance suggestion on Overview
Issue Details (click to expand)SUGGESTION
Files Reviewed (2 files)
Fix these issues in Kilo Cloud Previous Review Summaries (3 snapshots, latest commit f255d69)Current summary above is authoritative. Previous snapshots are kept for context only. Previous review (commit f255d69)Status: 2 Issues Found | Recommendation: Address before merge Executive SummaryThe retry fix for Overview
Issue Details (click to expand)WARNING
SUGGESTION
Files Reviewed (2 files)
Fix these issues in Kilo Cloud Previous review (commit 98f7d98)Status: 3 Issues Found | Recommendation: Address before merge Executive SummaryThe new stale-comment verification effect in Overview
Issue Details (click to expand)WARNING
SUGGESTION
Files Reviewed (18 files)
Fix these issues in Kilo Cloud Previous review (commit dcd731f)Status: 3 Issues Found | Recommendation: Address before merge Executive SummaryThe new stale-comment verification effect in Overview
Issue Details (click to expand)WARNING
SUGGESTION
Files Reviewed (18 files)
Reviewed by deepseek-v4.1-flash · Input: 0 · Output: 0 · Cached: 0 Review guidance: REVIEW.md from base branch |
Extract useSavedWorktreeChanges into its own module so WorktreeChanges.tsx can import WorktreeFilePane without a circular dependency back through useWorktreeFile.ts. Behaviour is unchanged.
Do not cache a failed freshness check. Retry it while Review is open, drop records for removed comments, and keep the effect off the chat render path.
| const [unappliedVerifications, setUnappliedVerifications] = useState<ReadonlyMap<string, string>>( | ||
| new Map() | ||
| ); | ||
| const verificationInputKey = [...latestSnapshots.entries()] |
There was a problem hiding this comment.
SUGGESTION: verificationInputKey is rebuilt on every render.
worktreeReviewSnapshotVerificationKey runs JSON.stringify over snapshot.files for every source, and this executes in the component body on every render of the chat page, which re-renders frequently while streaming. The snapshot file list can be large, so this repeats work per render purely to produce a dependency value. Consider memoizing latestSnapshots (and the key) so the string is only recomputed when snapshot content changes.
Reply with @kilocode-bot fix it to have Kilo Code address this issue.



Summary
The Changes button now opens a main-content view: the changed-file list on the left and one file diff on the right. Selecting another file replaces that diff. It no longer opens a sheet and then a workspace file tab.
Verification
Local browser, Cloud Agent session with saved changes: Changes opens list and one diff; selecting a second file replaces the diff and adds no file tab; clicking the already-selected chat tab closes the view.
Local browser: dragging the file-list separator moved it from 448px to 540px, then a later drag saved 608px. After reload, the list opened at 608px.
Below the
smbreakpoint the list is full width and the resize handle is hidden.Focused unit tests passed for the selection rule, tab activation, review quote match, and stored width. The review-dialog label was not exercised against a running review with an older snapshot.
Changes split view, tab deselect, resize, and remembered width checked in the local app
Review dialog label checked in a running review
Visual Changes
The Changes surface is no longer a right-hand sheet. Desktop shows the file list and one diff side by side, with a drag handle between them. The Chat tab is not highlighted while that view is open. Narrow viewports keep the existing list-then-diff flow.
Screenshots were captured locally during verification and are not attached here.
Reviewer Notes
WorktreeChangesViewowns which file is shown and the list width. The page only toggles the view.