Skip to main content

SharedTreeOptions Interface

Configuration options for SharedTree with alpha features.

This API is provided as an alpha preview and may change without notice.

To use, import via @fluidframework/tree/alpha.

For more information about our API support guarantees, see here.

Input

This type is "input," meaning that code outside of the library defining it should not read from it. Future versions of this type may add optional members or make typing of members more general.

Signature

export interface SharedTreeOptions extends SharedTreeOptionsBeta, Partial<CodecWriteOptions>, Partial<SharedTreeFormatOptions>

Extends: SharedTreeOptionsBeta, Partial<CodecWriteOptions>, Partial<SharedTreeFormatOptions>

Properties

PropertyAlertsModifiersDefault ValueTypeDescription
enableSharedBranchesAlphaoptional, readonlybooleanExperimental feature flag to enable shared branches. This feature is not yet complete and should not be used in production. Defaults to false.
retainHistoryAlphaoptional, readonlyfalsebooleanWhen true, prevents trunk commits from being trimmed/evicted, even after they fall outside the collaboration window.
shouldEncodeIncrementallyAlphaoptionalIncrementalEncodingPolicyReturns whether a node / field should be incrementally encoded.

Property Details

enableSharedBranches

Experimental feature flag to enable shared branches. This feature is not yet complete and should not be used in production. Defaults to false.

This API is provided as an alpha preview and may change without notice.

For more information about our API support guarantees, see here.

Signature

readonly enableSharedBranches?: boolean;

Type: boolean

retainHistory

When true, prevents trunk commits from being trimmed/evicted, even after they fall outside the collaboration window.

This API is provided as an alpha preview and may change without notice.

For more information about our API support guarantees, see here.

Signature

readonly retainHistory?: boolean;

Type: boolean

Remarks

By default, SharedTree evicts trunk commits once all peers have acknowledged them (i.e. once they are outside the collaboration window), and they are not otherwise retained (e.g. by revertibles or local branches), to bound memory usage. Enabling this flag retains the full trunk history for the lifetime of the client, which increases memory usage over time and should be used with care.

shouldEncodeIncrementally

Returns whether a node / field should be incrementally encoded.

This API is provided as an alpha preview and may change without notice.

For more information about our API support guarantees, see here.

Signature

shouldEncodeIncrementally?: IncrementalEncodingPolicy;

Type: IncrementalEncodingPolicy

Remarks

See IncrementalEncodingPolicy.