Skip to content
This repository was archived by the owner on Apr 1, 2026. It is now read-only.

Commit 2d5b9a5

Browse files
authored
Desktop: Fix Paste image on empty input (anomalyco#7130)
1 parent fb3ca89 commit 2d5b9a5

1 file changed

Lines changed: 6 additions & 7 deletions

File tree

packages/app/src/components/prompt-input.tsx

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,8 @@ export const PromptInput: Component<PromptInputProps> = (props) => {
248248
}
249249
}
250250

251+
const isFocused = createFocusSignal(() => editorRef)
252+
251253
createEffect(() => {
252254
params.id
253255
editorRef.focus()
@@ -258,7 +260,6 @@ export const PromptInput: Component<PromptInputProps> = (props) => {
258260
onCleanup(() => clearInterval(interval))
259261
})
260262

261-
const isFocused = createFocusSignal(() => editorRef)
262263
const [composing, setComposing] = createSignal(false)
263264
const isImeComposing = (event: KeyboardEvent) => event.isComposing || composing() || event.keyCode === 229
264265

@@ -292,21 +293,20 @@ export const PromptInput: Component<PromptInputProps> = (props) => {
292293
const clipboardData = event.clipboardData
293294
if (!clipboardData) return
294295

296+
event.preventDefault()
297+
event.stopPropagation()
298+
295299
const items = Array.from(clipboardData.items)
296300
const imageItems = items.filter((item) => ACCEPTED_FILE_TYPES.includes(item.type))
297301

298302
if (imageItems.length > 0) {
299-
event.preventDefault()
300-
event.stopPropagation()
301303
for (const item of imageItems) {
302304
const file = item.getAsFile()
303305
if (file) await addImageAttachment(file)
304306
}
305307
return
306308
}
307309

308-
event.preventDefault()
309-
event.stopPropagation()
310310
const plainText = clipboardData.getData("text/plain") ?? ""
311311
addPart({ type: "text", content: plainText, start: 0, end: 0 })
312312
}
@@ -347,13 +347,11 @@ export const PromptInput: Component<PromptInputProps> = (props) => {
347347
}
348348

349349
onMount(() => {
350-
editorRef.addEventListener("paste", handlePaste)
351350
document.addEventListener("dragover", handleGlobalDragOver)
352351
document.addEventListener("dragleave", handleGlobalDragLeave)
353352
document.addEventListener("drop", handleGlobalDrop)
354353
})
355354
onCleanup(() => {
356-
editorRef.removeEventListener("paste", handlePaste)
357355
document.removeEventListener("dragover", handleGlobalDragOver)
358356
document.removeEventListener("dragleave", handleGlobalDragLeave)
359357
document.removeEventListener("drop", handleGlobalDrop)
@@ -1508,6 +1506,7 @@ export const PromptInput: Component<PromptInputProps> = (props) => {
15081506
}}
15091507
contenteditable="true"
15101508
onInput={handleInput}
1509+
onPaste={handlePaste}
15111510
onCompositionStart={() => setComposing(true)}
15121511
onCompositionEnd={() => setComposing(false)}
15131512
onKeyDown={handleKeyDown}

0 commit comments

Comments
 (0)