Conversation
|
Each update is represented by so called Squashing requires some prerequisites in order to happen, one of them is sequentiality: we only can squash updates that happened for the same collection, one after another and were made by the same client. Since these changes are not made by the same client (each Doc has its own client id) we cannot squash the blocks. If we tried, we'd loose data required for potential conflict resolution. |
|
I see, thanks for the explanation. |
What is the best approach if the cost of keeping the history is more than the cost of the conflict resolution going wrong? |
|
If you don't care about conflict resolution or snapshots, you can either:
|
I think this is the best option e.g. in Jupyter, but that needs cooperation from clients. In the server, we could mark the document as invalid and create a new one, and provide an information about how to connect to the new document (e.g. a new room ID). Clients should observe the invalid attribute, drop their document when it's set, and connect to the new document. |
@Horusiath I don't understand why it is not possible to squash updates when they come from different documents, while it is when they come from the same document. Do you have any idea?