Commit Graph

1606 Commits

Author SHA1 Message Date
Bartłomiej Dach fe86ee629e Fix temp files from beatmap listing imports not being cleaned up
As reported in #12718, it turns out that temporary files from beatmap
set downloads performed via the beatmap listing overlay could remain in
the user's filesystem even after the download has concluded.

The reason for the issue is a failure in component integration.
In the case of online downloads, files are first downloaded to a
temporary directory (`C:/Temp` or `/tmp`), with a randomly generated
filename, which ends in an extension of `.tmp`.

On the other side, `ArchiveModelManager`s have a `ShouldDeleteArchive()`
method, which determines whether a file should be deleted after
importing. At the time of writing, in the case of beatmap imports the
file is only automatically cleaned up if the extension of the file is
equal to `.osz`, which was not the case for temporary files.

As it turns out, `APIDownloadRequest` has a facility for adjusting the
file's extension, via the protected `FileExtension` property. Therefore,
use it in the case of `DownloadBeatmapSetRequest` to specify `.osz`,
which then will make sure that the `ShouldDeleteArchive()` check in
`BeatmapManager` picks it up for clean-up.
2021-05-08 17:09:14 +02:00
smoogipoo f593d9e42c Fix playing users not being updated on room join 2021-04-22 23:23:43 +09:00
Dan Balasescu b774f5b72b
Merge pull request #12526 from peppy/fix-system-message-ordering
Fix system messages always being displayed above standard messages
2021-04-22 18:51:25 +09:00
Dean Herbert 3befb49ea9 Fix system messages always being displayed above standard messages
Closes https://github.com/ppy/osu/issues/12509.
2021-04-22 14:52:01 +09:00
smoogipoo 4cc3321d54 Fix potential doubling of events 2021-04-20 21:20:08 +09:00
smoogipoo c50b526ba0 Remove local state dictionary from SpectatorScreen 2021-04-19 16:48:55 +09:00
smoogipoo 83716ddb08 Rename currentUserStates -> playingUserStates 2021-04-19 16:07:00 +09:00
smoogipoo de9e37857e Lock around playingUsers 2021-04-19 16:06:40 +09:00
smoogipoo 5885c24e00 Clear current user states on disconnect 2021-04-19 16:00:56 +09:00
smoogipoo ca74f413cd Change to explicit method instead 2021-04-16 17:31:02 +09:00
smoogipoo 5652490d61 Fix OnUserBeganPlaying not being invoked if already watching 2021-04-16 14:11:55 +09:00
Salman Ahmed 92fab653e1 Take current mod settings value into account on equality comparsion 2021-04-12 20:51:13 +03:00
Salman Ahmed fbd5195738 Extract mod setting value handling to utils class 2021-04-12 03:37:03 +03:00
Salman Ahmed 18fb9f5ac9
Merge branch 'master' into mod-using-reference-equality 2021-04-11 19:48:55 +03:00
Dean Herbert 51fee79ef1 Fix scores not being accepted due to missing ruleset ID 2021-04-09 15:18:02 +09:00
Dean Herbert 24ae5b9169 Fix slightly incorrect solo score submission routes 2021-04-08 23:15:08 +09:00
smoogipoo 2791d454d2 Don't send spectating user state yet 2021-04-07 22:21:22 +09:00
smoogipoo 99bee73ac1 Merge branch 'master' into add-spectate-button-and-state 2021-04-07 22:07:52 +09:00
smoogipoo 56c13148f1 Fix typo in class name 2021-04-07 16:45:10 +09:00
smoogipoo 6de91d7b6b Add spectate button + test 2021-04-06 21:37:27 +09:00
smoogipoo d5ba77b2c2 Add spectating user state 2021-04-06 21:22:28 +09:00
Dan Balasescu ba3689b5b9
Merge pull request #12269 from PercyDan54/beatmap-details
Use OnlineViewContainer for BeatmapDetails
2021-04-06 17:52:32 +09:00
Dean Herbert 933c4010da Allow creating OnlineViewContainers with no placeholder button 2021-04-06 16:17:20 +09:00
PercyDan54 d4724f4494
Fix crash 2021-04-04 09:44:45 +08:00
smoogipoo e1aa927827 Add dropdown option to export score 2021-04-02 13:20:15 +09:00
Dean Herbert 0a889fafc4 Don't send progress updates when not in a downloading state
This is mostly just a sanity/debounce check.
2021-03-26 14:04:40 +09:00
Dean Herbert 17a0b19ee7 Always set progress before updating download state
Without doing so, a state change may read from an old progress value.
2021-03-26 14:04:10 +09:00
Max Hübner aa2c1ee85e Add new beatmap search filter row "General" 2021-03-25 23:20:10 +01:00
Dean Herbert 5267fb74c4 Add submission requests 2021-03-23 18:18:49 +09:00
Dean Herbert aeff9bd853 Add return bool to HandleRequest to better trigger failures 2021-03-23 18:17:29 +09:00
Dean Herbert ce452565f4 Avoid firing any kind of failures after success 2021-03-23 17:50:31 +09:00
Dean Herbert f5ba746ae5 Fail all API requests sent to DummyAPIAccess
Until now, API requests sent to dummy API were just lost in the void. In most cases this somehow worked as expected, but any logic which is waiting on a request to finish will potentially never get a response.

Going forward, I'm not 100% sure that every `Wait` on a web response will have local timeout logic (I think there is a certain amount of assumption that this is being managed for us by `APIAccess`), so I've made this change to better handle such cases going forward. Now, rather than nothing happening, requests will trigger a failure via the existing exception logic rather than silently pretending the request never arrived.
2021-03-23 17:37:45 +09:00
Dean Herbert 58c60100b4 Fix APIScoreToken's data type not matching server side 2021-03-23 14:04:47 +09:00
smoogipoo 7fa5fd5647 Update usages of config with framework changes 2021-03-17 16:10:16 +09:00
Dan Balasescu ff2327ffac
Merge branch 'master' into configure-await-false 2021-03-08 22:24:29 +09:00
Dean Herbert b1cd01ceb8 Apply ConfigureAwait changes to game side 2021-03-08 14:36:35 +09:00
Dean Herbert 765cc5cf37 Remove iOS multiplayer blocking code 2021-03-08 14:35:22 +09:00
smoogipoo 7adb33f40e Fix beatmap getting nulled due to failing web request 2021-03-01 17:24:54 +09:00
Dean Herbert 254f9bb58b Show API human readable error message when chat posting fails
Closes #11902.
2021-02-26 13:38:00 +09:00
Dean Herbert 9ed8d902f7 Fix requests being indefinitely queued when user is offline 2021-02-24 19:57:42 +09:00
Dean Herbert 664d243003 Disable multiplayer/spectator on iOS until it can be supported again 2021-02-23 15:22:46 +09:00
smoogipoo d985b8ab2a Increase beatmapset download timeout 2021-02-22 17:14:39 +09:00
Dean Herbert a2aec6bcdc
Merge pull request #11808 from smoogipoo/multiplayer-no-playlist-mangling
Rework multiplayer playlist handling to support multiple items
2021-02-19 14:33:53 +09:00
smoogipoo c0e0bd4f42 Add compatibility with old server build 2021-02-19 13:57:04 +09:00
smoogipoo 183a481a34 Refactor playlist update to remove .Contains() check 2021-02-19 13:32:32 +09:00
Dean Herbert 71316bbee5 Allow using OnlineViewContainer without deriving it 2021-02-18 17:45:58 +09:00
smoogipoo 56e9e10ff5 Make server authoritative in playlist item id 2021-02-18 15:30:31 +09:00
smoogipoo 8930ff4465 Merge branch 'master' into multiplayer-no-playlist-mangling 2021-02-17 19:29:01 +09:00
smoogipoo 70a995919c Update comments 2021-02-17 17:58:24 +09:00
smoogipoo 0d1149911c Don't display expired playlist items 2021-02-17 17:33:10 +09:00