;
onRevertUserMessage: (messageId: MessageId) => void;
+ onEditUserMessage: (messageId: MessageId, text: string) => void;
isRevertingCheckpoint: boolean;
onImageExpand: (preview: ExpandedImagePreview) => void;
activeThreadEnvironmentId: EnvironmentId;
@@ -134,6 +136,7 @@ export const MessagesTimeline = memo(function MessagesTimeline({
onOpenTurnDiff,
revertTurnCountByUserMessageId,
onRevertUserMessage,
+ onEditUserMessage,
isRevertingCheckpoint,
onImageExpand,
activeThreadEnvironmentId,
@@ -205,6 +208,7 @@ export const MessagesTimeline = memo(function MessagesTimeline({
workspaceRoot,
activeThreadEnvironmentId,
onRevertUserMessage,
+ onEditUserMessage,
onImageExpand,
onOpenTurnDiff,
}),
@@ -221,6 +225,7 @@ export const MessagesTimeline = memo(function MessagesTimeline({
workspaceRoot,
activeThreadEnvironmentId,
onRevertUserMessage,
+ onEditUserMessage,
onImageExpand,
onOpenTurnDiff,
],
@@ -355,16 +360,28 @@ function TimelineRowContent({ row }: { row: TimelineRow }) {
)}
{canRevertAgentWork && (
-
+ <>
+
+
+ >
)}
From aadce42d8c2477aee05d3e142432b34547fbcc62 Mon Sep 17 00:00:00 2001
From: "kiloconnect[bot]" <240665456+kiloconnect[bot]@users.noreply.github.com>
Date: Fri, 1 May 2026 11:41:53 +0000
Subject: [PATCH 2/2] wip
---
apps/web/src/components/ChatView.tsx | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/apps/web/src/components/ChatView.tsx b/apps/web/src/components/ChatView.tsx
index c7a09e33b3..98ab7ce9ff 100644
--- a/apps/web/src/components/ChatView.tsx
+++ b/apps/web/src/components/ChatView.tsx
@@ -3281,6 +3281,7 @@ export default function ChatView(props: ChatViewProps) {
const displayedMessage = deriveDisplayedUserMessageState(text);
const draftText = displayedMessage.visibleText || text;
+ clearComposerDraftContent(composerDraftTarget);
setComposerDraftPrompt(composerDraftTarget, draftText);
promptRef.current = draftText;
composerRef.current?.resetCursorState({
@@ -3291,7 +3292,7 @@ export default function ChatView(props: ChatViewProps) {
composerRef.current?.focusAtEnd();
await onRevertToTurnCountRef.current(targetTurnCount);
},
- [composerDraftTarget, composerRef, setComposerDraftPrompt],
+ [clearComposerDraftContent, composerDraftTarget, composerRef, setComposerDraftPrompt],
);
// Empty state: no active thread