Dean Herbert
82e7643df5
Update IPC usages
...
Of note, I've disabled IPC on visual test runners as we generally don't
use IPC in these cases. Having it set means that the game will not open
while visual tests are open, which has been a complaint from devs in the
past.
2024-01-18 19:45:36 +09:00
Bartłomiej Dach
1e3c332658
Fix broken installer
...
Closes https://github.com/ppy/osu/issues/26510 .
Time for a rant.
Technically, this "broke" with 9e8d07d314
,
but it is actually an end result of upstream behaviours that I am
failing to find a better description for than "utterly broken".
Squirrel (the installer we use) has unit tests. Which is great, power
to them. However, the method in which that testing is implemented leads
to epic levels of WTF breakage.
To determine whether Squirrel is being tested right now, it is checking
all currently loaded assemblies, and determining that if any loaded
assembly contains the magic string of "NUNIT" - among others - it must
be being tested right now:
2442721748/src/Squirrel/SimpleSplat/PlatformModeDetector.cs (L17-L32)
If one assumes that there is no conceivable way that an NUnit assembly
*may* be loaded *without* it being a test context, this *may* seem sane.
Foreshadowing.
(Now, to avoid being hypocritical, we also do this, *but* we do this
by checking if the *entry* assembly is an NUnit:
92db55a527/osu.Framework/Development/DebugUtils.cs (L16-L34)
which seems *much* saner, no?)
Now, why did this break with 9e8d07d314
*specifically*, you might wonder?
Well the reason is this line:
3d3f58c252/osu.Desktop/NVAPI.cs (L183)
Yes you are reading this correctly, it's not NVAPI anything itself that
breaks this, it is *a log statement*. To be precise, what the log
statement *does* to provoke this, is calling into framework. That causes
the framework assembly to load, *which* transitively loads the
`nunit.framework` assembly.
(If you ever find yourself wanting to find out this sort of cursed
knowledge - I hope you never need to - you can run something along
the lines of
dotnet-trace collect --providers Microsoft-Windows-DotNETRuntime:4 -- .\osu!.exe
then open the resulting trace in PerfView, and then search the
`Microsoft-Windows-DotNETRuntime/AssemblyLoader/Start` log for
the cursed assembly. In this case, the relevant entry said something
along the lines of
HasStack="True"
ThreadID="23,924"
ProcessorNumber="0"
ClrInstanceID="6"
AssemblyName="nunit.framework, Version=3.13.3.0, Culture=neutral, PublicKeyToken=2638cd05610744eb"
AssemblyPath=""
RequestingAssembly="osu.Framework, Version=2024.113.0.0, Culture=neutral, PublicKeyToken=null"
AssemblyLoadContext="Default"
RequestingAssemblyLoadContext="Default"
ActivityID="/#21032/1/26/"
Either that or just comment the log line for kicks. But the above
is *much* faster.)
Now, what *happens* if Squirrel "detects" that it is being "tested"?
Well, it will refuse to close after executing the "hooks" defined via
`SquirrelAwareApp`:
2442721748/src/Squirrel/SquirrelAwareApp.cs (L85-L88)
and it will also refuse to create version shortcuts:
2442721748/src/Squirrel/UpdateManager.Shortcuts.cs (L63-L65)
Sounds familiar, don't it?
There are days on which I tire of computers. Today is one of them.
2024-01-13 22:04:21 +01:00
Bartłomiej Dach
474c416bd9
Make dotnet format
shut up about naming
2024-01-03 10:05:11 +01:00
Dean Herbert
d38f8d9c78
Change threaded optimisations setting to "Auto" on startup
2024-01-03 15:41:08 +09:00
Dean Herbert
9e8d07d314
Add NVAPI and force thread optimisations on
...
This undoes what stable does to force this setting off.
2024-01-03 15:41:08 +09:00
Bartłomiej Dach
d66fa09320
Simplify UserStatus
to be an enumeration type
...
There were absolutely no gains from having it be a reference type /
class, only complications, especially when coming from the serialisation
angle.
2023-12-06 18:52:27 +01:00
Bartłomiej Dach
cb823f367f
Simplify UserActivity
for serialisability over the wire
...
Up until now, the `UserActivity` class hierarchy contained things like
beatmap info, room info, full replay info, etc. While this was
convenient, it is soon going to be less so, as the data is sent over the
wire to the spectator server so that the user's activity can be
broadcast to other clients.
To counteract this without creating a second separate and slimmed-down
class hierarchy, slim down the `UserActivity` structure to contain the
bare minimum amounts of data such that the structures aren't overly
large and complex to serialise, but also contain enough data that they
can be used by receiving clients directly without having to do beatmap
or score lookups.
2023-12-06 18:52:26 +01:00
Dean Herbert
12a148d108
Use new initialisation structure for github sourced update manager
2023-11-09 12:26:41 +09:00
Dean Herbert
02d9f005d0
Update squirrel to latest release
...
Quite a few fixes since our last update. See https://github.com/clowd/Clowd.Squirrel/releases .
Of special note is [a fix for incomplete updates](https://github.com/clowd/Clowd.Squirrel/issues/182 )
which I believe we've seen cause issues in the wild before.
2023-11-07 21:28:36 +09:00
Dean Herbert
56b5f52e83
Update all dependencies (except for Moq)
2023-09-16 15:37:31 +09:00
Dean Herbert
56a4989f71
Disable IPC binding in tournament client to allow running concurrently
2023-08-16 16:55:48 +09:00
Bartłomiej Dach
37361cd683
Repurpose Flat{File -> }WorkingBeatmap
2023-08-12 00:49:42 +02:00
Bartłomiej Dach
17aac0694e
Re-enable connection retrying on discord connector
2023-07-17 19:19:03 +02:00
Dean Herbert
a6b1559e1f
Update DiscordRichPresence
to pull in performance fix
...
See https://github.com/Lachee/discord-rpc-csharp/pull/237
2023-07-17 02:24:51 +09:00
Dean Herbert
4ee1f6a49f
Merge pull request #24092 from Susko3/fix-manifest-dpi
...
Merge `app.manifest`s and let framework set DPI awareness options
2023-07-11 14:12:28 +09:00
Dean Herbert
1d9d90e6e3
Merge branch 'master' into framework-IWindow-changes
2023-07-07 20:57:48 +09:00
Dean Herbert
d74b1e148d
Make ScoreInfo.BeatmapInfo
nullable
2023-07-04 14:50:34 +09:00
Susko3
e38ac4185c
Update inline with framework IWindow
changes
2023-07-01 19:02:09 +02:00
Susko3
e505e71d07
Merge the two app.manifest
files
2023-06-30 21:40:00 +02:00
Dean Herbert
c3f772f0da
Add method to queue a restart after app is exited (when supported)
2023-06-21 19:06:28 +09:00
Salman Ahmed
25fa4a2eb5
Move DragDrop
handling to base game implementation for iOS support
2023-06-17 20:30:22 +03:00
Dean Herbert
7cf50b1e18
Disallow game to check for updates while gameplay is active
2023-05-23 18:06:04 +09:00
Dean Herbert
09899819c9
Merge pull request #22914 from Susko3/remove-arbitrary-extension-limitation
...
Remove arbitrary extension limitation from drag and drop imports
2023-03-20 14:55:03 +09:00
Dean Herbert
11f52d5bf4
Remove unused using statement
2023-03-20 14:01:35 +09:00
Susko3
b254dbd7ca
Remove arbitrary extension limitation from drag and drop imports
...
`OsuGameBase` already properly handles multiple extensions in the same import.
2023-03-19 17:37:49 +01:00
Susko3
48b6e214af
Fix URL handling on macOS
2023-03-19 17:14:25 +01:00
Joseph Madamba
afb66d8af4
Make user activity class names more specific
2023-02-12 12:32:17 -08:00
Bartłomiej Dach
7b2c5ab7eb
Merge pull request #22608 from peppy/update-dependencies
...
Update realm and other dependencies
2023-02-11 12:37:02 +01:00
Dean Herbert
20f3ab167e
Re-centralise BannedApiAnalysers
nuget package
2023-02-11 19:36:40 +09:00
Dean Herbert
0c5dae5f26
Merge pull request #22529 from ItsShamed/dsc/presence
...
Add support for `Watching` and `Spectating` activities in `ReplayPlayer` and `SoloSpectatingPlayer`
2023-02-11 17:29:47 +09:00
Dean Herbert
86c8675910
Update realm and other dependencies
2023-02-11 13:52:24 +09:00
tsrk
da10166628
quality: convert getter property to method so that sensible information can be hidden via an argument
2023-02-06 21:30:55 +00:00
tsrk
bc89f8dc5b
feat: add name and rulset verb display support
2023-02-06 12:44:00 +00:00
Susko3
5087377da6
Use IPC archive import in OsuGameDesktop
2023-02-03 18:57:50 +01:00
Dan Balasescu
7bc8908ca9
Partial everything
2022-11-27 00:00:27 +09:00
Dean Herbert
923d44a769
Update dependencies
2022-11-04 17:00:58 +09:00
Salman Ahmed
27ce3d8342
Fix input settings not displaying in visual test browser
2022-10-21 01:52:19 +03:00
Dean Herbert
e06ece7531
Update framework
2022-10-05 14:19:51 +09:00
Dean Herbert
65d1c40dd5
Remove remaining package references and replace with SQLitePCLRaw
direct reference
...
This may require further consideration for test and iOS projects.
2022-09-15 16:58:58 +09:00
Dean Herbert
40a60f7145
Remove all entity framework code and migrations
2022-09-15 16:58:58 +09:00
Dean Herbert
eca241e9a7
Move UpdateProgressNotification
to base UpdateManager
class
2022-09-12 14:52:11 +09:00
Dean Herbert
d13e353a53
Fix double colour application in update progress notification
...
I'd like to restore it to yellow, but let's clean the slate first.
2022-09-02 03:03:35 +09:00
Dean Herbert
09aa3e065d
Move colouring to full icon content rather than background
2022-08-30 18:06:48 +09:00
Salman Ahmed
b00c3a4d6d
Move properties and mark as get-only
2022-08-03 20:31:51 +03:00
andy840119
8b02c955d8
Give this class a constructor to make sure that message data will always assigned.
2022-08-03 23:17:09 +08:00
andy840119
8d175bc402
Remove the null check.
2022-08-02 23:14:08 +08:00
andy840119
c8c2758d63
give the object a default value(null).
2022-08-02 23:02:14 +08:00
andy840119
13b2441c51
give the field a default value.
2022-08-02 22:29:54 +08:00
andy840119
11a4bb5833
Prevent return the null value.
2022-08-02 22:29:54 +08:00
andy840119
78cc28d75f
Remove nullable disable annotation and fix the api broken.
2022-08-02 22:29:54 +08:00
Dean Herbert
a5f48e336a
Isolate development builds' storage from release builds
2022-08-01 14:38:02 +09:00
Susko3
38a8b9cf0a
Add battery info for desktop platforms
2022-07-30 14:26:19 +02:00
Dean Herbert
09613f1af3
Add mention of "compatibility mode" in windows version check error message
2022-07-19 17:25:52 +09:00
Susko3
cf7af0061c
Add Touch input handler settings section
2022-07-16 15:20:15 +02:00
Salman Ahmed
c046585842
Fix unsupported OS message stating Windows 8 to be supported
2022-07-12 18:29:17 +03:00
Dean Herbert
a36f786725
Change minimum version to Windows 8.1 instead of Windows 8
2022-07-12 16:16:46 +09:00
Dean Herbert
10a14f39ed
Show an error message on startup when attempting to run on an unsupported version of windows
...
A lot of sentry error reports are coming from realm / EF failures due to the host operating system being too old. Let's give the user some proper feedback rather than a silent crash and error report hitting our logging.
2022-07-12 15:48:36 +09:00
Dean Herbert
44d2e001ed
Update various dependencies
2022-07-11 20:16:49 +09:00
Dean Herbert
31a447fda0
Update parameter discards
2022-06-24 21:26:19 +09:00
Bartłomiej Dach
6807d0e44f
Merge branch 'master' into osu-link-ipc
2022-06-21 07:27:35 +02:00
Bartłomiej Dach
ee96d84ffa
Merge branch 'master' into input-settings
2022-06-20 22:55:43 +02:00
Bartłomiej Dach
330af7ec74
Handle osu://
scheme links via IPC in desktop game
2022-06-20 21:26:22 +02:00
Dean Herbert
50e40756c4
Rename GracefullyExit
to AttemptExit
2022-06-19 12:34:44 +09:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Dean Herbert
c55c7becba
Always use current ruleset to ensure URL is valid
2022-06-15 02:38:44 +09:00
Dean Herbert
1951eb30bc
Remove call to RegisterUriScheme
...
Seems both unnecessary, and crashes the whole came on macOS.
2022-06-15 02:27:51 +09:00
Dean Herbert
0d36495cfc
Fix up code quality, use more correct URL and update button text
2022-06-15 02:25:06 +09:00
Dean Herbert
cf82843e3d
Merge branch 'master' into jaxxibae/master
2022-06-15 02:15:24 +09:00
Joseph Madamba
e3418f570a
Fix app version not updating on windows uninstaller entry
2022-06-10 20:01:45 -07:00
Dean Herbert
3799689c7d
Tidy up variable naming and layout
2022-06-09 12:32:30 +09:00
tornac1234
caa29e1f9e
Removed ruleset rankings request from DiscordRichPresence.cs
2022-06-01 12:05:24 +02:00
tornac1234
bcee9ac438
Removed IAPIProvider from load and unified it's usage
2022-05-30 23:32:55 +02:00
tornac1234
80fa90f65d
Removed a useless branch in the statistics request
2022-05-30 23:23:54 +02:00
tornac1234
bc1b20291b
Revert "Show beatmap star rating in RPC"
...
This reverts commit a3f5e2458d
.
2022-05-30 23:12:39 +02:00
tornac1234
a3f5e2458d
Show beatmap star rating in RPC
2022-05-30 22:39:49 +02:00
tornac1234
0d7fa3b55c
Added rulesets rankings updating for Discord RPC
2022-05-30 22:39:23 +02:00
Dan Balasescu
3f71224dfc
Package .json files in nupkg output
2022-05-18 14:05:21 +09:00
Dean Herbert
fecf92e16f
Update libraries to latest versions
2022-05-11 19:54:59 +09:00
Salman Ahmed
bcd91ac743
Move exception soft-handling logic to OsuGameBase
2022-05-10 10:02:32 +03:00
Dean Herbert
7e9d51f33f
Fix windows taskbar context menu not popping up correctly
...
Closes https://github.com/ppy/osu/issues/17965 .
Note that this will cause a second osu! icon to appear after running the
application (after any update). As per the inline comment, this will
eventually be resolved via https://github.com/clowd/Clowd.Squirrel/issues/24 .
I do think having context menus working is more important than duplicate
icons.
Note that for anyone who already has a pinned taskbar icon, it will need
to be manually unpinned and repinned after a future update to actually
fix this issue.
Thanks to @caesay for help with investigation.
2022-04-25 18:37:41 +09:00
Salman Ahmed
94335c2938
Update further usages to cache/resolve via interface
2022-04-19 00:18:10 +03:00
Dean Herbert
043599081b
Split out INotificationOverlay
to allow for easier testing
2022-04-18 20:14:01 +09:00
Dean Herbert
f37444938f
Update squirrel to latest version
...
Includes disk space checks and better erroring.
2022-04-18 02:05:15 +09:00
Dean Herbert
0e92486240
Update various licence years to 2022
2022-04-07 22:05:04 +09:00
Huo Yaoyuan
ec4f1bcbc8
Remove outdated NETCore packages.
2022-04-06 19:18:18 +08:00
Dean Herbert
5fb51b578f
Update dependencies
...
Mainly for a `Clowd.Squirrel` bump to fix https://github.com/ppy/osu/discussions/17190 .
2022-03-09 19:09:51 +09:00
Dan Balasescu
e0d2c8ca5e
Merge pull request #17046 from peppy/clowd-squirrel
...
Replace squirrel fork with `Clowd.Squirrel`
2022-03-07 16:25:40 +09:00
Dean Herbert
42e07b7308
Convert to extension method to avoid recursive calls
2022-03-03 14:15:37 +09:00
Dean Herbert
fab9323707
Replace all legacy ruleset checks with a helper property call
2022-03-03 14:08:48 +09:00
Dean Herbert
b286122413
Move uninstaller registry operation to onInitialInstall
2022-03-03 03:54:39 +09:00
Dean Herbert
3aa2d4548a
Add startup squirrel icon/association handling
2022-03-02 17:55:35 +09:00
Dean Herbert
1c705f3b33
Mark osu.Desktop
as squirrel-aware
2022-03-02 17:43:51 +09:00
Dean Herbert
6a4d731eb3
Update obsolete usages in line with Clowd.Squirrel
changes
2022-03-02 17:43:51 +09:00
Dean Herbert
411252e004
Replace squirrel fork with Clowd.Squirrel
2022-03-02 17:01:27 +09:00
Susko3
acf226bb58
Merge branch 'master' into input-settings
2022-02-19 21:28:40 +01:00
Dean Herbert
c869be87d1
Update FlatFileWorkingBeatmap
to not require a ruleset store
2022-02-19 20:53:04 +09:00
Dean Herbert
60153bb69d
Update nuget packages to highest usable versions
...
EF packages are intentionally pinned to 5.0.14 as higher versions no
longer support `netstandard2.1`, which we require for xamarin projects.
2022-02-15 15:19:23 +09:00
Susko3
214b2724de
Merge branch 'master' into input-settings
...
# Conflicts:
# osu.Game/OsuGameBase.cs
# osu.iOS/OsuGameIOS.cs
2022-02-12 11:48:46 +01:00
Dean Herbert
176bb4a4e2
Update desktop projects to target .NET 6
2022-02-10 17:42:09 +09:00
Dean Herbert
5872dabf60
Fix incorrect flag to options conversion
2022-01-25 14:16:15 +09:00
Dean Herbert
dd2caea694
Update GetSuitableHost
usages in line with new HostOptions
2022-01-25 13:52:02 +09:00
Susko3
6e4214de4d
Move VersionManager
from osu.Desktop
to osu.Game
2022-01-15 19:42:38 +01:00
Susko3
f3eaa95041
Move input handler settings creation to OsuGameBase
2022-01-15 14:53:41 +01:00
Susko3
19467e58c1
Remove unused params from BDL methods
2022-01-15 01:06:39 +01:00
Joseph Madamba
66773f6d7d
Use comments to disable identifier typos instead
2022-01-12 15:49:28 -08:00
Joseph Madamba
cdc148f78e
Increase scope of identifier typo disables on special cases
2021-12-29 14:07:36 -08:00
Joseph Madamba
c22a07d9fc
Bump identifier typo inspection and fix remaining identifier names
2021-12-28 11:26:42 -08:00
Joseph Madamba
98524d60a4
Fix clear identifier typos
2021-12-27 20:26:28 -08:00
Dean Herbert
090c3e84e7
Avoid blocking windows key usage when the osu! window is not active
...
As discussed in https://github.com/ppy/osu/discussions/16147 .
2021-12-20 17:40:11 +09:00
Dean Herbert
c08b6cf160
Remove unnecessary StartAsync
call on TcpIpcProvider
2021-12-16 19:53:22 +09:00
Salman Ahmed
d92f5039cd
Reorder version overlay to display behind game-wide overlays
2021-12-13 06:53:18 +03:00
Dan Balasescu
34b0e374d8
Add serialisation/deserialisation explanation
2021-12-03 21:29:20 +09:00
Dan Balasescu
9acc0556a4
Remove unused event
2021-12-03 20:35:47 +09:00
Dean Herbert
f9ad307526
Apply nullable
2021-12-03 15:51:00 +09:00
Dean Herbert
79d723172a
Remove Console.WriteLine
usage
2021-12-03 15:48:53 +09:00
Dean Herbert
33992e11e0
Split out ruleset lookup code
2021-12-03 15:48:53 +09:00
Dean Herbert
2262b7b331
Adjust logging to avoid using tabs
2021-12-03 15:48:53 +09:00
Dan Balasescu
4ee2063683
Move event handlign internal to LegacyTcpIpcProvider
2021-11-28 23:02:57 +09:00
Dan Balasescu
fc3eb08452
Output raw message on failure
2021-11-28 22:28:01 +09:00
Dan Balasescu
18a0a791fd
Refactor
2021-11-28 22:24:42 +09:00
Dan Balasescu
27ba3c6d1a
Add back removed getter
...
Seems to somehow be required.
2021-11-28 22:16:21 +09:00
Dan Balasescu
36fffbd917
Refactoring
2021-11-28 21:31:22 +09:00
Dan Balasescu
f506cb35bc
Bind legacy IPC on startup
2021-11-28 21:15:29 +09:00
Dan Balasescu
5711c428ca
Increment IPC port
2021-11-28 21:15:21 +09:00
Dan Balasescu
ef24780642
Use IPC via TCP
2021-11-28 18:24:00 +09:00
Dan Balasescu
e5dcfc3113
Use console IPC
2021-11-28 14:03:21 +09:00
Dean Herbert
1dc1de3d1f
Close a failed update notification immediately
...
Fixes visual issue pointed out at
https://github.com/ppy/osu/discussions/15653#discussioncomment-1679263 .
2021-11-24 19:05:53 +09:00
Dean Herbert
bbd3ea5b77
Update all actual usages of RulesetInfo.ID
to use OnlineID
instead
2021-11-24 15:50:26 +09:00
David Paiva
58d3e66d8b
Update osu.Desktop/DiscordRichPresence.cs
...
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2021-11-21 09:36:05 +00:00
David Paiva
5276300c08
Added required changes.
2021-11-20 14:11:02 +00:00
David Paiva
e65826979e
Whoops, forgot that comment
2021-11-20 12:41:31 +00:00
David Paiva
abbc13c60f
Added Beatmap Link button to Discord Rich Presence
2021-11-20 12:41:01 +00:00
Dean Herbert
d600a73277
Disable cancelling of update via notification
2021-11-17 11:41:42 +09:00
Dean Herbert
3fe89293af
Add update manager which performs no update action
...
This is to be used in cases where updates are handled by an external
means. See
https://github.com/flathub/flathub/pull/2619#issuecomment-969731305 for
initial usage.
2021-11-16 12:11:13 +09:00
Dean Herbert
0ecf5f201c
Rename User
to APIUser
and move to correct namespace
2021-11-07 11:26:01 +09:00
Dean Herbert
6944151486
Apply batch fixing of built-in types using var
2021-10-27 13:04:41 +09:00
Dean Herbert
ec61c3c5ee
Rename all remaining cases
2021-10-03 00:55:29 +09:00
Dean Herbert
5e53058fbc
Use same method of exiting execution as previously for safety
2021-09-21 18:03:43 +09:00
Dean Herbert
3b174a71a3
Move startup concurrency check to higher level
...
Makes more sense to perform this check outside of the game itself now
that we can.
2021-09-21 18:00:55 +09:00
smoogipoo
956c1cc216
Merge branch 'master' into activity-on-multiplayer-screens
2021-08-24 12:33:34 +09:00
Dean Herbert
82eddeffef
Add LocalUserPlayInfo
interface to convey common information about player status
2021-08-17 16:15:47 +09:00
Nathan Alo
cc3468b4ab
apply suggestions
...
- make `UserActivity.InGame` and derive that to `InSoloGame` and `InMultiplayerGame`
- rename `SoloGame` to `InSoloGame`
- rename `MultiplayerGame` to `InMultiplayerGame`
2021-08-16 06:32:33 +08:00
Henry Lin
88d9e2ec06
Guard against IndexOutOfRange when parsing launch args
2021-07-23 10:23:31 +08:00
Dean Herbert
3dddcf3582
Remove unused using statement
2021-07-21 15:11:01 +09:00
Dean Herbert
4148d3fdac
Add a bit more safety to argument parsing logic
2021-07-21 15:02:15 +09:00
Salman Ahmed
ebd555129f
Change to int
-only debug client ID
2021-07-21 07:53:24 +03:00
Salman Ahmed
37393a8432
Allow defining custom storage name for debug builds of osu!lazer
2021-07-21 03:12:44 +03:00
Dean Herbert
e0af5f0469
Fix osu!(lazer) overwriting osu!(stable) desktop icons by adding back a suffix
...
As discussed in https://github.com/ppy/osu/issues/13864 , Squirrel will
use the product name before the title, allowing us to use this variable
to update the icon while not changing the window display title or naming
elsewhere.
2021-07-19 11:38:45 +09:00
Dean Herbert
47a593ad7d
Force a re-check on any exception being thrown
2021-07-12 14:55:09 +09:00
Dean Herbert
a9250a0d98
Limit update notifications to once per startup
...
This logic was intentionally designed to continue to prompt the user to
update if they haven't, but that seems pretty anti-user. The change will
stop the update prompts from showing more than once per game startup,
unless manually invoked by the user a second time.
Closes https://github.com/ppy/osu/issues/13821 .
2021-07-09 18:23:30 +09:00