From f9c38aa38a0fb7e8429ae94ff8b7c9458ce3e2dd Mon Sep 17 00:00:00 2001 From: Sonali Deshpande <48232592+sonalideshpandemsft@users.noreply.github.com> Date: Wed, 31 Dec 2025 21:12:35 +0000 Subject: [PATCH] Add path to clear event --- .changeset/wacky-results-prove.md | 25 +++++++++++++++++++ .../dds/map/api-report/map.legacy.beta.api.md | 2 +- packages/dds/map/src/interfaces.ts | 7 +++++- .../fluid-framework.legacy.beta.api.md | 2 +- 4 files changed, 33 insertions(+), 3 deletions(-) create mode 100644 .changeset/wacky-results-prove.md diff --git a/.changeset/wacky-results-prove.md b/.changeset/wacky-results-prove.md new file mode 100644 index 000000000000..5d50be192a79 --- /dev/null +++ b/.changeset/wacky-results-prove.md @@ -0,0 +1,25 @@ +--- +"fluid-framework": minor +"@fluidframework/map": minor +"__section": breaking +--- + +## directory: Path parameter added to clear event + +The `clear` event for SharedDirectory now includes a `path` parameter indicating which directory was cleared. + +**Before:** +```typescript +sharedDirectory.on("clear", (local, target) => { + // No way to know which subdirectory was cleared +}); +``` + +**After:** +```typescript +sharedDirectory.on("clear", (path, local, target) => { + // path tells you which directory was cleared (e.g., "/", "/subdir1", "/subdir2") +}); +``` + +This change provides better observability by allowing listeners to distinguish between clear operations on different subdirectories within the SharedDirectory hierarchy. diff --git a/packages/dds/map/api-report/map.legacy.beta.api.md b/packages/dds/map/api-report/map.legacy.beta.api.md index 088d9b391338..f3be6204be6e 100644 --- a/packages/dds/map/api-report/map.legacy.beta.api.md +++ b/packages/dds/map/api-report/map.legacy.beta.api.md @@ -78,7 +78,7 @@ export interface ISharedDirectory extends ISharedObject void): any; - (event: "clear", listener: (local: boolean, target: IEventThisPlaceHolder) => void): any; + (event: "clear", listener: (path: string, local: boolean, target: IEventThisPlaceHolder) => void): any; (event: "subDirectoryCreated", listener: (path: string, local: boolean, target: IEventThisPlaceHolder) => void): any; (event: "subDirectoryDeleted", listener: (path: string, local: boolean, target: IEventThisPlaceHolder) => void): any; } diff --git a/packages/dds/map/src/interfaces.ts b/packages/dds/map/src/interfaces.ts index 07f2c3db3553..034b7054306a 100644 --- a/packages/dds/map/src/interfaces.ts +++ b/packages/dds/map/src/interfaces.ts @@ -155,11 +155,16 @@ export interface ISharedDirectoryEvents extends ISharedObjectEvents { * * @remarks Listener parameters: * + * - `path` - The absolute path to the directory that was cleared. + * * - `local` - Whether the clear originated from this client. * * - `target` - The {@link ISharedDirectory} itself. */ - (event: "clear", listener: (local: boolean, target: IEventThisPlaceHolder) => void); + ( + event: "clear", + listener: (path: string, local: boolean, target: IEventThisPlaceHolder) => void, + ); /** * Emitted when a subdirectory is created. diff --git a/packages/framework/fluid-framework/api-report/fluid-framework.legacy.beta.api.md b/packages/framework/fluid-framework/api-report/fluid-framework.legacy.beta.api.md index 4526017afd27..4b92e5257109 100644 --- a/packages/framework/fluid-framework/api-report/fluid-framework.legacy.beta.api.md +++ b/packages/framework/fluid-framework/api-report/fluid-framework.legacy.beta.api.md @@ -800,7 +800,7 @@ export interface ISharedDirectory extends ISharedObject void): any; - (event: "clear", listener: (local: boolean, target: IEventThisPlaceHolder) => void): any; + (event: "clear", listener: (path: string, local: boolean, target: IEventThisPlaceHolder) => void): any; (event: "subDirectoryCreated", listener: (path: string, local: boolean, target: IEventThisPlaceHolder) => void): any; (event: "subDirectoryDeleted", listener: (path: string, local: boolean, target: IEventThisPlaceHolder) => void): any; }