yorkie-team / yorkie

Yorkie is a document store for collaborative applications.
https://yorkie.dev
Apache License 2.0
748 stars 134 forks source link

Divergence by concurrent Tree.Edit and Tree.RemoveStyle #884

Closed hackerwins closed 1 month ago

hackerwins commented 1 month ago

What happened:

Divergence by concurrent Tree.Edit and Tree.RemoveStyle

Currently, when a node has an attribute with the same key as the RemoveStyle attribute is inserted simultaneously through Tree.Edit, the attribute of the inserted node gets deleted.

What you expected to happen:

How to reproduce it (as minimally and precisely as possible):

  1. Perform a Tree.RemoveStyle operation that includes an attribute with a specific key.
  2. Simultaneously perform a Tree.Edit operation that inserts a node with an attribute having the same key as the attribute removed in Tree.RemoveStyle.

Anything else we need to know?:

Environment: