-
Notifications
You must be signed in to change notification settings - Fork 528
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improvements in pending state transitions related to presence of clientId #20768
Conversation
f6e8a78
to
edbffb4
Compare
⯅ @fluid-example/bundle-size-tests: +435 Bytes
Baseline commit: fb1c1da |
FYI - Looks like this PR conflicts with #20427, and possibly some of the issues raised in this PR are addressed by it. |
Hi Vlad. I think most of your concerns were solved in the PR you mentioned above. Once we stopped dropping the clientID, all sort of bugs and fishy behavior surfaced, which were solved in that PR. Let me know if you still have concerns about points 1 through 4, since 5 most likely hasn't been fixed. |
Forked savedOp changed into #20837. |
… using "read" connection. (#20817) First step to enable Audience to have same behavior for "read" and "write" clients - "connected" event raised when "self" is present in Audience. Next step: - client is caught up with latest ops. For deeper description of work in this space, please see first PR below. This is continuation of this work: - #20703 - #20752 - #20704 - #20745 - #20766 And active PRs (do not block this PR, but make whole story more consistent for serialized / rehydrated containers): - #20768 - #20767 Changeset added in previous PR in the same version (part of it should have been included in this PR, but made it earlier by accident): [.changeset/cruel-trees-dance.md](https://github.com/microsoft/FluidFramework/pull/20215/files#diff-8f706b3e769f698985bea8fbf9bb3fb0a0a8798de53ad3f51cbace1dd3d1d2b2)
Closing in favor of
Note - I made a mistake on Line 206 in pendingStatemanager.ts in this PR. Comparison should have been (for "initial ops") based on sequence number! Same issue as in first PR - thinking in sequence numbers is hard! |
I might be wrong with the direction of this PR - it's based on my understanding / learning of how code works, based on tracing code and running through tests. If I'm wrong, consider that my learning exercise :)
I started with making one line change in serializedStateManager.ts, in order to bring more consistency (as part of #20767) to states we present to the user, including through reloads.
But I run into a bunch of problems that do look like bugs, or at lease very hard to follow implicit dependencies that are not documented anywhere.