Responses to get requests should not be merged immediately
To retrieve a possible remote modification, we make a get request but this request is asynchronous. Currently, when we receive the response to our request, we directly merge the remote CRDT with the local CRDT. This is problematic because the CRDT is updated without informing the application.
For example, in our editor, we use a RGA and perform diffs to find out the changes and where to insert/remove characters but if we don't have the right previous value of the RGA then we will get the wrong positions for insert/remove operations.
A solution is to save the get request responses for later and merge them only when the application calls the pull method.