Summary
The workspace file tree panel supports drag-and-drop, but only for referencing paths in the chat composer (#1097, closed). It does not behave like a desktop file manager for:
- Moving existing files/folders within the workspace tree (drag item → drop on folder).
- Importing files/folders dragged from the OS (Finder/Explorer) into the workspace panel (current directory), as opposed to attaching them to the chat.
Users often expect both because the panel looks like a file tree. Today that expectation is unmet by design of #1097, not by an obvious bug — but the gap is undocumented in-product and was deferred from #1104 (“Move/copy — lower priority, complex UX”).
Current behavior (intentional)
| Action |
What happens |
| Drag file/folder in workspace tree |
draggable=true, effectAllowed='copy', sets application/ws-path |
| Drop on composer |
Inserts @<workspace-relative-path> into the message textarea |
| Drag files from OS onto page |
Global drop on composerWrap: addFiles() → chat attachments (session inbox), not workspace import |
| Drag in Settings → Workspaces list |
Reorder registered workspaces (/api/workspaces/reorder) — unrelated to in-tree file ops |
Backend: create, delete, rename in place only (/api/file/rename rejects / in new_name — no cross-directory move). No /api/file/move or workspace-panel drop target.
Requested behavior
A. Internal move (tree → tree)
- Drag file or folder onto another folder (or breadcrumb) to move within the workspace root.
- Visual drop targets,
move effect, confirm on overwrite if needed.
- API: cross-directory move (
POST /api/file/move or extend rename with validated to path).
B. OS import (OS → workspace panel)
C. UX clarity (optional)
Related
Acceptance criteria (draft)
Summary
The workspace file tree panel supports drag-and-drop, but only for referencing paths in the chat composer (#1097, closed). It does not behave like a desktop file manager for:
Users often expect both because the panel looks like a file tree. Today that expectation is unmet by design of #1097, not by an obvious bug — but the gap is undocumented in-product and was deferred from #1104 (“Move/copy — lower priority, complex UX”).
Current behavior (intentional)
draggable=true,effectAllowed='copy', setsapplication/ws-path@<workspace-relative-path>into the message textareacomposerWrap:addFiles()→ chat attachments (session inbox), not workspace import/api/workspaces/reorder) — unrelated to in-tree file opsBackend: create, delete, rename in place only (
/api/file/renamerejects/innew_name— no cross-directory move). No/api/file/moveor workspace-panel drop target.Requested behavior
A. Internal move (tree → tree)
moveeffect, confirm on overwrite if needed.POST /api/file/moveor extend rename with validatedtopath).B. OS import (OS → workspace panel)
S.currentDir), not only the composer.DataTransferItem/webkitGetAsEntry(document platform limits)./api/upload, zip extract feat(workspace): upload a zip/archive or folder and extract into workspace #525); clarify vs session attachment inbox (feat: store chat uploads outside workspace root #2319).C. UX clarity (optional)
@pathtoday; file-manager move once implemented.Related
@path(done)Acceptance criteria (draft)