-
Notifications
You must be signed in to change notification settings - Fork 245
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Delete Ack Overrides Undo Operation Temporarily #1225
Labels
Comments
Thanks for the detailed report. I just wanted to confirm that you are using 0.18.0? Are you able to try this with a newer version? |
@jrowny Yes we are using 0.18.0. Next week we are planning to upgrade to latest anyways, so I can try this then. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Describe the bug
This manifests when performing heavy operations or in high latency environments. First you
delete
an element in storage and thenundo
that delete. If yourundo
operation is submitted before the ack of the originaldelete
returns, thedelete
ack will temporarily remove the element once again. Once theundo
ack returns the element in local storage will resolve correctly.In our app, which is very similar to the collaborative whiteboard example, this causes a flicker of elements on screen. The user experience of this bug is that they delete an element accidentally and immediately undo. They'll see the element restored successfully, but shortly after it will disappear again for no reason. Eventually the element comes back, but until then the user is left trying to figure out if their element is gone forever.
To Reproduce
Steps to reproduce the behavior:
delete
operationundo
delete
ack to returnundo
ack to return and restore the elementsExpected behavior
If a delete operation has been undone, the ack of that delete should not remove the restored elements from local state.
Illustrations
Here you can see a screenshot of the websocket when this situation manifests in our app. Note the message size and timings on the right. Both acks return after the user operations are submitted, and the elements disappear in-between the first and second acks.
Environment (please complete the following information):
The text was updated successfully, but these errors were encountered: