@fluidframework/merge-tree 2.70.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 +8 -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 +21 -21
- 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,13 @@
|
|
|
1
1
|
# @fluidframework/merge-tree
|
|
2
2
|
|
|
3
|
+
## 2.72.0
|
|
4
|
+
|
|
5
|
+
Dependency updates only.
|
|
6
|
+
|
|
7
|
+
## 2.71.0
|
|
8
|
+
|
|
9
|
+
Dependency updates only.
|
|
10
|
+
|
|
3
11
|
## 2.70.0
|
|
4
12
|
|
|
5
13
|
Dependency updates only.
|
|
@@ -99,7 +107,6 @@ Dependency updates only.
|
|
|
99
107
|
```
|
|
100
108
|
|
|
101
109
|
The following properties are removed from `ISegment` and its implementations:
|
|
102
|
-
|
|
103
110
|
- clientId
|
|
104
111
|
- index
|
|
105
112
|
- localMovedSeq
|
|
@@ -116,7 +123,6 @@ Dependency updates only.
|
|
|
116
123
|
- wasMovedOnInsert
|
|
117
124
|
|
|
118
125
|
Additionally, the following types are also removed:
|
|
119
|
-
|
|
120
126
|
- IMergeNodeCommon
|
|
121
127
|
- IMoveInfo
|
|
122
128
|
- IRemovalInfo
|
|
@@ -144,7 +150,6 @@ Dependency updates only.
|
|
|
144
150
|
```
|
|
145
151
|
|
|
146
152
|
The following properties are deprecated on ISegment and its implementations:
|
|
147
|
-
|
|
148
153
|
- clientId
|
|
149
154
|
- index
|
|
150
155
|
- localMovedSeq
|
|
@@ -161,7 +166,6 @@ Dependency updates only.
|
|
|
161
166
|
- wasMovedOnInsert
|
|
162
167
|
|
|
163
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):
|
|
164
|
-
|
|
165
169
|
- IMergeNodeCommon
|
|
166
170
|
- IMoveInfo
|
|
167
171
|
- IRemovalInfo
|
|
@@ -180,7 +184,6 @@ Dependency updates only.
|
|
|
180
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.
|
|
181
185
|
|
|
182
186
|
Removed types:
|
|
183
|
-
|
|
184
187
|
- IMergeTreeTextHelper
|
|
185
188
|
- MergeNode
|
|
186
189
|
- ObliterateInfo
|
|
@@ -192,12 +195,10 @@ Dependency updates only.
|
|
|
192
195
|
In addition to removing the above types, they are no longer exposed through the following interfaces and their implementations: `ISegment`, `ReferencePosition`, and `ISerializableInterval`.
|
|
193
196
|
|
|
194
197
|
Removed functions:
|
|
195
|
-
|
|
196
198
|
- addProperties
|
|
197
199
|
- ack
|
|
198
200
|
|
|
199
201
|
Removed properties:
|
|
200
|
-
|
|
201
202
|
- propertyManager
|
|
202
203
|
- segmentGroups
|
|
203
204
|
|
|
@@ -211,7 +212,6 @@ Dependency updates only.
|
|
|
211
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.
|
|
212
213
|
|
|
213
214
|
### Key Features and Use Cases:
|
|
214
|
-
|
|
215
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.
|
|
216
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.
|
|
217
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.
|
|
@@ -233,7 +233,6 @@ Dependency updates only.
|
|
|
233
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.
|
|
234
234
|
|
|
235
235
|
The removed types were not meant to be used directly, and direct usage was not supported:
|
|
236
|
-
|
|
237
236
|
- AttributionPolicy
|
|
238
237
|
- IClientEvents
|
|
239
238
|
- IMergeTreeAttributionOptions
|
|
@@ -241,7 +240,6 @@ Dependency updates only.
|
|
|
241
240
|
- SharedStringClass
|
|
242
241
|
|
|
243
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:
|
|
244
|
-
|
|
245
243
|
- SequenceInterval
|
|
246
244
|
- SequenceEvent
|
|
247
245
|
- SequenceDeltaEvent
|
|
@@ -289,7 +287,6 @@ Dependency updates only.
|
|
|
289
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.
|
|
290
288
|
|
|
291
289
|
Most of these types are not meant to be used directly, and direct use is not supported:
|
|
292
|
-
|
|
293
290
|
- AttributionPolicy
|
|
294
291
|
- IClientEvents
|
|
295
292
|
- IMergeTreeAttributionOptions
|
|
@@ -297,7 +294,6 @@ Dependency updates only.
|
|
|
297
294
|
- SharedStringClass
|
|
298
295
|
|
|
299
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:
|
|
300
|
-
|
|
301
297
|
- SequenceInterval
|
|
302
298
|
- SequenceEvent
|
|
303
299
|
- SequenceDeltaEvent
|
|
@@ -315,7 +311,6 @@ Dependency updates only.
|
|
|
315
311
|
|
|
316
312
|
The `PropertyManager` class, along with the `propertyManager` properties and `addProperties` functions on segments and intervals, are not intended for external use.
|
|
317
313
|
These elements will be removed in a future release for the following reasons:
|
|
318
|
-
|
|
319
314
|
- There are no scenarios where they need to be used directly.
|
|
320
315
|
- Using them directly will cause eventual consistency problems.
|
|
321
316
|
- Upcoming features will require modifications to these mechanisms.
|
|
@@ -324,7 +319,6 @@ Dependency updates only.
|
|
|
324
319
|
|
|
325
320
|
The `SegmentGroupCollection` class, along with the `segmentGroups` property and `ack` function on segments, are not intended for external use.
|
|
326
321
|
These elements will be removed in a future release for the following reasons:
|
|
327
|
-
|
|
328
322
|
- There are no scenarios where they need to be used directly.
|
|
329
323
|
- Using them directly will cause eventual consistency problems.
|
|
330
324
|
- Upcoming features will require modifications to these mechanisms.
|
|
@@ -367,7 +361,6 @@ Dependency updates only.
|
|
|
367
361
|
TypeScript types and implementation code.
|
|
368
362
|
|
|
369
363
|
This means that using Fluid Framework packages require the following TypeScript settings in tsconfig.json:
|
|
370
|
-
|
|
371
364
|
- `"moduleResolution": "Node16"` with `"module": "Node16"`
|
|
372
365
|
- `"moduleResolution": "Bundler"` with `"module": "ESNext"`
|
|
373
366
|
|
|
@@ -390,7 +383,6 @@ Dependency updates only.
|
|
|
390
383
|
- Updated server dependencies ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
|
|
391
384
|
|
|
392
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)
|
|
393
|
-
|
|
394
386
|
- @fluidframework/gitresources
|
|
395
387
|
- @fluidframework/server-kafka-orderer
|
|
396
388
|
- @fluidframework/server-lambdas
|
|
@@ -448,7 +440,6 @@ Dependency updates only.
|
|
|
448
440
|
|
|
449
441
|
The following APIs have been removed or marked internal in merge-tree and sequence. This functionality was never
|
|
450
442
|
intended for public export.
|
|
451
|
-
|
|
452
443
|
- `BaseSegment.ack`
|
|
453
444
|
- `Client`
|
|
454
445
|
- `CollaborationWindow`
|
|
@@ -488,12 +479,10 @@ Dependency updates only.
|
|
|
488
479
|
- sequence: Remove support for combining ops [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
489
480
|
|
|
490
481
|
In sequence, removed the following APIs:
|
|
491
|
-
|
|
492
482
|
- the `combiningOp` argument from `SharedSegmentSequence.annotateRange` and `SharedString.annotateMarker`
|
|
493
483
|
- the function `SharedString.annotateMarkerNotifyConsensus`
|
|
494
484
|
|
|
495
485
|
In merge-tree, removed the following APIs:
|
|
496
|
-
|
|
497
486
|
- `ICombiningOp`
|
|
498
487
|
- the `combiningOp` field from `IMergeTreeAnnotateMsg`
|
|
499
488
|
- the `op` argument from `BaseSegment.addProperties`, `PropertiesManager.addProperties`, and `ReferencePosition.addProperties`
|
|
@@ -504,7 +493,6 @@ Dependency updates only.
|
|
|
504
493
|
- sequence: Removed several APIs [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
505
494
|
|
|
506
495
|
The following APIs have been removed:
|
|
507
|
-
|
|
508
496
|
- `Client.getStackContext`
|
|
509
497
|
- `SharedSegmentSequence.getStackContext`
|
|
510
498
|
- `IntervalType.Nest`
|
|
@@ -521,7 +509,6 @@ Dependency updates only.
|
|
|
521
509
|
- merge-tree: Remove several APIs [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
522
510
|
|
|
523
511
|
Removed the following APIs:
|
|
524
|
-
|
|
525
512
|
- `Stack`
|
|
526
513
|
- `clone`
|
|
527
514
|
- `combine`
|
|
@@ -563,7 +550,6 @@ Dependency updates only.
|
|
|
563
550
|
|
|
564
551
|
The following classes and functions have been deprecated. They were not intended for public export and will be removed
|
|
565
552
|
in a future release.
|
|
566
|
-
|
|
567
553
|
- Stack
|
|
568
554
|
- clone
|
|
569
555
|
- combine
|
|
@@ -576,7 +562,6 @@ Dependency updates only.
|
|
|
576
562
|
|
|
577
563
|
The following classes and functions have been deprecated. The functionality has poor test coverage and is largely
|
|
578
564
|
unused. They will be removed in a future release.
|
|
579
|
-
|
|
580
565
|
- IntervalType.Nest
|
|
581
566
|
- internedSpaces
|
|
582
567
|
- RangeStackMap
|
|
@@ -595,7 +580,6 @@ Dependency updates only.
|
|
|
595
580
|
- Dependencies on @fluidframework/protocol-definitions package updated to 3.0.0 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
596
581
|
|
|
597
582
|
This included the following changes from the protocol-definitions release:
|
|
598
|
-
|
|
599
583
|
- Updating signal interfaces for some planned improvements. The intention is split the interface between signals
|
|
600
584
|
submitted by clients to the server and the resulting signals sent from the server to clients.
|
|
601
585
|
- A new optional type member is available on the ISignalMessage interface and a new ISentSignalMessage interface has
|
|
@@ -606,7 +590,6 @@ Dependency updates only.
|
|
|
606
590
|
- Server upgrade: dependencies on Fluid server packages updated to 2.0.1 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
607
591
|
|
|
608
592
|
Dependencies on the following Fluid server package have been updated to version 2.0.1:
|
|
609
|
-
|
|
610
593
|
- @fluidframework/gitresources: 2.0.1
|
|
611
594
|
- @fluidframework/server-kafka-orderer: 2.0.1
|
|
612
595
|
- @fluidframework/server-lambdas: 2.0.1
|
|
@@ -657,7 +640,6 @@ Dependency updates only.
|
|
|
657
640
|
|
|
658
641
|
The **@fluidframework/common-definitions** package is being deprecated, so the following interfaces and types are now
|
|
659
642
|
imported from the **@fluidframework/core-interfaces** package:
|
|
660
|
-
|
|
661
643
|
- interface IDisposable
|
|
662
644
|
- interface IErrorEvent
|
|
663
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 = {
|