Comfy-Org / Comfy-Org/ComfyUI_frontend
[Bug] Local file drops on Vue upload nodes regress after v1.43.4 / #9463
- Dominant language
- TypeScript
- Stars
- 2k
- Forks
- 699
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 490
Description
## Description
There is a reproducible regression in the `v1.43.4 -> v1.43.5` window affecting Vue-rendered upload nodes such as `Load Image`.
`v1.43.4` works.
`v1.43.5` is broken.
The regression is tied to #9463 (`fix: extract filename from dropped URLs and let URI drops bubble on Vue nodes`) and specifically to the post-#9463 handoff between Vue-node drop handling and the document/canvas drop handler.
Related fix: #10841
---
## Expected Behavior
Dragging a local image file from the OS file manager onto a Vue `Load Image`-style node should upload/select the file in that node.
URI-only drops may bubble to the document handler, but real file drops over upload-capable Vue nodes should still be recoverable by the graph/node drop path.
---
## Actual Behavior
The node highlights as a valid drop target on dragover, but the local file drop does not populate the node.
In the broken versions, the final `drop` can land on `canvas#graph-canvas`, and the graph/document handoff does not correctly route the file-backed drop back into the target node.
---
## Regression Window
- **Good:** `v1.43.4`
- **Bad:** `v1.43.5`
That makes the `v1.43.4 -> v1.43.5` delta the relevant regression window.
---
## Steps to Reproduce
1. Switch to Vue-rendered nodes
2. Add a `Load Image` node (or another upload-capable Vue image node)
3. Drag a local image from the OS file manager onto the node
4. Drop it on the node
---
## Repro Notes
In the broken versions:
- the node can still highlight on dragover
- the file is not loaded into the node on drop
- the failure is on the frontend drop-routing path, not in backend image decoding
This is not just a generic “drag/drop sometimes fails” report. It has a narrow regression window and a concrete cause.
---
## Root Cause
The broken invariant after #9463 is:
> URI-only drops may bubble to the document handler, but real file drops over upload-capable Vue nodes must still be recoverable by the graph/node drop path.
Once Vue-node drops were allowed to bubble, the document/canvas handler could discard or misroute graph-canvas drops too early instead of resolving the target node and calling `node.onDragDrop(event)` for real file-backed drops.
This matches the observed regression window and runtime behavior.
---
## Why I’m opening this separately
I already have the fix in:
- #10841
I’m opening this issue so the regression itself is visible and trackable independently of the PR.
The PR contains:
- the concrete repro analysis
- the narrowed root cause
- the fix
- targeted regression tests around the affected drag/drop and media-routing paths
---
## Related
- #9463
- #10841
---
## Impact
This breaks a very common workflow in Vue nodes: dragging local images directly into upload nodes.
As a workaround, users have to manually place files into the input directory and select them indirectly, which is much slower and more error-prone than direct drag/drop.
---
## Environment
- Frontend:
- `v1.43.4` works
- `v1.43.5` breaks
- Browser: Chromium-based browser
- Reproduced with local OS file drags onto Vue upload nodes
┆Issue is synchronized with this [Notion page](https://www.notion.so/Issue-11119-Bug-Local-file-drops-on-Vue-upload-nodes-regress-after-v1-43-4-9463-33e6d73d365081d4bc47cccbcea1a13f) by [Unito](https://www.unito.io)
Contributor guide
Assessment
This issue has not been assessed yet.