Improve update check#972
Conversation
As the version resolution is not critical it's likely better to have it here. The previously used `backgroundExecutor` is used for internal resource reloading during game initialization which can cause it to get stuck when the download hangs (e.g. when using 3rd party mods that modify resource reloading like Continuity)
3567809 to
7d8cb9d
Compare
|
Frankly, I am not as clear as I would like to be on how this works, and lacking in time to understand it. However, now is the time for some risks since we are still very alpha for 26.1. I am going to merge it and deal with whatever happens later when it happens. |
Uhm it works by 1. using a different thread pool and 2. not calling the blocking |
That's a functional description of the changes, which are more extensive than that description might lead a person to expect. A standard try-with-resources which wrapped the entire function is replaced with a different approach. Also while you may know the purpose and function of the various thread pools, to somebody who does not it is quite opaque. My comment merely indicated I had to take it on faith this new implementation is correct and that if it isn't, hopefully that will come to light during the alpha stage of ModMenu for 26.1. If I backport it, that will be after it's been in 26.1 long enough I'm comfortable it's not introducing new bugs. |
|
And #1016 is a pretty good example of the kind of thing I was generally concerned about. :) |
This should address 2 problems from #953 (comment)
checkForUpdates0)checkForUpdates0to finish - This is not needed and just blocks the underlying threadIt might also be helpful to backport these changes