Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@smoogipoo
Copy link
Contributor

Split out from #34815

As I mentioned internally, during JoinRoom there's a small window where events could be coming in and fail the Room != null check because we're busy doing a few more operations, such as looking up online users.

This turns out to be more of a problem with matchmaking because all users are joined to the room simultaneously, but it can also happen in a standard multiplayer match and lead a desynchronised state.

The change here can only be classified as a hacky workaround. We'll need to do this better in the future, likely by reworking the room join process in the first place.

@peppy peppy moved this from Next up to Pending Review in osu! untitled project Aug 28, 2025
@smoogipoo smoogipoo requested a review from a team September 1, 2025 01:51
@smoogipoo smoogipoo self-assigned this Sep 1, 2025
@bdach bdach self-requested a review September 2, 2025 08:34
Copy link
Collaborator

@bdach bdach left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

probably fine. @peppy not sure if you want to go over this

@peppy peppy self-requested a review September 2, 2025 09:16
return tcs.Task;
}

private void handleRoomRequest(Action request)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The previous code has forceSchedule = false while the new flow doesn't, can one of you two confirm this is known and expected?

Re-reviewing this as a whole seems like it may take a bit of time so I'd rather just confirm this-is-okay and go with it.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Earliest reference I can find is #11316. At the time the join/leave task chain didn't exist and the scheduler was relied on as an ordering mechanism, so I don't think there's much purpose to the forceSchedule these days.

Copy link
Member

@peppy peppy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's get it on tachyon

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

3 participants