Comfy-Org / Comfy-Org/ComfyUI_frontend
Undocked actionbar cannot be re-docked on touch devices — drag handle can't reach the "Dock to top" drop zone
- Dominant language
- TypeScript
- Stars
- 2k
- Forks
- 699
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 490
Description
## Describe the bug
Once the actionbar (the floating bar with the Run button) is undocked, there is no way to re-dock it on a touch device. Re-docking requires dragging the bar's drag handle onto the "Dock to top" drop zone, but on a phone-sized viewport the handle cannot reach that drop zone, so the drop never registers. The bar is then stuck floating permanently.
The docked state is persisted (`Comfy.MenuPosition.Docked` via `useLocalStorage` in `src/components/actionbar/ComfyActionbar.vue`), so the stuck state survives reloads. The only workarounds are editing localStorage by hand or wiping site data — neither is realistic on a mobile browser.
## To Reproduce
1. Open ComfyUI on a touch device (or Chrome DevTools mobile emulation with touch, e.g. 390×844).
2. Drag the actionbar's handle to undock it from the top menu.
3. Try to re-dock it: drag the handle back toward the "Dock to top" area at the top of the viewport.
4. The drop zone cannot be hit — the actionbar stays floating, and the state persists across reloads.
## Expected behavior
A touch-reachable way to re-dock the actionbar — e.g. accept the drop when the bar itself (not just the handle) overlaps the dock zone, or expose a "Dock actionbar to top" command/context-menu entry so the drag gesture isn't the only path back.
## Environment
- comfyui_frontend_package 1.45.20
- Observed on a mobile browser on a touch device (phone-sized viewport)
Related mobile/touch reachability issue: #13279 (workflow-tab close button unreachable on touch).
Contributor guide
Research direction
Start in src/components/actionbar/ComfyActionbar.vue, especially the drag handle, the “Dock to top” drop zone, and the Comfy.MenuPosition.Docked useLocalStorage state. Reproduce the issue with Chrome DevTools touch emulation at a phone-sized viewport, then verify that a touch user has a reliable way to re-dock the actionbar and that the docked state persists correctly after reload.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- accessibility, frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100