From bb87111c4926637b2071f3dcd5965fdcec7c325b Mon Sep 17 00:00:00 2001 From: Bohdan Triapitsyn Date: Tue, 19 May 2026 16:49:11 +0300 Subject: [PATCH] fix: refresh git changes after chat revert Updates Git and Diff views after reverting a chat turn Uses the existing git refresh hint path --- packages/ui/src/sync/session-actions.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/ui/src/sync/session-actions.ts b/packages/ui/src/sync/session-actions.ts index 4cc48b80..8436c644 100644 --- a/packages/ui/src/sync/session-actions.ts +++ b/packages/ui/src/sync/session-actions.ts @@ -15,6 +15,7 @@ import { registerSessionDirectory } from "./sync-refs" import { isSyntheticPart } from "@/lib/messages/synthetic" import { materializeSessionSnapshots } from "./materialization" import { stripMessageDiffSnapshots } from "./sanitize" +import { sessionEvents } from "@/lib/sessionEvents" const MESSAGE_REFETCH_LIMIT = 200 const MESSAGE_REFETCH_SKIP_PARTS = new Set(["patch", "step-start", "step-finish"]) @@ -648,7 +649,8 @@ export async function revertToMessage(sessionId: string, messageId: string): Pro // Call SDK and merge authoritative result into store try { - const result = await sdk().session.revert({ sessionID: sessionId, directory: dir(), messageID: messageId }) + const directory = dir() + const result = await sdk().session.revert({ sessionID: sessionId, directory, messageID: messageId }) if (result.data) { const current = store.getState() const updated = [...current.session] @@ -658,6 +660,9 @@ export async function revertToMessage(sessionId: string, messageId: string): Pro store.setState({ session: updated }) } } + if (directory) { + sessionEvents.requestGitRefresh({ directory }) + } } catch (err) { // Rollback: restore removed messages + revert marker const current = store.getState()