Skip to content

fix: LoadEventCompleted scene event not invoked when a client disconnects before finishing loading a scene [MTT-3396] #1973

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

Conversation

NoelStephensUnity
Copy link
Collaborator

@NoelStephensUnity NoelStephensUnity commented May 16, 2022

This resolves #1902 where during a scene event (loading or unloading) if a client disconnects the event complete notification would wait until the scene loading timeout period before completing.
MTT-3396

Changelog

  • Fixed issue where one or more clients disconnecting during a scene event would cause LoadEventCompleted or UnloadEventCompleted to wait until the NetworkConfig.LoadSceneTimeOut period before being triggered.

Testing and Documentation

  • Includes integration tests.

This allows me to test this bug to verify it is no longer happening.
This fixes the issue where if a client disconnects during a scene event it would not get completed.
This will also fix an exception on the client side where if the client was disconnected during a scene event while in the middle of loading or unloading a scene it will not try to continue processing the event.
This includes the integration test that validates the fix.
This also includes some minor adjustments to the integration test scene handler to account for handling a client disconnecting in the middle of a scene loading event.
MTT-3396
Adding additional code that tracks the initial clients that were connected when the scene event starts in order to provide an accurate list of clients that timed out during scene loading.
Cleaned up some of the code in the integration test as well as added additional comments.
@NoelStephensUnity NoelStephensUnity requested a review from a team as a code owner May 16, 2022 21:53
NoelStephensUnity and others added 4 commits May 17, 2022 16:23
Fixing an issue where if a virtual mac machine was running slower than expected it would time out on certain deferred message tests.  The primary area impacted was WaitForMessageOfTypeReceived which seemed to not use the DefaultTimeout value but 0.5s as the maximum time it would wait for the message.
This just changes the timeout to the Default timeout for WaitForMessageOfTypeReceived and I noticed WaitForMessageOfTypeHandled used 0.5s for the default time out period and set that to use the DefaultTimeout.
increasing the timeout period.
@NoelStephensUnity NoelStephensUnity merged commit 75c646a into develop May 23, 2022
@NoelStephensUnity NoelStephensUnity deleted the fix/mtt-3396-loadEventcompleted-not-invoked-when-client-disconnects branch May 23, 2022 22:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

LoadEventCompleted scene event not invoked when a client disconnects before finishing loading a scene
3 participants