Preserve block identity when editing from the block's start
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- typescript
- Domain
- frontend
Research direction
The issue names no files, tests, or entry points. Reproduce the Enter and Backspace steps in a block with remembered identity, then trace the editor behavior that changes the block ID at the start of content. Done means the original block ID remains stable in both cases, including nested lists, with regression coverage added where the behavior is implemented.
Written by the indexing model from the issue text.
Description
Describe the bug
At Mintter block Identity is really important. Specially because we let users create references to content inside blocks using its ID. I Notice that when I press Enter or Backspace in front of any block with content. I understand block identity might not be relevant to most use cases, but I find this could be a problem when you rely on content being accessible by a particular block ID.
To Reproduce
- write some content in a block and remember the block id
- move the cursor to the beginning of the block
- press
EnterorBackspace(backspace if you are not on the first block of the document or of a nested list) - see the blockID changed to the current block content.
Here's a video showing how the ID of the block changes when I press Enter in front of a block
https://github.com/TypeCellOS/BlockNote/assets/725120/cf5ba519-131a-4533-aed4-6471fa17331f
And here's what happens when pressing Backspace in front of a block
https://github.com/TypeCellOS/BlockNote/assets/725120/670d314a-7053-4ae0-a5db-fdfd33258ebd
How to solve this
I did some work to solve this on our side, and if this is relevant to the library I can share the solution with it.
- Dominant language
- TypeScript
- Stars
- 10.2k
- Forks
- 772
- Avg merge
- 3d 11h
- Merged PRs (30d)
- 17
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from TypeCellOS/BlockNote
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
TypeCellOS/BlockNote#3098 ·
-
needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
TypeCellOS/BlockNote#3073 ·
-
needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
TypeCellOS/BlockNote#3072 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
TypeCellOS/BlockNote#2949 · 1 comment ·
-
a11y
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
TypeCellOS/BlockNote#2855 ·
All issues in TypeCellOS/BlockNote
Similar issues
-
clawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:ux-friction issue-rating: 🦞 diamond lobster no-stale P3
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficulty 1/5 Under an hour Newbie friendliness 76/100
-
code-quality refactoring
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
github/gh-aw-firewall#8816 ·
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
langchain-ai/deepagents#6450 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
vercel/react-tweet#225 ·