From 677d418ed0b7446bf4b911f1f0c324ff39187245 Mon Sep 17 00:00:00 2001 From: sravan Date: Sat, 22 Aug 2026 18:22:57 +0530 Subject: [PATCH] Fix: dragging multiple files into a chat only sent the first The conversation drop handler read dataTransfer.files[0] (a single file), so a multi-file drag-and-drop uploaded just one. Iterate every dropped file, matching the file-picker path. Verified in-browser: dropping 3 files queues + sends all 3. Co-Authored-By: Claude Opus 4.8 --- server/public/home.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/public/home.html b/server/public/home.html index e7afe64..f7abe58 100644 --- a/server/public/home.html +++ b/server/public/home.html @@ -3650,7 +3650,7 @@ async function openConvo(kind,id){ // #1: drag-and-drop a file/video/image anywhere on the conversation to send it. el.ondragover=(e)=>{ if(e.dataTransfer&&Array.from(e.dataTransfer.types||[]).includes('Files')){ e.preventDefault(); el.classList.add('drag-over'); } }; el.ondragleave=(e)=>{ if(e.relatedTarget===null||!el.contains(e.relatedTarget)) el.classList.remove('drag-over'); }; - el.ondrop=(e)=>{ const f=e.dataTransfer&&e.dataTransfer.files&&e.dataTransfer.files[0]; if(f){ e.preventDefault(); el.classList.remove('drag-over'); uploadFile(f); } }; + el.ondrop=(e)=>{ const fl=e.dataTransfer&&e.dataTransfer.files; if(fl&&fl.length){ e.preventDefault(); el.classList.remove('drag-over'); Array.from(fl).forEach(uploadFile); } }; // queue EVERY dropped file (was files[0] only → dragging multiple sent just the first) const back=document.getElementById('convoBack'); if(back) back.onclick=showWelcome; const form=document.getElementById('composer'); if(form) form.addEventListener('submit',(e)=>{ e.preventDefault(); sendMessage(); }); // #14 ROOT CAUSE: do NOT call cancelEdit() here. It runs _restoreDraftAfterEdit → setDraft(selected,'') which