FluidFramework icon indicating copy to clipboard operation
FluidFramework copied to clipboard

Fix ConnectionStateHandler logic around leave timer & stashed ops workflow

Open vladsud opened this issue 9 months ago • 1 comments

  1. Add UT case that catches the problem (if no other changes are made).
  2. Remove incorrect code that starts leave timer where it's not required (ConnectionStateHandler.ts)
  3. Suggests possible fix (Container.ts) for stashed ops worfklow. It's a bit ugly. Happy to hear better ideas.

Overall note: I think that's not the only shoe to drop. Exposing clientId from previous client that early in boot sequence, and essentially making some events go backwards in time (addMember / removeMember events in Quorum fire after we have established clientId) may be problematic in other areas, including in consumers of FF. In other words, users of the system may not expect such reverse flow of events. In places where they run into it, they may not understand why and how it happens, and may produce incorrect changes to deal with them, or reduce invariant checks and thus reduce code integrity.

vladsud avatar May 16 '24 06:05 vladsud

@fluid-example/bundle-size-tests: +42 Bytes
Metric NameBaseline SizeCompare SizeSize Diff
aqueduct.js 453.34 KB 453.34 KB No change
azureClient.js 552.54 KB 552.55 KB +12 Bytes
connectionState.js 680 Bytes 680 Bytes No change
containerRuntime.js 257.02 KB 257.02 KB No change
fluidFramework.js 359.88 KB 359.88 KB No change
loader.js 134.34 KB 134.36 KB +18 Bytes
map.js 41.53 KB 41.53 KB No change
matrix.js 143.75 KB 143.75 KB No change
odspClient.js 520.9 KB 520.91 KB +12 Bytes
odspDriver.js 97.3 KB 97.3 KB No change
odspPrefetchSnapshot.js 42.16 KB 42.16 KB No change
sharedString.js 160.27 KB 160.27 KB No change
sharedTree.js 359.86 KB 359.86 KB No change
Total Size 3.2 MB 3.2 MB +42 Bytes

Baseline commit: 7dea35e751deaab07700bb49b089111b5d66a352

Generated by :no_entry_sign: dangerJS against d203b90e4d729208bfb385e40efb6ebe163c4f65

msfluid-bot avatar May 16 '24 23:05 msfluid-bot