From 0330384fb159afaa0cbfbba013d20a7b890252d3 Mon Sep 17 00:00:00 2001 From: silentoplayz Date: Mon, 20 Apr 2026 22:00:17 -0400 Subject: [PATCH] feat(ui): add drag-and-drop support for OpenTerminal files --- src/lib/components/chat/FileNav.svelte | 1 + src/lib/components/chat/FileNav/FileEntryRow.svelte | 4 +++- src/lib/components/chat/MessageInput.svelte | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/lib/components/chat/FileNav.svelte b/src/lib/components/chat/FileNav.svelte index 2e81a94294..d84d620e64 100644 --- a/src/lib/components/chat/FileNav.svelte +++ b/src/lib/components/chat/FileNav.svelte @@ -1341,6 +1341,7 @@ {currentPath} terminalUrl={selectedTerminal.url} terminalKey={selectedTerminal.key} + sessionId={chatId ?? ''} selected={selectedEntries.has( entry.type === 'directory' ? `${currentPath}${entry.name}/` diff --git a/src/lib/components/chat/FileNav/FileEntryRow.svelte b/src/lib/components/chat/FileNav/FileEntryRow.svelte index ef56c2c6b5..1bcf228e3f 100644 --- a/src/lib/components/chat/FileNav/FileEntryRow.svelte +++ b/src/lib/components/chat/FileNav/FileEntryRow.svelte @@ -17,6 +17,7 @@ export let currentPath: string; export let terminalUrl: string = ''; export let terminalKey: string = ''; + export let sessionId: string = ''; export let onOpen: (entry: FileEntry) => void = () => {}; export let onDownload: (path: string) => void = () => {}; @@ -191,7 +192,8 @@ path: filePath, name: entry.name, url: terminalUrl, - key: terminalKey + key: terminalKey, + sessionId }) ); } diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte index 3df84cd748..893cee09ef 100644 --- a/src/lib/components/chat/MessageInput.svelte +++ b/src/lib/components/chat/MessageInput.svelte @@ -887,7 +887,7 @@ const data = JSON.parse(terminalFileData); if (data.name && data.path && data.url && data.key) { toast.info($i18n.t('Downloading {{name}} from OpenTerminal...', { name: data.name })); - const result = await downloadFileBlob(data.url, data.key, data.path); + const result = await downloadFileBlob(data.url, data.key, data.path, data.sessionId); if (result && result.blob) { const file = new File([result.blob], result.filename || data.name, { type: result.blob.type