@fluidframework/merge-tree 2.71.0 → 2.72.0
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/CHANGELOG.md +4 -26
- package/dist/client.js +3 -3
- package/dist/client.js.map +1 -1
- package/dist/mergeTreeDeltaCallback.js.map +1 -1
- package/dist/opBuilder.js +2 -2
- package/dist/opBuilder.js.map +1 -1
- package/lib/client.js +3 -3
- package/lib/client.js.map +1 -1
- package/lib/mergeTreeDeltaCallback.js.map +1 -1
- package/lib/opBuilder.js +2 -2
- package/lib/opBuilder.js.map +1 -1
- package/package.json +19 -19
- package/src/client.ts +7 -7
- package/src/mergeTreeDeltaCallback.ts +2 -2
- package/src/opBuilder.ts +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# @fluidframework/merge-tree
|
|
2
2
|
|
|
3
|
+
## 2.72.0
|
|
4
|
+
|
|
5
|
+
Dependency updates only.
|
|
6
|
+
|
|
3
7
|
## 2.71.0
|
|
4
8
|
|
|
5
9
|
Dependency updates only.
|
|
@@ -103,7 +107,6 @@ Dependency updates only.
|
|
|
103
107
|
```
|
|
104
108
|
|
|
105
109
|
The following properties are removed from `ISegment` and its implementations:
|
|
106
|
-
|
|
107
110
|
- clientId
|
|
108
111
|
- index
|
|
109
112
|
- localMovedSeq
|
|
@@ -120,7 +123,6 @@ Dependency updates only.
|
|
|
120
123
|
- wasMovedOnInsert
|
|
121
124
|
|
|
122
125
|
Additionally, the following types are also removed:
|
|
123
|
-
|
|
124
126
|
- IMergeNodeCommon
|
|
125
127
|
- IMoveInfo
|
|
126
128
|
- IRemovalInfo
|
|
@@ -148,7 +150,6 @@ Dependency updates only.
|
|
|
148
150
|
```
|
|
149
151
|
|
|
150
152
|
The following properties are deprecated on ISegment and its implementations:
|
|
151
|
-
|
|
152
153
|
- clientId
|
|
153
154
|
- index
|
|
154
155
|
- localMovedSeq
|
|
@@ -165,7 +166,6 @@ Dependency updates only.
|
|
|
165
166
|
- wasMovedOnInsert
|
|
166
167
|
|
|
167
168
|
Additionally, the following types are also deprecated, and will become internal (i.e. users of the Fluid Framework will not have access to them):
|
|
168
|
-
|
|
169
169
|
- IMergeNodeCommon
|
|
170
170
|
- IMoveInfo
|
|
171
171
|
- IRemovalInfo
|
|
@@ -184,7 +184,6 @@ Dependency updates only.
|
|
|
184
184
|
As part of ongoing improvements, several internal types and related APIs have been removed. These types are unnecessary for any supported scenarios and could lead to errors if used. Since directly using these types would likely result in errors, these changes are not likely to impact any Fluid Framework consumers.
|
|
185
185
|
|
|
186
186
|
Removed types:
|
|
187
|
-
|
|
188
187
|
- IMergeTreeTextHelper
|
|
189
188
|
- MergeNode
|
|
190
189
|
- ObliterateInfo
|
|
@@ -196,12 +195,10 @@ Dependency updates only.
|
|
|
196
195
|
In addition to removing the above types, they are no longer exposed through the following interfaces and their implementations: `ISegment`, `ReferencePosition`, and `ISerializableInterval`.
|
|
197
196
|
|
|
198
197
|
Removed functions:
|
|
199
|
-
|
|
200
198
|
- addProperties
|
|
201
199
|
- ack
|
|
202
200
|
|
|
203
201
|
Removed properties:
|
|
204
|
-
|
|
205
202
|
- propertyManager
|
|
206
203
|
- segmentGroups
|
|
207
204
|
|
|
@@ -215,7 +212,6 @@ Dependency updates only.
|
|
|
215
212
|
An adjustment is a modification applied to a property value within a specified range. Adjustments can be used to increment or decrement property values dynamically. They are particularly useful in scenarios where property values need to be updated based on user interactions or other events. For example, in a rich text editor, adjustments can be used for modifying indentation levels or font sizes, where multiple users could apply differing numerical adjustments.
|
|
216
213
|
|
|
217
214
|
### Key Features and Use Cases:
|
|
218
|
-
|
|
219
215
|
- **Adjustments with Constraints**: Adjustments can include optional minimum and maximum constraints to ensure the final value falls within specified bounds. This is particularly useful for maintaining consistent formatting in rich text editors.
|
|
220
216
|
- **Consistent Property Changes**: The feature ensures that property changes are consistent, managing both local and remote changes effectively. This is essential for collaborative rich text editing where multiple users may be making adjustments simultaneously.
|
|
221
217
|
- **Rich Text Formatting**: Adjustments can be used to modify text properties such as font size, indentation, or other formatting attributes dynamically based on user actions.
|
|
@@ -237,7 +233,6 @@ Dependency updates only.
|
|
|
237
233
|
The `Client` class in the merge-tree package has been removed. Types that directly or indirectly expose the merge-tree `Client` class have also been removed.
|
|
238
234
|
|
|
239
235
|
The removed types were not meant to be used directly, and direct usage was not supported:
|
|
240
|
-
|
|
241
236
|
- AttributionPolicy
|
|
242
237
|
- IClientEvents
|
|
243
238
|
- IMergeTreeAttributionOptions
|
|
@@ -245,7 +240,6 @@ Dependency updates only.
|
|
|
245
240
|
- SharedStringClass
|
|
246
241
|
|
|
247
242
|
Some classes that referenced the `Client` class have been transitioned to interfaces. Direct instantiation of these classes was not supported or necessary for any supported scenario, so the change to an interface should not impact usage. This applies to the following types:
|
|
248
|
-
|
|
249
243
|
- SequenceInterval
|
|
250
244
|
- SequenceEvent
|
|
251
245
|
- SequenceDeltaEvent
|
|
@@ -293,7 +287,6 @@ Dependency updates only.
|
|
|
293
287
|
To reduce exposure of the `Client` class in the merge-tree package, several types have been deprecated. These types directly or indirectly expose the merge-tree `Client` class.
|
|
294
288
|
|
|
295
289
|
Most of these types are not meant to be used directly, and direct use is not supported:
|
|
296
|
-
|
|
297
290
|
- AttributionPolicy
|
|
298
291
|
- IClientEvents
|
|
299
292
|
- IMergeTreeAttributionOptions
|
|
@@ -301,7 +294,6 @@ Dependency updates only.
|
|
|
301
294
|
- SharedStringClass
|
|
302
295
|
|
|
303
296
|
Some of the deprecations are class constructors. In those cases, we plan to replace the class with an interface which has an equivalent API. Direct instantiation of these classes is not currently supported or necessary for any supported scenario, so the change to an interface should not impact usage. This applies to the following types:
|
|
304
|
-
|
|
305
297
|
- SequenceInterval
|
|
306
298
|
- SequenceEvent
|
|
307
299
|
- SequenceDeltaEvent
|
|
@@ -319,7 +311,6 @@ Dependency updates only.
|
|
|
319
311
|
|
|
320
312
|
The `PropertyManager` class, along with the `propertyManager` properties and `addProperties` functions on segments and intervals, are not intended for external use.
|
|
321
313
|
These elements will be removed in a future release for the following reasons:
|
|
322
|
-
|
|
323
314
|
- There are no scenarios where they need to be used directly.
|
|
324
315
|
- Using them directly will cause eventual consistency problems.
|
|
325
316
|
- Upcoming features will require modifications to these mechanisms.
|
|
@@ -328,7 +319,6 @@ Dependency updates only.
|
|
|
328
319
|
|
|
329
320
|
The `SegmentGroupCollection` class, along with the `segmentGroups` property and `ack` function on segments, are not intended for external use.
|
|
330
321
|
These elements will be removed in a future release for the following reasons:
|
|
331
|
-
|
|
332
322
|
- There are no scenarios where they need to be used directly.
|
|
333
323
|
- Using them directly will cause eventual consistency problems.
|
|
334
324
|
- Upcoming features will require modifications to these mechanisms.
|
|
@@ -371,7 +361,6 @@ Dependency updates only.
|
|
|
371
361
|
TypeScript types and implementation code.
|
|
372
362
|
|
|
373
363
|
This means that using Fluid Framework packages require the following TypeScript settings in tsconfig.json:
|
|
374
|
-
|
|
375
364
|
- `"moduleResolution": "Node16"` with `"module": "Node16"`
|
|
376
365
|
- `"moduleResolution": "Bundler"` with `"module": "ESNext"`
|
|
377
366
|
|
|
@@ -394,7 +383,6 @@ Dependency updates only.
|
|
|
394
383
|
- Updated server dependencies ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
|
|
395
384
|
|
|
396
385
|
The following Fluid server dependencies have been updated to the latest version, 3.0.0. [See the full changelog.](https://github.com/microsoft/FluidFramework/releases/tag/server_v3.0.0)
|
|
397
|
-
|
|
398
386
|
- @fluidframework/gitresources
|
|
399
387
|
- @fluidframework/server-kafka-orderer
|
|
400
388
|
- @fluidframework/server-lambdas
|
|
@@ -452,7 +440,6 @@ Dependency updates only.
|
|
|
452
440
|
|
|
453
441
|
The following APIs have been removed or marked internal in merge-tree and sequence. This functionality was never
|
|
454
442
|
intended for public export.
|
|
455
|
-
|
|
456
443
|
- `BaseSegment.ack`
|
|
457
444
|
- `Client`
|
|
458
445
|
- `CollaborationWindow`
|
|
@@ -492,12 +479,10 @@ Dependency updates only.
|
|
|
492
479
|
- sequence: Remove support for combining ops [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
493
480
|
|
|
494
481
|
In sequence, removed the following APIs:
|
|
495
|
-
|
|
496
482
|
- the `combiningOp` argument from `SharedSegmentSequence.annotateRange` and `SharedString.annotateMarker`
|
|
497
483
|
- the function `SharedString.annotateMarkerNotifyConsensus`
|
|
498
484
|
|
|
499
485
|
In merge-tree, removed the following APIs:
|
|
500
|
-
|
|
501
486
|
- `ICombiningOp`
|
|
502
487
|
- the `combiningOp` field from `IMergeTreeAnnotateMsg`
|
|
503
488
|
- the `op` argument from `BaseSegment.addProperties`, `PropertiesManager.addProperties`, and `ReferencePosition.addProperties`
|
|
@@ -508,7 +493,6 @@ Dependency updates only.
|
|
|
508
493
|
- sequence: Removed several APIs [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
509
494
|
|
|
510
495
|
The following APIs have been removed:
|
|
511
|
-
|
|
512
496
|
- `Client.getStackContext`
|
|
513
497
|
- `SharedSegmentSequence.getStackContext`
|
|
514
498
|
- `IntervalType.Nest`
|
|
@@ -525,7 +509,6 @@ Dependency updates only.
|
|
|
525
509
|
- merge-tree: Remove several APIs [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
526
510
|
|
|
527
511
|
Removed the following APIs:
|
|
528
|
-
|
|
529
512
|
- `Stack`
|
|
530
513
|
- `clone`
|
|
531
514
|
- `combine`
|
|
@@ -567,7 +550,6 @@ Dependency updates only.
|
|
|
567
550
|
|
|
568
551
|
The following classes and functions have been deprecated. They were not intended for public export and will be removed
|
|
569
552
|
in a future release.
|
|
570
|
-
|
|
571
553
|
- Stack
|
|
572
554
|
- clone
|
|
573
555
|
- combine
|
|
@@ -580,7 +562,6 @@ Dependency updates only.
|
|
|
580
562
|
|
|
581
563
|
The following classes and functions have been deprecated. The functionality has poor test coverage and is largely
|
|
582
564
|
unused. They will be removed in a future release.
|
|
583
|
-
|
|
584
565
|
- IntervalType.Nest
|
|
585
566
|
- internedSpaces
|
|
586
567
|
- RangeStackMap
|
|
@@ -599,7 +580,6 @@ Dependency updates only.
|
|
|
599
580
|
- Dependencies on @fluidframework/protocol-definitions package updated to 3.0.0 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
600
581
|
|
|
601
582
|
This included the following changes from the protocol-definitions release:
|
|
602
|
-
|
|
603
583
|
- Updating signal interfaces for some planned improvements. The intention is split the interface between signals
|
|
604
584
|
submitted by clients to the server and the resulting signals sent from the server to clients.
|
|
605
585
|
- A new optional type member is available on the ISignalMessage interface and a new ISentSignalMessage interface has
|
|
@@ -610,7 +590,6 @@ Dependency updates only.
|
|
|
610
590
|
- Server upgrade: dependencies on Fluid server packages updated to 2.0.1 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
611
591
|
|
|
612
592
|
Dependencies on the following Fluid server package have been updated to version 2.0.1:
|
|
613
|
-
|
|
614
593
|
- @fluidframework/gitresources: 2.0.1
|
|
615
594
|
- @fluidframework/server-kafka-orderer: 2.0.1
|
|
616
595
|
- @fluidframework/server-lambdas: 2.0.1
|
|
@@ -661,7 +640,6 @@ Dependency updates only.
|
|
|
661
640
|
|
|
662
641
|
The **@fluidframework/common-definitions** package is being deprecated, so the following interfaces and types are now
|
|
663
642
|
imported from the **@fluidframework/core-interfaces** package:
|
|
664
|
-
|
|
665
643
|
- interface IDisposable
|
|
666
644
|
- interface IErrorEvent
|
|
667
645
|
- interface IErrorEvent
|
package/dist/client.js
CHANGED
|
@@ -181,7 +181,7 @@ class Client extends client_utils_1.TypedEventEmitter {
|
|
|
181
181
|
* (default is to be after the last included character, but number index is exclusive).
|
|
182
182
|
*/
|
|
183
183
|
obliterateRangeLocal(start, end) {
|
|
184
|
-
// eslint-disable-next-line import/no-deprecated
|
|
184
|
+
// eslint-disable-next-line import-x/no-deprecated
|
|
185
185
|
let obliterateOp;
|
|
186
186
|
if (this._mergeTree.options?.mergeTreeEnableSidedObliterate) {
|
|
187
187
|
obliterateOp = (0, opBuilder_js_1.createObliterateRangeOpSided)(start, end);
|
|
@@ -414,7 +414,7 @@ class Client extends client_utils_1.TypedEventEmitter {
|
|
|
414
414
|
* @throws LoggingError if the range is invalid
|
|
415
415
|
*/
|
|
416
416
|
getValidSidedRange(
|
|
417
|
-
// eslint-disable-next-line import/no-deprecated
|
|
417
|
+
// eslint-disable-next-line import-x/no-deprecated
|
|
418
418
|
op, perspective) {
|
|
419
419
|
const invalidPositions = [];
|
|
420
420
|
let start;
|
|
@@ -1037,7 +1037,7 @@ class Client extends client_utils_1.TypedEventEmitter {
|
|
|
1037
1037
|
const loader = new snapshotLoader_js_1.SnapshotLoader(runtime, this, this._mergeTree, this.logger, serializer);
|
|
1038
1038
|
return loader.initialize(storage);
|
|
1039
1039
|
}
|
|
1040
|
-
// eslint-disable-next-line import/no-deprecated
|
|
1040
|
+
// eslint-disable-next-line import-x/no-deprecated
|
|
1041
1041
|
localTransaction(groupOp) {
|
|
1042
1042
|
for (const op of groupOp.ops) {
|
|
1043
1043
|
const opArgs = {
|