From 4bc31ae2b953b24a04cb39983861ecdb03523b3a Mon Sep 17 00:00:00 2001 From: James Allen Date: Thu, 26 May 2016 17:31:21 +0100 Subject: [PATCH] Don't throw an error if we get an ack for our update more than once, since we may try sending it more than once --- .../coffee/ide/editor/sharejs/vendor/client/doc.coffee | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/services/web/public/coffee/ide/editor/sharejs/vendor/client/doc.coffee b/services/web/public/coffee/ide/editor/sharejs/vendor/client/doc.coffee index 4ac09ad4da..dd4f26ceb0 100644 --- a/services/web/public/coffee/ide/editor/sharejs/vendor/client/doc.coffee +++ b/services/web/public/coffee/ide/editor/sharejs/vendor/client/doc.coffee @@ -192,6 +192,13 @@ class Doc callback error for callback in @inflightCallbacks else # The op applied successfully. + + # We may get multiple acks of the same message if we retried it, + # so its ok if we receive an ack for a version that we've already gone past. + # If so, just ignore it + if msg.v < @version + return + throw new Error('Invalid version from server') unless msg.v == @version @serverOps[@version] = oldInflightOp