diff --git a/apps/web/src/components/chat/ChatComposer.tsx b/apps/web/src/components/chat/ChatComposer.tsx index b4106bfbeb9..0ef7a74ec07 100644 --- a/apps/web/src/components/chat/ChatComposer.tsx +++ b/apps/web/src/components/chat/ChatComposer.tsx @@ -2938,6 +2938,11 @@ export const ChatComposer = memo(function ChatComposer(props: ChatComposerProps) variant="ghost" className="shrink-0 px-2 text-muted-foreground/70 hover:text-foreground/80" aria-label="Attach images" + onPointerDown={(event) => { + // Keep the editor focused while iOS opens its native picker. + // Pointer focus would blur and collapse an existing-thread composer. + event.preventDefault(); + }} onClick={() => imageFileInputRef.current?.click()} >