FluidFramework icon indicating copy to clipboard operation
FluidFramework copied to clipboard

WIP - Expose API to pick SharedTree persisted format version

Open alexvy86 opened this issue 1 year ago • 2 comments

Description

Proof of concept of a way in which we could expose the SharedTree persisted format version so users could choose which one to use. Maybe this approach does a bit more work than necessary (exposing configuredSharedTree() as @alpha instead of @internal might be ok, although that exposes more options than just the persisted format version).

Reviewer Guidance

The review process is outlined on this wiki page.

One thing that feels particularly tricky to me is that the single format version gets mapped internally to multiple codec versions for different parts of SharedTree, and not all of them necessarily get exercised at the time we load the container (the one for loading the summary does, for example; but the one for ops might not... unless there are trailing ops; not entirely sure what the others are for). So ensuring a) that we fail when any version mismatch is encountered (under the assumption that we expose the format very conservatively to begin with, in a "only work with this version" way) and b) quick enough so that the container cannot be used at all in case of mismatch, seems potentially complicated and brittle.

AB#8902

alexvy86 avatar Aug 23 '24 20:08 alexvy86

Baseline CI build failed, cannot generate bundle analysis at this time


Baseline commit: 72b014857a1531d565282bd3a7887c75193b138e

Generated by :no_entry_sign: dangerJS against 872b463a95e726313970343d230c13f3a6d3c601

msfluid-bot avatar Aug 23 '24 21:08 msfluid-bot

🔗 No broken links found! ✅

Your attention to detail is admirable.

linkcheck output


> [email protected] ci:linkcheck /home/runner/work/FluidFramework/FluidFramework/docs
> start-server-and-test ci:start 1313 linkcheck:full

1: starting server using command "npm run ci:start"
and when url "[ 'http://127.0.0.1:1313' ]" is responding with HTTP status code 200
running tests using command "npm run linkcheck:full"


> [email protected] ci:start
> http-server ./public --port 1313 --silent


> [email protected] linkcheck:full
> npm run linkcheck:fast -- --external


> [email protected] linkcheck:fast
> linkcheck http://localhost:1313 --skip-file skipped-urls.txt --external

Crawling...

Stats:
  378023 links
    2980 destination URLs
       2 URLs ignored
       0 warnings
       0 errors


github-actions[bot] avatar Sep 04 '24 16:09 github-actions[bot]

This PR has been automatically marked as stale because it has had no activity for 60 days. It will be closed if no further activity occurs within 8 days of this comment. Thank you for your contributions to Fluid Framework!