From dbc41dc91dbf1fb54f92f5536d64646b4e924f31 Mon Sep 17 00:00:00 2001 From: Peter Buchegger Date: Sat, 30 May 2026 14:50:45 +0200 Subject: [PATCH] fix(chat): prevent double send on mobile by removing redundant submit handlers (#719) PromptInputSubmit already has type="submit" via the parent form, so the button's click triggers handleSubmit through the form's onSubmit path. The added onMouseDown/onTouchStart handlers created two extra paths that both invoked handleSubmit; on iOS Safari a single tap could fire both touchstart and a synthetic mousedown before isLoading state propagated, producing two messages and two image-upload roundtrips. Co-authored-by: Claude Opus 4.7 (1M context) --- src/components/chat/view/subcomponents/ChatComposer.tsx | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/components/chat/view/subcomponents/ChatComposer.tsx b/src/components/chat/view/subcomponents/ChatComposer.tsx index 25df7ecf..c447bc19 100644 --- a/src/components/chat/view/subcomponents/ChatComposer.tsx +++ b/src/components/chat/view/subcomponents/ChatComposer.tsx @@ -401,14 +401,6 @@ export default function ChatComposer({ { - event.preventDefault(); - onSubmit(event as unknown as MouseEvent); - }} - onTouchStart={(event) => { - event.preventDefault(); - onSubmit(event as unknown as TouchEvent); - }} />