Skip to content

[v2.50] Remove IFluidHandleInternal.bind #24870

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 14 commits into from
Jul 3, 2025
Merged
Show file tree
Hide file tree
Changes from 12 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 0 additions & 7 deletions experimental/dds/tree/src/migration-shim/shimHandle.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
* Licensed under the MIT License.
*/

import { type IFluidHandleInternal } from '@fluidframework/core-interfaces/internal';
import { FluidHandleBase, toFluidHandleInternal } from '@fluidframework/runtime-utils/internal';

import { type IShim } from './types.js';
Expand Down Expand Up @@ -33,10 +32,4 @@ export class ShimHandle<TShim extends IShim> extends FluidHandleBase<TShim> {
public async get(): Promise<TShim> {
return this.shim;
}
/**
* @deprecated No replacement provided. Arbitrary handles may not serve as a bind source.
*/
public bind(handle: IFluidHandleInternal): void {
return toFluidHandleInternal(this.shim.currentTree.handle).bind(handle);
}
}
7 changes: 0 additions & 7 deletions experimental/dds/tree/src/test/utilities/TestSerializer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,6 @@ export class TestFluidHandle extends FluidHandleBase<unknown> {
throw new Error('Method not implemented.');
}

/**
* @deprecated No replacement provided. Arbitrary handles may not serve as a bind source.
*/
public bind(handle: IFluidHandle): void {
throw new Error('Method not implemented.');
}

public attachGraph(): void {
throw new Error('Method not implemented.');
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -275,8 +275,6 @@ export interface IFluidHandleEvents {
export interface IFluidHandleInternal<out T = unknown> extends IFluidHandle<T>, IProvideFluidHandle {
readonly absolutePath: string;
attachGraph(): void;
// @deprecated
bind(handle: IFluidHandleInternal): void;
}

// @alpha @legacy
Expand Down
9 changes: 8 additions & 1 deletion packages/common/core-interfaces/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,14 @@
}
},
"typeValidation": {
"broken": {},
"broken": {
"Interface_IProvideFluidHandle": {
"backCompat": false
},
"Interface_IFluidHandleInternal": {
"backCompat": false
}
},
"entrypoint": "legacy"
}
}
8 changes: 0 additions & 8 deletions packages/common/core-interfaces/src/handles.ts
Original file line number Diff line number Diff line change
Expand Up @@ -94,14 +94,6 @@ export interface IFluidHandleInternal<
* Runs through the graph and attach the bounded handles.
*/
attachGraph(): void;

/**
* Binds the given handle to this one or attach the given handle if this handle is attached.
* A bound handle will also be attached once this handle is attached.
*
* @deprecated No replacement provided. Arbitrary handles may not serve as a bind source.
*/
bind(handle: IFluidHandleInternal): void;
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,7 @@ declare type old_as_current_for_Interface_IFluidHandleInternal = requireAssignab
* typeValidation.broken:
* "Interface_IFluidHandleInternal": {"backCompat": false}
*/
// @ts-expect-error compatibility expected to be broken
declare type current_as_old_for_Interface_IFluidHandleInternal = requireAssignableTo<TypeOnly<current.IFluidHandleInternal>, TypeOnly<old.IFluidHandleInternal>>

/*
Expand Down Expand Up @@ -292,6 +293,7 @@ declare type old_as_current_for_Interface_IProvideFluidHandle = requireAssignabl
* typeValidation.broken:
* "Interface_IProvideFluidHandle": {"backCompat": false}
*/
// @ts-expect-error compatibility expected to be broken
declare type current_as_old_for_Interface_IProvideFluidHandle = requireAssignableTo<TypeOnly<current.IProvideFluidHandle>, TypeOnly<old.IProvideFluidHandle>>

/*
Expand Down
18 changes: 17 additions & 1 deletion packages/dds/ordered-collection/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,23 @@
"typescript": "~5.4.5"
},
"typeValidation": {
"broken": {},
"broken": {
"Class_ConsensusOrderedCollection": {
"backCompat": false
},
"Class_ConsensusQueueClass": {
"backCompat": false
},
"ClassStatics_ConsensusOrderedCollection": {
"backCompat": false
},
"ClassStatics_ConsensusQueueClass": {
"backCompat": false
},
"TypeAlias_ConsensusQueue": {
"backCompat": false
}
},
"entrypoint": "legacy"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ declare type old_as_current_for_Class_ConsensusOrderedCollection = requireAssign
* typeValidation.broken:
* "Class_ConsensusOrderedCollection": {"backCompat": false}
*/
// @ts-expect-error compatibility expected to be broken
declare type current_as_old_for_Class_ConsensusOrderedCollection = requireAssignableTo<TypeOnly<current.ConsensusOrderedCollection>, TypeOnly<old.ConsensusOrderedCollection>>

/*
Expand All @@ -49,6 +50,7 @@ declare type old_as_current_for_Class_ConsensusQueueClass = requireAssignableTo<
* typeValidation.broken:
* "Class_ConsensusQueueClass": {"backCompat": false}
*/
// @ts-expect-error compatibility expected to be broken
declare type current_as_old_for_Class_ConsensusQueueClass = requireAssignableTo<TypeOnly<current.ConsensusQueueClass>, TypeOnly<old.ConsensusQueueClass>>

/*
Expand All @@ -58,6 +60,7 @@ declare type current_as_old_for_Class_ConsensusQueueClass = requireAssignableTo<
* typeValidation.broken:
* "ClassStatics_ConsensusOrderedCollection": {"backCompat": false}
*/
// @ts-expect-error compatibility expected to be broken
declare type current_as_old_for_ClassStatics_ConsensusOrderedCollection = requireAssignableTo<TypeOnly<typeof current.ConsensusOrderedCollection>, TypeOnly<typeof old.ConsensusOrderedCollection>>

/*
Expand All @@ -67,6 +70,7 @@ declare type current_as_old_for_ClassStatics_ConsensusOrderedCollection = requir
* typeValidation.broken:
* "ClassStatics_ConsensusQueueClass": {"backCompat": false}
*/
// @ts-expect-error compatibility expected to be broken
declare type current_as_old_for_ClassStatics_ConsensusQueueClass = requireAssignableTo<TypeOnly<typeof current.ConsensusQueueClass>, TypeOnly<typeof old.ConsensusQueueClass>>

/*
Expand Down Expand Up @@ -193,6 +197,7 @@ declare type old_as_current_for_TypeAlias_ConsensusQueue = requireAssignableTo<T
* typeValidation.broken:
* "TypeAlias_ConsensusQueue": {"backCompat": false}
*/
// @ts-expect-error compatibility expected to be broken
declare type current_as_old_for_TypeAlias_ConsensusQueue = requireAssignableTo<TypeOnly<current.ConsensusQueue>, TypeOnly<old.ConsensusQueue>>

/*
Expand Down
9 changes: 8 additions & 1 deletion packages/dds/register-collection/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,14 @@
"typescript": "~5.4.5"
},
"typeValidation": {
"broken": {},
"broken": {
"Class_ConsensusRegisterCollectionClass": {
"backCompat": false
},
"ClassStatics_ConsensusRegisterCollectionClass": {
"backCompat": false
}
},
"entrypoint": "legacy"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ declare type old_as_current_for_Class_ConsensusRegisterCollectionClass = require
* typeValidation.broken:
* "Class_ConsensusRegisterCollectionClass": {"backCompat": false}
*/
// @ts-expect-error compatibility expected to be broken
declare type current_as_old_for_Class_ConsensusRegisterCollectionClass = requireAssignableTo<TypeOnly<current.ConsensusRegisterCollectionClass<never>>, TypeOnly<old.ConsensusRegisterCollectionClass<never>>>

/*
Expand Down Expand Up @@ -58,6 +59,7 @@ declare type current_as_old_for_Class_ConsensusRegisterCollectionFactory = requi
* typeValidation.broken:
* "ClassStatics_ConsensusRegisterCollectionClass": {"backCompat": false}
*/
// @ts-expect-error compatibility expected to be broken
declare type current_as_old_for_ClassStatics_ConsensusRegisterCollectionClass = requireAssignableTo<TypeOnly<typeof current.ConsensusRegisterCollectionClass>, TypeOnly<typeof old.ConsensusRegisterCollectionClass>>

/*
Expand Down
15 changes: 14 additions & 1 deletion packages/dds/shared-object-base/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,20 @@
"typescript": "~5.4.5"
},
"typeValidation": {
"broken": {},
"broken": {
"Class_SharedObject": {
"backCompat": false
},
"Class_SharedObjectCore": {
"backCompat": false
},
"ClassStatics_SharedObject": {
"backCompat": false
},
"ClassStatics_SharedObjectCore": {
"backCompat": false
}
},
"entrypoint": "legacy"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ declare type old_as_current_for_Class_SharedObject = requireAssignableTo<TypeOnl
* typeValidation.broken:
* "Class_SharedObject": {"backCompat": false}
*/
// @ts-expect-error compatibility expected to be broken
declare type current_as_old_for_Class_SharedObject = requireAssignableTo<TypeOnly<current.SharedObject>, TypeOnly<old.SharedObject>>

/*
Expand All @@ -49,6 +50,7 @@ declare type old_as_current_for_Class_SharedObjectCore = requireAssignableTo<Typ
* typeValidation.broken:
* "Class_SharedObjectCore": {"backCompat": false}
*/
// @ts-expect-error compatibility expected to be broken
declare type current_as_old_for_Class_SharedObjectCore = requireAssignableTo<TypeOnly<current.SharedObjectCore>, TypeOnly<old.SharedObjectCore>>

/*
Expand All @@ -58,6 +60,7 @@ declare type current_as_old_for_Class_SharedObjectCore = requireAssignableTo<Typ
* typeValidation.broken:
* "ClassStatics_SharedObject": {"backCompat": false}
*/
// @ts-expect-error compatibility expected to be broken
declare type current_as_old_for_ClassStatics_SharedObject = requireAssignableTo<TypeOnly<typeof current.SharedObject>, TypeOnly<typeof old.SharedObject>>

/*
Expand All @@ -67,6 +70,7 @@ declare type current_as_old_for_ClassStatics_SharedObject = requireAssignableTo<
* typeValidation.broken:
* "ClassStatics_SharedObjectCore": {"backCompat": false}
*/
// @ts-expect-error compatibility expected to be broken
declare type current_as_old_for_ClassStatics_SharedObjectCore = requireAssignableTo<TypeOnly<typeof current.SharedObjectCore>, TypeOnly<typeof old.SharedObjectCore>>

/*
Expand Down
13 changes: 0 additions & 13 deletions packages/dds/test-dds-utils/src/ddsFuzzHandle.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
* Licensed under the MIT License.
*/

import { type IFluidHandle } from "@fluidframework/core-interfaces";
import { type IFluidHandleContext } from "@fluidframework/core-interfaces/internal";
import {
FluidHandleBase,
Expand Down Expand Up @@ -42,12 +41,6 @@ export class DDSFuzzHandle extends FluidHandleBase<string> {
this.attached = true;
}
}

// eslint-disable-next-line jsdoc/require-description
/**
* @deprecated No replacement provided. Arbitrary handles may not serve as a bind source.
*/
public bind(handle: IFluidHandle): void {}
}

export class PoisonedDDSFuzzHandle extends FluidHandleBase<string> implements IPoisonedHandle {
Expand Down Expand Up @@ -80,10 +73,4 @@ export class PoisonedDDSFuzzHandle extends FluidHandleBase<string> implements IP
this.attached = true;
}
}

// eslint-disable-next-line jsdoc/require-description
/**
* @deprecated No replacement provided. Arbitrary handles may not serve as a bind source.
*/
public bind(handle: IFluidHandle): void {}
}
18 changes: 17 additions & 1 deletion packages/framework/aqueduct/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,23 @@
"typescript": "~5.4.5"
},
"typeValidation": {
"broken": {},
"broken": {
"Class_DataObject": {
"backCompat": false
},
"Class_PureDataObject": {
"backCompat": false
},
"ClassStatics_DataObject": {
"backCompat": false
},
"ClassStatics_PureDataObject": {
"backCompat": false
},
"Interface_DataObjectFactoryProps": {
"backCompat": false
}
},
"entrypoint": "legacy"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ declare type old_as_current_for_Class_DataObject = requireAssignableTo<TypeOnly<
* typeValidation.broken:
* "Class_DataObject": {"backCompat": false}
*/
// @ts-expect-error compatibility expected to be broken
declare type current_as_old_for_Class_DataObject = requireAssignableTo<TypeOnly<current.DataObject>, TypeOnly<old.DataObject>>

/*
Expand Down Expand Up @@ -103,6 +104,7 @@ declare type old_as_current_for_Class_PureDataObject = requireAssignableTo<TypeO
* typeValidation.broken:
* "Class_PureDataObject": {"backCompat": false}
*/
// @ts-expect-error compatibility expected to be broken
declare type current_as_old_for_Class_PureDataObject = requireAssignableTo<TypeOnly<current.PureDataObject>, TypeOnly<old.PureDataObject>>

/*
Expand Down Expand Up @@ -148,6 +150,7 @@ declare type current_as_old_for_ClassStatics_ContainerRuntimeFactoryWithDefaultD
* typeValidation.broken:
* "ClassStatics_DataObject": {"backCompat": false}
*/
// @ts-expect-error compatibility expected to be broken
declare type current_as_old_for_ClassStatics_DataObject = requireAssignableTo<TypeOnly<typeof current.DataObject>, TypeOnly<typeof old.DataObject>>

/*
Expand All @@ -166,6 +169,7 @@ declare type current_as_old_for_ClassStatics_DataObjectFactory = requireAssignab
* typeValidation.broken:
* "ClassStatics_PureDataObject": {"backCompat": false}
*/
// @ts-expect-error compatibility expected to be broken
declare type current_as_old_for_ClassStatics_PureDataObject = requireAssignableTo<TypeOnly<typeof current.PureDataObject>, TypeOnly<typeof old.PureDataObject>>

/*
Expand Down Expand Up @@ -229,6 +233,7 @@ declare type old_as_current_for_Interface_DataObjectFactoryProps = requireAssign
* typeValidation.broken:
* "Interface_DataObjectFactoryProps": {"backCompat": false}
*/
// @ts-expect-error compatibility expected to be broken
declare type current_as_old_for_Interface_DataObjectFactoryProps = requireAssignableTo<TypeOnly<current.DataObjectFactoryProps<never>>, TypeOnly<old.DataObjectFactoryProps<never>>>

/*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ import type {
IEmitter,
IEventProvider,
IFluidHandleContext,
IFluidHandleInternal,
IFluidHandleInternalPayloadPending,
ILocalFluidHandle,
ILocalFluidHandleEvents,
Expand Down Expand Up @@ -125,14 +124,6 @@ export class BlobHandle
this.onAttachGraph?.();
}
}

// eslint-disable-next-line jsdoc/require-description
/**
* @deprecated No replacement provided. Arbitrary handles may not serve as a bind source.
*/
public bind(handle: IFluidHandleInternal): void {
throw new Error("Cannot bind to blob handle");
}
}

// Restrict the IContainerRuntime interface to the subset required by BlobManager. This helps to make
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,8 +110,6 @@ export class FluidObjectHandle<T extends FluidObject = FluidObject> extends Flui
constructor(value: T | Promise<T>, path: string, routeContext: IFluidHandleContext);
readonly absolutePath: string;
attachGraph(): void;
// @deprecated (undocumented)
bind(handle: IFluidHandleInternal): void;
get(): Promise<any>;
get isAttached(): boolean;
// (undocumented)
Expand Down
15 changes: 14 additions & 1 deletion packages/runtime/datastore/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,20 @@
"typescript": "~5.4.5"
},
"typeValidation": {
"broken": {},
"broken": {
"Class_FluidDataStoreRuntime": {
"backCompat": false
},
"Class_FluidObjectHandle": {
"backCompat": false
},
"ClassStatics_FluidDataStoreRuntime": {
"backCompat": false
},
"ClassStatics_FluidObjectHandle": {
"backCompat": false
}
},
"entrypoint": "legacy"
}
}
Loading
Loading