1e33c9d9e0
Problem: when running the sync protocol for a new document the API requires that the user create an empty document and then call `receive_sync_message` on that document. This results in the OpObserver for the new document being called with every single op in the document history. For documents with a large history this can be extremely time consuming, but the OpObserver doesn't need to know about all the hidden states. Solution: Modify `Automerge::load_with` and `Automerge::apply_changes_with` to check if the document is empty before applying changes. If the document _is_ empty then we don't call the observer for every change, but instead use `automerge::observe_current_state` to notify the observer of the new state once all the changes have been applied. |
||
---|---|---|
.. | ||
legacy | ||
basic_test.ts | ||
extra_api_tests.ts | ||
helpers.ts | ||
legacy_tests.ts | ||
stable_unstable_interop.ts | ||
sync_test.ts | ||
text_test.ts | ||
text_v1.ts | ||
uuid_test.ts |