diff --git a/.changeset/chilly-ideas-happen.md b/.changeset/chilly-ideas-happen.md new file mode 100644 index 0000000000000..47355f0a7e3c5 --- /dev/null +++ b/.changeset/chilly-ideas-happen.md @@ -0,0 +1,9 @@ +--- +"@fluidframework/merge-tree": minor +"@fluidframework/sequence": minor +--- + +Deprecate getStackContext and associated NestBegin/End + +Deprecate SharedSegmentSequence.getStackContext and Client.getStackContext (and the enums ReferenceType.NestBegin and NestEnd they use). +This functionality is unused, poorly tested, and incurs performance overhead. diff --git a/api-report/merge-tree.api.md b/api-report/merge-tree.api.md index b64cf62d08b1f..59d2fb5397e5c 100644 --- a/api-report/merge-tree.api.md +++ b/api-report/merge-tree.api.md @@ -145,7 +145,7 @@ export class Client extends TypedEventEmitter { }; // (undocumented) getShortClientId(longClientId: string): number; - // (undocumented) + // @deprecated (undocumented) getStackContext(startPos: number, rangeLabels: string[]): RangeStackMap; // (undocumented) insertAtReferencePositionLocal(refPos: ReferencePosition, segment: ISegment): IMergeTreeInsertMsg | undefined; @@ -953,9 +953,9 @@ export interface ReferencePosition { // @public export enum ReferenceType { - // (undocumented) + // @deprecated (undocumented) NestBegin = 2, - // (undocumented) + // @deprecated (undocumented) NestEnd = 4, // (undocumented) RangeBegin = 16, diff --git a/api-report/sequence.api.md b/api-report/sequence.api.md index eec5f2df83333..5c51582f0a9c2 100644 --- a/api-report/sequence.api.md +++ b/api-report/sequence.api.md @@ -547,7 +547,7 @@ export abstract class SharedSegmentSequence extends SharedOb posStart: number | undefined; posAfterEnd: number | undefined; }; - // (undocumented) + // @deprecated (undocumented) getStackContext(startPos: number, rangeLabels: string[]): RangeStackMap; // @deprecated (undocumented) groupOperation(groupOp: IMergeTreeGroupMsg): void; diff --git a/packages/dds/merge-tree/src/client.ts b/packages/dds/merge-tree/src/client.ts index e0387b176f17a..18a1ce3392e45 100644 --- a/packages/dds/merge-tree/src/client.ts +++ b/packages/dds/merge-tree/src/client.ts @@ -1041,6 +1041,9 @@ export class Client extends TypedEventEmitter { return loader.initialize(storage); } + /** + * @deprecated - this functionality is no longer supported and will be removed + */ getStackContext(startPos: number, rangeLabels: string[]): RangeStackMap { return this._mergeTree.getStackContext( startPos, diff --git a/packages/dds/merge-tree/src/mergeTree.ts b/packages/dds/merge-tree/src/mergeTree.ts index f40e02964d4bd..321c9fa9b0850 100644 --- a/packages/dds/merge-tree/src/mergeTree.ts +++ b/packages/dds/merge-tree/src/mergeTree.ts @@ -1234,6 +1234,9 @@ export class MergeTree { return DetachedReferencePosition; } + /** + * @deprecated - this functionality is no longer supported and will be removed + */ public getStackContext(startPos: number, clientId: number, rangeLabels: string[]) { const searchInfo: IMarkerSearchRangeInfo = { mergeTree: this, diff --git a/packages/dds/merge-tree/src/ops.ts b/packages/dds/merge-tree/src/ops.ts index 0a6836a3ccf4f..1ecc9b665a475 100644 --- a/packages/dds/merge-tree/src/ops.ts +++ b/packages/dds/merge-tree/src/ops.ts @@ -12,7 +12,13 @@ export enum ReferenceType { * Allows this reference to be located using the `findTile` API on merge-tree. */ Tile = 0x1, + /** + * @deprecated - this functionality is no longer supported and will be removed + */ NestBegin = 0x2, + /** + * @deprecated - this functionality is no longer supported and will be removed + */ NestEnd = 0x4, RangeBegin = 0x10, RangeEnd = 0x20, diff --git a/packages/dds/sequence/src/sequence.ts b/packages/dds/sequence/src/sequence.ts index d932fc3d24394..fa03e1a131942 100644 --- a/packages/dds/sequence/src/sequence.ts +++ b/packages/dds/sequence/src/sequence.ts @@ -415,6 +415,9 @@ export abstract class SharedSegmentSequence this.client.walkSegments(handler, start, end, accum as TClientData, splitRange); } + /** + * @deprecated - this functionality is no longer supported and will be removed + */ public getStackContext(startPos: number, rangeLabels: string[]): RangeStackMap { return this.client.getStackContext(startPos, rangeLabels); }