Repository navigation
feat: touch-and-hold block dragging on mobile - #3309
Open
nperez0111 wants to merge 4 commits into
Open
nperez0111 wants to merge 4 commits into
nperez0111 wants to merge 4 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the
|
@blocknote/ariakit
@blocknote/code-block
@blocknote/core
@blocknote/diagram-block
@blocknote/mantine
@blocknote/math-block
@blocknote/react
@blocknote/server-util
@blocknote/shadcn
@blocknote/xl-ai
@blocknote/xl-docx-exporter
@blocknote/xl-email-exporter
@blocknote/xl-multi-column
@blocknote/xl-odt-exporter
@blocknote/xl-pdf-exporter
@blocknote/xl-typst-exporter
commit: |
|
1 task
This branch was successfully deployed
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.
Stacked on #3299. Fixes #1693.
From side-menu dragging…
We first tried fixing touch dragging through the side menu. It worked, but the small handle was still awkward to find and grab on mobile.
ios18-final-quick-drag.mp4
We experimented with a different layout to fit larger touch targets. Easier to hit, but still required digging around for the side menu.
ios26-touch-targets-final.mp4
…to whole-block dragging
After seeing Notion’s whole-block interaction, we tried holding the block itself. This felt much better on iOS, so that’s the direction implemented here: tap to edit, hold to lift, and drag near the edge to scroll.
pr-current-pickup.mp4
pr-current-editing.mp4
Other experiments: original handle behavior and native whole-block dragging
Original quick handle swipe: the page scrolls instead of moving the block.
ios18-quick-drag.mp4
Native whole-block dragging with a tap-to-edit shim worked in this recording, but proved unreliable in manual testing. The final implementation uses a custom hold gesture instead.
ios26-surface-native-with-tap-edit.mp4
Supporting changes preserve selections after drops, avoid opening the keyboard for touch block moves, share theme/keyboard utilities, and clean up cancelled drags. Desktop handle dragging remains native.
Validation: 372 browser tests passed (26 existing skips), 18 unit tests passed, plus native iOS 26.4 simulator checks. Recordings use native touch input; document contents and IDs were checked after each move.