From c4af06241baae8de3715acbd326deffdf161fd27 Mon Sep 17 00:00:00 2001 From: Abram Sanderson Date: Tue, 16 Aug 2022 09:34:07 -0700 Subject: [PATCH] properly count overlapRemoveClients now that original client isn't excluded --- packages/dds/merge-tree/src/partialLengths.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/dds/merge-tree/src/partialLengths.ts b/packages/dds/merge-tree/src/partialLengths.ts index fec2317282d6..987da091d3c1 100644 --- a/packages/dds/merge-tree/src/partialLengths.ts +++ b/packages/dds/merge-tree/src/partialLengths.ts @@ -870,8 +870,9 @@ function verifyPartialLengths( // Only the flat partialLengths can have overlapRemoveClients, the per client view shouldn't assert(!clientPartials, 0x058 /* "Both overlapRemoveClients and clientPartials are set!" */); - // Each overlap client count as one - count += partialLength.overlapRemoveClients.size(); + // Each overlap client count as one, but the first remove to sequence was already counted. + // (this aligns with the logic to omit the removing client in `addClientSeqNumberFromPartial`) + count += partialLength.overlapRemoveClients.size() - 1; } } return count;