@fluidframework/merge-tree 2.4.0 → 2.5.0-302463
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/mergeTree.js +5 -5
- package/dist/mergeTree.js.map +1 -1
- package/dist/test/client.rollback.spec.js +38 -0
- package/dist/test/client.rollback.spec.js.map +1 -1
- package/lib/mergeTree.js +5 -5
- package/lib/mergeTree.js.map +1 -1
- package/lib/test/client.rollback.spec.js +38 -0
- package/lib/test/client.rollback.spec.js.map +1 -1
- package/package.json +20 -33
- package/src/mergeTree.ts +12 -12
package/dist/mergeTree.js
CHANGED
|
@@ -589,7 +589,7 @@ class MergeTree {
|
|
|
589
589
|
blockLength(node, refSeq, clientId) {
|
|
590
590
|
return this.collabWindow.collaborating && clientId !== this.collabWindow.clientId
|
|
591
591
|
? node.partialLengths.getPartialLength(refSeq, clientId)
|
|
592
|
-
: node.cachedLength ?? 0;
|
|
592
|
+
: (node.cachedLength ?? 0);
|
|
593
593
|
}
|
|
594
594
|
/**
|
|
595
595
|
* Compute local partial length information
|
|
@@ -1076,7 +1076,7 @@ class MergeTree {
|
|
|
1076
1076
|
// if the current seg is local (UnassignedSequenceNumber) give it the second highest
|
|
1077
1077
|
// possible seq, as the highest is reserved for the previous.
|
|
1078
1078
|
const newSeq = seq === constants_js_1.UnassignedSequenceNumber ? Number.MAX_SAFE_INTEGER : seq;
|
|
1079
|
-
const segSeq = node.seq === constants_js_1.UnassignedSequenceNumber ? Number.MAX_SAFE_INTEGER - 1 : node.seq ?? 0;
|
|
1079
|
+
const segSeq = node.seq === constants_js_1.UnassignedSequenceNumber ? Number.MAX_SAFE_INTEGER - 1 : (node.seq ?? 0);
|
|
1080
1080
|
return (newSeq > segSeq ||
|
|
1081
1081
|
(node.movedSeq !== undefined &&
|
|
1082
1082
|
node.movedSeq !== constants_js_1.UnassignedSequenceNumber &&
|
|
@@ -1519,15 +1519,15 @@ class MergeTree {
|
|
|
1519
1519
|
segment.removedClientIds = undefined;
|
|
1520
1520
|
segment.removedSeq = undefined;
|
|
1521
1521
|
segment.localRemovedSeq = undefined;
|
|
1522
|
+
for (let updateNode = segment.parent; updateNode !== undefined; updateNode = updateNode.parent) {
|
|
1523
|
+
this.blockUpdateLength(updateNode, constants_js_1.UnassignedSequenceNumber, this.collabWindow.clientId);
|
|
1524
|
+
}
|
|
1522
1525
|
// Note: optional chaining short-circuits:
|
|
1523
1526
|
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining#short-circuiting
|
|
1524
1527
|
this.mergeTreeDeltaCallback?.({ op: (0, opBuilder_js_1.createInsertSegmentOp)(this.findRollbackPosition(segment), segment) }, {
|
|
1525
1528
|
operation: ops_js_1.MergeTreeDeltaType.INSERT,
|
|
1526
1529
|
deltaSegments: [{ segment }],
|
|
1527
1530
|
});
|
|
1528
|
-
for (let updateNode = segment.parent; updateNode !== undefined; updateNode = updateNode.parent) {
|
|
1529
|
-
this.blockUpdateLength(updateNode, constants_js_1.UnassignedSequenceNumber, this.collabWindow.clientId);
|
|
1530
|
-
}
|
|
1531
1531
|
});
|
|
1532
1532
|
}
|
|
1533
1533
|
else if (op.type === ops_js_1.MergeTreeDeltaType.INSERT ||
|