Sparse file are represented by an infinite stream of pages which are stored as LWW register.
This leads to strange behavior when having concurrent update against the same file as the conflict resolution will happens on the page boundary.
We could have a better representation for files, with a explicit conflict resolution policy or have specific crdt used by detecting or be informed of the type of content that we are storing.
One possible representation is to store range of writes, if one or more range conflicts, show them and wait for the user to correct them. This raise issues of how to communicate it to the user.
Sparse file are represented by an infinite stream of pages which are stored as LWW register.
This leads to strange behavior when having concurrent update against the same file as the conflict resolution will happens on the page boundary.
We could have a better representation for files, with a explicit conflict resolution policy or have specific crdt used by detecting or be informed of the type of content that we are storing.
One possible representation is to store range of writes, if one or more range conflicts, show them and wait for the user to correct them. This raise issues of how to communicate it to the user.