Skip to content

Fix startup stall#39521

Merged
jwhitak merged 2 commits into
vgstation-coders:Bleeding-Edgefrom
Inorien:fixsetupstall
Jul 22, 2026
Merged

Fix startup stall#39521
jwhitak merged 2 commits into
vgstation-coders:Bleeding-Edgefrom
Inorien:fixsetupstall

Conversation

@Inorien

@Inorien Inorien commented Jul 22, 2026

Copy link
Copy Markdown
Collaborator

tfw this PR was GONE it was DISAPPEAREDED from github for two weeks and no one noticed lol

What this does

Fix a startup stall that can prevent the round from starting.
I had a whole thing written up on the last PR but that PR has vanished under mysterious circumstances.
weird huh

Anyway roughly what happens is:

  • Game is in lobby counting down
  • A client disconnects for some reason but isn't fully dead, Byond is helpfully still holding part of it
  • When the timer hits 0 it tries to update the new player setup window from the pre-start variant (i.e. the one with Declare Ready on it and stuff) to the post-start variant (with the join button on it)
  • Doing this involves a winset to deal with DPI scaling, but Byond will just wait on this winset if the client isn't answering, which is exactly what was happening with the above mentioned dead client
  • When the client is finally dropped the round proceeds

The fix involves caching dpi on the client (pre-existing) and using the cached dpi rather than using a synchronous winset in that critical path. The price of this is that DPI is likely wrong on the New Player Setup window

This PR might also fix failures to connect where the game just dies instead of connecting. Hard to verify though

Why it's good

people lose their fuckin minds when the game is supposed to start but doesn't

How it was tested

  • Launched a client and connected to server
  • In Process Explorer, suspend DreamSeeker as the timer approaches 0 (this simulates a dead client not responding to the server)
  • Before fix observe the roundstart just stall
  • After fix observe roundstart proceed normally

Changelog

🆑

  • bugfix: Fixed a bug that could stall round start

Inorien added 2 commits July 8, 2026 08:00
remove synchronous winget call from setup
@jwhitak
jwhitak merged commit 2f55971 into vgstation-coders:Bleeding-Edge Jul 22, 2026
5 checks passed
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.

2 participants