Reliable dashboard drag routing (v1.3.5)#84
Merged
Conversation
The per-column dragover handler made dropping into an adjacent column or the far-right new-column rail unreliable: you had to land the cursor precisely inside a thin column/rail, and the flex gaps between columns were dead zones. Dragging a card from the column adjacent to the rail (e.g. the right column when creating a third) frequently wouldn't take. Replace it with a single dragover/drop router on the #dashboard element that routes by X-band: the columns tile the full width (a column owns up to its right edge; the rightmost owns everything further right), then the card is positioned within the target column by Y. No dead gaps, robust to mid-drag reflow. Verified in a headless browser at 1940px via realistic multi-step drag paths: right-column card -> new 3rd column (the reported bug), left-column card -> new column, and right-column card -> shorter left column all work.
Flip CHANGELOG + bump banners for the dashboard drag-routing fix (the per-column dragover made dropping into an adjacent column or the new-column rail unreliable; replaced with a dashboard-level X-band router). Banner/pins 1.3.4 -> 1.3.5. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013ffp2b19PUmzEU1fxpnURA
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bug
In a two-column layout on a 3-column-capable screen, a card from the right column often couldn't be dragged into the far-right "+" rail to create a third column (or into an adjacent column). The per-column
dragoverhandler required landing the cursor precisely inside a thin column/rail, and the flex gaps between columns were dead zones.Fix
Replaced the per-column handler with a single dashboard-level X-band router: the visible columns tile the full dashboard width (a column owns everything up to its right edge; the rightmost — often the empty + rail while dragging — owns everything beyond). The card is then positioned within the target column by Y. No dead gaps, and robust to the layout reflowing mid-drag.
Verification
Headless browser at 1940px with realistic multi-step drag paths (dragstart on the handle → stream of dragover along the path → dragend), using real
elementFromPointhit-testing:Note: updating the existing 1.3.4/latest in place isn't possible from CI here (the sandbox proxy blocks git tag force-push — verified 403 — and I can't push Docker images), so this ships as 1.3.5. On merge the auto-release publishes
1.3.5/1.3/1/latest.🤖 Generated with Claude Code
Generated by Claude Code