tree: Shared branches#25461
Merged
yann-achard-MS merged 36 commits intomicrosoft:mainfrom Sep 23, 2025
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR introduces support for shared branches in the tree data structure. The feature allows clients to create multiple branches that are shared across all clients, enabling collaborative editing scenarios with branching workflows.
Key Changes:
- Added new vSharedBranches format version (100) for supporting shared branches functionality
- Extended ITreeAlpha interface with methods for creating and viewing shared branches
- Enhanced id-compressor test utilities to support deterministic seeding for shared branch testing
Reviewed Changes
Copilot reviewed 75 out of 76 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| packages/runtime/id-compressor/src/test/idCompressorTestUtilities.ts | Added seed parameter to createAlwaysFinalizedIdCompressor for deterministic ID generation |
| packages/framework/fluid-framework/api-report/fluid-framework.alpha.api.md | Added shared branch methods to ITreeAlpha interface and new vSharedBranches format version |
| packages/dds/tree/src/test/utils.ts | Enhanced test utilities with seed support and version filtering for encoding tests |
| Various snapshot files | Added comprehensive test snapshots for the new vSharedBranches format |
Comments suppressed due to low confidence (2)
packages/dds/tree/src/test/utils.ts:1
- The casting of
random.uuid4()toSessionIdbypasses type safety. Consider using a helper function that validates the UUID format before casting, or use the existingcreateSessionId()function to ensure proper type safety and validation.
/*!
packages/dds/tree/src/test/utils.ts:1
- Similar to the previous issue, this casting of
random.uuid4()toSessionIdbypasses type safety. Consider using a helper function or the existingcreateSessionId()function to maintain proper type validation.
/*!
taylorsw04
approved these changes
Sep 23, 2025
Contributor
|
🔗 No broken links found! ✅ Your attention to detail is admirable. linkcheck output |
anthony-murphy-agent
pushed a commit
to anthony-murphy-agent/FluidFramework
that referenced
this pull request
Jan 14, 2026
## Description This PR allows clients to create multiple branches which are shared by all clients. This PR introduces new formats that are NOT meant to be used in production. ## Breaking Changes None --------- Co-authored-by: Yann Achard <achardy@microsoft.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR allows clients to create multiple branches which are shared by all clients.
This PR introduces new formats that are NOT meant to be used in production.
Breaking Changes
None