From 7c420050c74841de964dad6307bc815ff2f88fb5 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Fri, 4 Mar 2022 09:34:30 +0100 Subject: [PATCH] Observe selection set lamport timestamps when deserializing buffer --- crates/language/src/buffer.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/crates/language/src/buffer.rs b/crates/language/src/buffer.rs index 8ade7c86e4e99935c26547d37050802902999edb..7caa4c1f0db112f93a9ca408c44056b23094937f 100644 --- a/crates/language/src/buffer.rs +++ b/crates/language/src/buffer.rs @@ -426,16 +426,18 @@ impl Buffer { this.apply_ops(ops, cx)?; for selection_set in message.selections { + let lamport_timestamp = clock::Lamport { + replica_id: selection_set.replica_id as ReplicaId, + value: selection_set.lamport_timestamp, + }; this.remote_selections.insert( selection_set.replica_id as ReplicaId, SelectionSet { selections: proto::deserialize_selections(selection_set.selections), - lamport_timestamp: clock::Lamport { - replica_id: selection_set.replica_id as ReplicaId, - value: selection_set.lamport_timestamp, - }, + lamport_timestamp, }, ); + this.text.lamport_clock.observe(lamport_timestamp); } let snapshot = this.snapshot(); let entries = proto::deserialize_diagnostics(message.diagnostics);