Frontmatter
| id | 8159 |
| title | Refactor Cross-Window Drag Logic to Dashboard SortZone |
| state | Closed |
| labels | airefactoringarchitecture |
| assignees | tobiu |
| createdAt | Dec 27, 2025, 3:01 PM |
| updatedAt | Dec 27, 2025, 4:46 PM |
| githubUrl | https://github.com/neomjs/neo/issues/8159 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | null |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [x] 8156 Implement Cross-Window Drag Coordinator |
| closedAt | Dec 27, 2025, 4:46 PM |
Refactor Cross-Window Drag Logic to Dashboard SortZone
tobiu marked this issue as blocking #8156 on Dec 27, 2025, 3:01 PM
tobiu assigned to @tobiu on Dec 27, 2025, 3:02 PM

tobiu
Dec 27, 2025, 4:46 PM
Input from gemini:
✦ Refactoring complete.
DragCoordinatorlogic moved todashboard/SortZone.- Base
container/SortZonecleaned up.- Cross-window logic separated from standard container logic.
tobiu closed this issue on Dec 27, 2025, 4:46 PM
Objective Extract cross-window and dashboard-connecting drag logic from
src/draggable/container/SortZone.mjs(the generic base class) and move it intosrc/draggable/dashboard/SortZone.mjs(the specialized subclass).Why? Connecting dashboards and handling cross-window coordination does not belong in the base container sort zone. The base class should remain focused on standard, single-window sortable container logic.
Scope of Work
DragCoordinatorLogic:DragCoordinatorregistration/unregistration.DragCoordinatorevent calls (onDragMove,onDragEndhooks).startRemoteDragonRemoteDragMoveonRemoteDragLeaveonRemoteDroponRemoteDropOutstartWindowDragsuspendWindowDragresumeWindowDragonDragMove/onDragEnd:dashboard/SortZoneto handle the cross-window specific logic (e.g.,enableProxyToPopupchecks, coordinator signaling).container/SortZoneto remove these dependencies.src/dashboard/Container.mjscontinues to function correctly with the refactoreddashboard/SortZone.Acceptance Criteria
src/draggable/container/SortZone.mjsno longer imports or usesDragCoordinator.src/draggable/dashboard/SortZone.mjscontains all the remote/window drag logic.