FluidFramework icon indicating copy to clipboard operation
FluidFramework copied to clipboard

Local reference obliterate sided

Open titrindl opened this issue 1 year ago • 4 comments

Adds sidedness to obliterateRange endpoints. Instead of just number positions, start and end can be specified as SequencePlaces, allowing for a variety of different endpoint expansion behaviors.

The start place of the obliterated range can be:

  1. Inclusive, where side === Side.Before (this is the default if a number position is provided)
  2. Exclusive, where side === Side.After The end place of the obliterated range can be:
  3. Inclusive, where side === Side.After (this is the default if a number position is provided)
  4. Exclusive, where side === Side.Before

When an exclusive endpoint is provided, concurrent inserts on that side of the obliterated range will be included in the obliteration.

titrindl avatar Sep 17 '24 22:09 titrindl

The file isn't in this PR, but there are 2 tests in obliterate.spec.ts that will fail now, since they check that the obliterate range doesn't expand to include adjacently inserted segments. You can probably just delete them, since I think rangeExpansion.spec.ts takes care of inserts adjacent to where we actually do want to expand.

@jzaffiro obliterate.spec.ts still passes, because I didn't turn on the sidedness feature flag there. Even if we do turn the sidedness feature flag on, those tests should continue to pass due to our decision to default to inclusive endpoints.

titrindl avatar Sep 17 '24 23:09 titrindl

🔗 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:
  406258 links
    3155 destination URLs
       2 URLs ignored
       0 warnings
       0 errors


github-actions[bot] avatar Sep 18 '24 00:09 github-actions[bot]

@fluid-example/bundle-size-tests: +10.56 KB
Metric NameBaseline SizeCompare SizeSize Diff
aqueduct.js 460.43 KB 463.9 KB +3.47 KB
azureClient.js 559.03 KB 559.08 KB +49 Bytes
connectionState.js 680 Bytes 680 Bytes No change
containerRuntime.js 261.68 KB 261.69 KB +14 Bytes
fluidFramework.js 402.58 KB 402.6 KB +14 Bytes
loader.js 134.17 KB 134.19 KB +14 Bytes
map.js 42.43 KB 42.44 KB +7 Bytes
matrix.js 145.87 KB 149.35 KB +3.48 KB
odspClient.js 526.18 KB 526.23 KB +49 Bytes
odspDriver.js 97.8 KB 97.82 KB +21 Bytes
odspPrefetchSnapshot.js 42.76 KB 42.78 KB +14 Bytes
sharedString.js 162.83 KB 166.25 KB +3.42 KB
sharedTree.js 393.05 KB 393.05 KB +7 Bytes
Total Size 3.3 MB 3.31 MB +10.56 KB

Baseline commit: d96f2970de26034a8580c314b8a372ada74fa1e5

Generated by :no_entry_sign: dangerJS against bb248671b0ab8203b58ee8cb44fd0e6ab3dd5d19

msfluid-bot avatar Sep 18 '24 00:09 msfluid-bot

there is quite a lot in this PR. i think it would be good to break it apart where possible.

anthony-murphy avatar Sep 18 '24 17:09 anthony-murphy

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!