Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
d124b50
feat(session-ui): add EditableDiffView CM6 component (#767)
jeonghun-jj-lee Sep 3, 2026
f020a5f
feat(session-ui): custom unified-mode diff gutter extension (#769)
jeonghun-jj-lee Sep 3, 2026
8e4cc20
feat(review): wire editable diffs, revert, preview, save (#768/#770/#…
jeonghun-jj-lee Sep 3, 2026
322919d
fix(session-ui): dark mode colors, line wrapping, vertical scroll (#766)
jeonghun-jj-lee Sep 3, 2026
dc69afe
feat(session-ui): inline deleted-line widgets + softer diff backgrounds
jeonghun-jj-lee Sep 3, 2026
5e7750d
feat(session-ui): switch unified mode to @codemirror/merge unifiedMer…
jeonghun-jj-lee Sep 3, 2026
86b985f
fix(session-ui): disable accept/reject buttons in unified merge view
jeonghun-jj-lee Sep 3, 2026
b4932c6
fix(review): wire serverUrl for auto-save + save indicator
jeonghun-jj-lee Sep 3, 2026
3c5e45f
fix(review): restore local/amicode features clobbered by overlay copy
jeonghun-jj-lee Sep 3, 2026
52c6096
fix(write): emit filediff metadata so Files Changed shows written files
jeonghun-jj-lee Sep 3, 2026
0b88c6c
fix: in-project files created+deleted in same session no longer ghost…
jeonghun-jj-lee Sep 3, 2026
fd097b2
feat: track file renames in Files Changed via file-op-notify messages
jeonghun-jj-lee Sep 4, 2026
3a410eb
fix: use home from file-op-notify message for path normalization
jeonghun-jj-lee Sep 4, 2026
2d4dbdf
fix: bump diff_version on file-op-notify so moved-back files reappear
jeonghun-jj-lee Sep 4, 2026
5aeccfd
fix: rename map must use same home as reviewDiffs memo (undefined in …
jeonghun-jj-lee Sep 4, 2026
b64b7b5
fix(file-picker): horizontal scroll for dropdown in narrow panels
jeonghun-jj-lee Sep 4, 2026
4401f70
fix(file-picker): use min-width: max-content for reliable trackpad sc…
jeonghun-jj-lee Sep 4, 2026
c850c3b
fix(file-picker): pin dropdown to wrapper edges for panel-safe scroll
jeonghun-jj-lee Sep 4, 2026
70746d2
fix(file-picker): JS-measured max-width for panel-safe dropdown
jeonghun-jj-lee Sep 4, 2026
4646bfc
style(file-picker): 16px right margin for tasteful spacing
jeonghun-jj-lee Sep 4, 2026
d52fe19
fix(icon): add eye icon to v2 Icon map
jeonghun-jj-lee Sep 4, 2026
1e096b5
feat(files-changed): lock editing while agent is busy + preserve scroll
jeonghun-jj-lee Sep 4, 2026
1522b4e
fix(files-changed): move lock chip to top-left, fix scroll preservation
jeonghun-jj-lee Sep 4, 2026
78d26ee
fix(files-changed): in-place CM6 updates — no destroy/recreate on con…
jeonghun-jj-lee Sep 5, 2026
78de721
style(files-changed): center lock chip horizontally in diff view
jeonghun-jj-lee Sep 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 61 additions & 0 deletions bun.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/app/src/context/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ type TabHandoff = {
export type LocalProject = Partial<Project> & { worktree: string; expanded: boolean }
export type HomeProjectSelection = { server: ServerConnection.Key; directory?: string }

export type ReviewDiffStyle = "unified" | "split"
export type ReviewDiffStyle = "unified" | "split" | "preview"
export type ReviewChangeMode = "git" | "branch" | "turn"
export type ReviewPanelSource = "context-button" | "other"

Expand Down
12 changes: 12 additions & 0 deletions packages/app/src/context/server-session.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ type MessageApi = ServerApi["message"]
const cmp = (a: string, b: string) => (a < b ? -1 : a > b ? 1 : 0)
const cmpMessage = (a: Message, b: Message) => a.time.created - b.time.created || cmp(a.id, b.id)
const SKIP_PARTS = new Set(["patch", "step-start", "step-finish"])
const EDIT_TOOLS = new Set(["edit", "write", "patch", "apply_patch"])
const initialMessagePageSize = 20
const historyMessagePageSize = 200
const sessionInfoLimit = 2_048
Expand Down Expand Up @@ -1149,6 +1150,17 @@ export function createServerSession(
next.splice(result.index, 0, part)
return next
})
// Bump diff_version when a file-editing tool completes so the diff
// query refetches mid-turn. The equivalent logic in event-reducer.ts
// is unreachable because the SSE path skips SESSION_CONTENT_EVENTS.
if (
part.type === "tool" &&
EDIT_TOOLS.has(part.tool) &&
part.state.status === "completed" &&
(part.state as { metadata?: Record<string, unknown> }).metadata?.filediff
) {
setData("diff_version", part.sessionID, (v = 0) => v + 1)
}
return
}
case "message.part.removed": {
Expand Down
Loading
Loading