From 90e276f321692c84f9d7d52d27b7e8fedf197e1f Mon Sep 17 00:00:00 2001 From: Mikei386 <44135113+Mikei386@users.noreply.github.com> Date: Tue, 23 Jun 2026 06:33:18 +0200 Subject: [PATCH] Remove fragile drag data access --- build-plugin.sh | 2 +- packages/u-navigator-0.2.10.tgz | Bin 0 -> 11856 bytes packages/u-navigator-0.2.9.tgz | Bin 11889 -> 0 bytes server/public/app.js | 40 ++++++++++++++++++++------------ u-navigator.plg | 4 ++-- 5 files changed, 28 insertions(+), 18 deletions(-) create mode 100644 packages/u-navigator-0.2.10.tgz delete mode 100644 packages/u-navigator-0.2.9.tgz diff --git a/build-plugin.sh b/build-plugin.sh index ed429a2..b952719 100755 --- a/build-plugin.sh +++ b/build-plugin.sh @@ -2,7 +2,7 @@ set -eu PLUGIN="u-navigator" -VERSION="0.2.9" +VERSION="0.2.10" PKG_DIR="packages" WORK_DIR=".plugin-build" PKG_NAME="${PLUGIN}-${VERSION}.tgz" diff --git a/packages/u-navigator-0.2.10.tgz b/packages/u-navigator-0.2.10.tgz new file mode 100644 index 0000000000000000000000000000000000000000..e7bbc99cc9d1f158abb5f3f7134911d7b496d975 GIT binary patch literal 11856 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 K{98N#LID7`FWyN2 literal 0 HcmV?d00001 diff --git a/packages/u-navigator-0.2.9.tgz b/packages/u-navigator-0.2.9.tgz deleted file mode 100644 index 158aed5df9155e0480b3b6e3684100859a20dfc2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11889 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 diff --git a/server/public/app.js b/server/public/app.js index 3bb2aea..725cc0d 100644 --- a/server/public/app.js +++ b/server/public/app.js @@ -207,7 +207,7 @@ function renderExplorer(body, win) { dropZone.addEventListener('dragover', (event) => { if (hasDropPayload(event)) { event.preventDefault(); - event.dataTransfer.dropEffect = event.altKey ? 'copy' : 'move'; + setDropEffect(event, event.altKey ? 'copy' : 'move'); data.dragOver = true; dropZone.classList.add('drag-over'); } @@ -242,12 +242,7 @@ function renderExplorer(body, win) { }); row.addEventListener('dragstart', (event) => { state.draggedEntry = { path: entry.path, name: entry.name, sourceWindowId: win.id }; - try { - event.dataTransfer.setData('text/plain', entry.path); - } catch { - // Some WebKit builds reject programmatic drag data. App state is the primary channel. - } - event.dataTransfer.effectAllowed = 'copyMove'; + setEffectAllowed(event); row.classList.add('dragging'); }); row.addEventListener('dragend', () => { @@ -260,7 +255,7 @@ function renderExplorer(body, win) { if (entry.type === 'directory') { event.preventDefault(); event.stopPropagation(); - event.dataTransfer.dropEffect = event.altKey ? 'copy' : 'move'; + setDropEffect(event, event.altKey ? 'copy' : 'move'); } }); row.addEventListener('drop', async (event) => { @@ -362,7 +357,7 @@ async function handleDrop(event, win, targetPath) { return; } - const internalPath = state.draggedEntry?.path || safeGetDragText(event); + const internalPath = state.draggedEntry?.path || ''; if (internalPath) { const name = internalPath.split('/').filter(Boolean).at(-1); const destination = `${targetPath.replace(/\/$/, '')}/${name}`; @@ -374,9 +369,10 @@ async function handleDrop(event, win, targetPath) { return; } - if (event.dataTransfer.files.length) { + const files = getDroppedFiles(event); + if (files.length) { const form = new FormData(); - for (const file of event.dataTransfer.files) { + for (const file of files) { form.append('files', file, file.name); } await fetchChecked(apiUrl(`upload.php?path=${encodeURIComponent(targetPath)}`), { @@ -405,7 +401,7 @@ async function reloadExplorerWindows(ids) { } function hasDropPayload(event) { - return Boolean(state.draggedEntry || event.dataTransfer?.types?.includes('Files') || event.dataTransfer?.types?.includes('text/plain')); + return Boolean(state.draggedEntry || getDroppedFiles(event).length); } function showError(error) { @@ -413,11 +409,25 @@ function showError(error) { alert(message); } -function safeGetDragText(event) { +function getDroppedFiles(event) { try { - return event.dataTransfer.getData('text/plain'); + return [...(event.dataTransfer?.files || [])]; } catch { - return ''; + return []; + } +} + +function setEffectAllowed(event) { + try { + event.dataTransfer.effectAllowed = 'copyMove'; + } catch {} +} + +function setDropEffect(event, effect) { + try { + event.dataTransfer.dropEffect = effect; + } catch { + // Browser rejected the requested cursor hint; the app-state drop still works. } } diff --git a/u-navigator.plg b/u-navigator.plg index 3ab2cc2..780654a 100644 --- a/u-navigator.plg +++ b/u-navigator.plg @@ -1,7 +1,7 @@ - + ]> @@ -14,7 +14,7 @@ https://git.casaderoll.de/michael/Unraid-Navigator/raw/branch/main/packages/&package; -a8f39d867d56be04d8645f0975440b0a +cf0f9388fccc94487173e16cd9075cec