Skip to content

Commit 8a44a8f

Browse files
committed
refactor: move draft cleanup to finally block in sendMessage
1 parent 01c1b7a commit 8a44a8f

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

chat/src/components/chat-provider.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,6 @@ export function ChatProvider({ children }: PropsWithChildren) {
280280
});
281281

282282
if (!response.ok) {
283-
setMessages((prev) => prev.filter((m) => !isDraftMessage(m)));
284283
const errorData = await response.json() as APIErrorModel;
285284
console.error("Failed to send message:", errorData);
286285
const detail = errorData.detail;
@@ -297,14 +296,15 @@ export function ChatProvider({ children }: PropsWithChildren) {
297296
}
298297

299298
} catch (error) {
300-
setMessages((prev) => prev.filter((m) => !isDraftMessage(m)));
301299
console.error("Error sending message:", error);
302300
const message = getErrorMessage(error)
303301

304302
toast.error(`Error sending message`, {
305303
description: message,
306304
});
307305
} finally {
306+
// Remove optimistic draft message if still present (may have been replaced by server response via SSE).
307+
setMessages((prev) => prev.filter((m) => !isDraftMessage(m)));
308308
if (type === "user") {
309309
setLoading(false);
310310
}

0 commit comments

Comments
 (0)