Skip to content

feat: add blocknote-collab example and sharedb module#6

Merged
edocevol merged 1 commit into
mainfrom
feature/sharedb
Apr 18, 2026
Merged

feat: add blocknote-collab example and sharedb module#6
edocevol merged 1 commit into
mainfrom
feature/sharedb

Conversation

@edocevol
Copy link
Copy Markdown
Owner

变更内容

examples/blocknote-collab

BlockNote + jsonot OT 协同编辑示例,展示"快照 + OT"协同策略:

  • 客户端将完整 BlockNote 文档快照发送到服务端
  • 服务端用 jsonot 计算 Diff,对并发操作做 Transform,再广播合并结果
  • 支持多客户端同时编辑,自动并发冲突解决

修复:

  • 修复初始文档 content 格式为 BlockNote 要求的 InlineContent[](原为字符串)
  • 修复 ack 处理时不必要的 replaceBlocks 导致光标跳动/文字错乱
  • 修复 ignoreLocalChangeRef 重置时机,改用 setTimeout(0) 确保在 BlockNote 异步 onChange 之后重置,避免 slash menu 被打断
  • 补充 @mantine/core CSS,修复 slash menu 等浮动组件样式错乱

sharedb/

ShareDB 兼容后端实现,提供:

  • 内存存储后端
  • Redis 存储后端
  • WebSocket 服务器

- examples/blocknote-collab: BlockNote + jsonot OT 协同编辑示例
  - 服务端快照+OT策略,支持多客户端并发编辑
  - 修复初始文档 content 格式为 BlockNote InlineContent[]
  - 修复 ack 触发不必要的 replaceBlocks 导致光标错乱
  - 修复 ignoreLocalChangeRef 重置时机,使用 setTimeout(0)
  - 修复 @mantine/core CSS 缺失导致 slash menu 样式错乱
- sharedb: ShareDB 兼容后端实现(内存/Redis 存储)
@edocevol edocevol merged commit e3fbead into main Apr 18, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant