Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What this PR does / why we need it?
This is a follow-up task of #574
Text Selection
Since
Text.SelectionMap
is used to represent the user's selection in Text, it is unnecessary to store the selection in the document. Therefore, I changed to handle selection throughpresence
instead of theText.SelectionMap
andselect operation
. (Related Issue: #366, #379)When the text selection is changed:
model → yorkie
Apply to model:
yorkie → model
remote-change
.doc.subscribe('others')
.Tree Selection
// ...
Drawing example
In the drawing example, by sending the shape information as
presence
during mouse moveand storing it in the
document
during mouse up, we can reduce the document history.Previously, it was possible to send shape information as presence,
but due to the different timing of updates between presence and the document, there was a flickering issue.
With this PR, by moving the presence to the document, we can bundle document and presence changes into a single transaction, eliminating the flickering issue.
Any background context you want to provide?
What are the relevant tickets?
Fixes #366, Fixes #379
Related yorkie-team/yorkie#583
Checklist