1
0
mirror of https://github.com/ppy/osu.git synced 2025-01-18 14:43:22 +08:00
Commit Graph

1632 Commits

Author SHA1 Message Date
Bartłomiej Dach
4e4a99decc
Merge pull request #31076 from peppy/beatmap-store-interface
Access beatmap store via abstract base class
2024-12-11 17:48:32 +09:00
Dean Herbert
a868c33380
Remove BeatmapCarousel testing backdoor 2024-12-11 16:28:51 +09:00
Dean Herbert
c94b393e30
Access beatmap store via abstract base class
The intention here is to make things more testable going forward.
Specifically, to remove the "back-door" entrance into `BeatmapCarousel`
where `BeatmapSets` can be set by tests and bypas/block realm retrieval.
2024-12-11 16:28:51 +09:00
Salman Alshamrani
e0aec6f907 Revert unnecessary complexity 2024-12-11 01:03:55 -05:00
Salman Alshamrani
0c0dcb1e15 Use temporary storage for exported files on iOS 2024-12-09 08:16:37 -05:00
Huo Yaoyuan
d92ea910cf Merge branch 'master' into netcore-analyzer 2024-12-05 17:18:56 +08:00
Dean Herbert
5b2558cec2
Merge pull request #28473 from bdach/beatmap-info-purge
Move unnecessary properties from `BeatmapInfo` / realm to `IBeatmap`
2024-12-02 16:19:12 +09:00
Huo Yaoyuan
fa3c95c296 Merge branch 'master' 2024-11-30 01:07:08 +08:00
Dean Herbert
a719693d10
Fix one remaining method call 2024-11-29 21:21:05 +09:00
Dean Herbert
0e1b62ef85
Expose more migration helper methods
For use in https://github.com/ppy/osu-queue-score-statistics/pull/305.

Some of these might look a bit odd, but I personally still prefer having
them all in one central location.
2024-11-29 21:10:30 +09:00
Huo Yaoyuan
c57ace0b5f Enable recommended rules for documentation 2024-11-28 20:41:32 +08:00
Bartłomiej Dach
ead7e99c59
Fix incorrect comment 2024-11-22 11:06:36 +01:00
Dean Herbert
086a34f5c0
Merge branch 'master' into beatmap-info-purge 2024-11-22 18:47:32 +09:00
Dan Balasescu
53f0befc05
Merge pull request #30402 from peppy/import-paused-visibility
Update notification text when import is paused due to gameplay
2024-11-20 16:00:13 +09:00
Dean Herbert
ebc2cc3570
Ensure cleanup tasks are run even on a cancelled / exceptioned import task 2024-11-18 16:51:46 +09:00
Dean Herbert
2afd357901
Re-throw OperationCanceledException for consistency?
Mostly to see if it breaks anything.
2024-11-14 13:14:35 +09:00
OliBomby
b6eff38520 Fix timing point truncation in legacy beatmap export 2024-11-13 14:23:28 +01:00
Dean Herbert
ce86208e09
Merge branch 'master' into import-paused-visibility 2024-11-12 17:02:21 +09:00
Dan Balasescu
bd630c189e
Fix tests not working by forgoing beatmap updates 2024-11-07 17:26:10 +09:00
Bartłomiej Dach
0e52797f29
Prefer not deleted models when picking model instances for reuse when importing
This fell out while investigating why the issue with online IDs
mismatching in the `.osu` could be worked around by importing the map
three times in total when starting from it not being available locally.

Here follows an explanation of why that "helped".

Import 1:
- The beatmap set is imported normally.
- Online metadata population sees the online ID mismatch and resets it
  on the problematic beatmap.

Import 2:
- The existing beatmap set is found, but deemed not reusable
  because of the single beatmap having its ID reset to -1.
- The existing beatmap set is marked deleted, and all the IDs of
  its beatmaps are reset to -1.
- The beatmap set is reimported afresh.
- Online metadata population still sees the online ID mismatch
  and resets it on the problematic beatmap.

Note that at this point the first import *is still physically present
in the database* but marked deleted.

Import 3:
- When trying to find the existing beatmap set to see if it can be
  reused, *the one pending deletion and with its IDs reset -
  - the remnant from import 1 - is returned*.
- Because of this, `validateOnlineIds()` resets online IDs
  *on the model representing the current reimport*.
- The beatmap set is reimported yet again.
- With the online ID reset, the online metadata population check for
  online ID mismatch does not run because *the IDs were reset to -1*
  earlier.

Preferring undeleted models when picking the model instance for reuse
prevents this scenario.
2024-10-30 08:18:44 +01:00
Dean Herbert
61f0cfd688
Make flow more async to avoid any chance of deadlocks 2024-10-24 17:56:51 +09:00
Dean Herbert
be5cb209e5
Update notification text when import is paused due to gameplay
Addresses https://github.com/ppy/osu/discussions/30388.
2024-10-23 17:51:29 +09:00
Dean Herbert
6ea1623889
Merge branch 'master' into lookup-users-endpoint 2024-10-22 18:48:00 +09:00
Dean Herbert
cbaee98674
Don't delete scores when deleting beatmaps
The score model's spec allows for null `BeatmapInfo` so the reasoning of
the inline comment is no longer valid. We match based on hash these
days.
2024-10-22 01:39:05 +09:00
Bartłomiej Dach
f8a13b0beb
Fix migration not checking combination properly 2024-10-16 08:17:22 +02:00
Leander Furumo
035e5a9613
migrate clearance of conflicting ToggleFPSDisplay keybind 2024-10-14 16:03:29 +02:00
Dean Herbert
d836dba982
Rename and xmldoc RealmResetEmptySet 2024-10-09 14:18:34 +09:00
Bartłomiej Dach
b811b9baf6
Fix DetachedBeatmapStore special condition for detecting resets from blocking all operations failing on empty databases
See https://discord.com/channels/188630481301012481/188630652340404224/1293309912591368244.
2024-10-08 23:16:17 +02:00
Bartłomiej Dach
17bc5ce5a9
Use lookup request in user lookup cache
Doing this alleviates https://github.com/ppy/osu/issues/29982, as the
currently online display utilises the user lookup cache, and currently
is hitting rate limits due to the amount of data retrieved from the `GET
/users` endpoint. Switching to `GET /users/lookup` reduces the chance of
this happening.
2024-10-08 14:05:27 +02:00
Dean Herbert
8773c34fdd
Rename enum to non-plural now that it won't conflict 2024-10-01 19:55:46 +09:00
Dean Herbert
ad3007eaad
Adjust ILocalUserPlayInfo to expose whether gameplay is in a paused/break state 2024-10-01 17:53:46 +09:00
Dean Herbert
58fe502af4
Merge branch 'master' into beatmap-info-purge 2024-09-15 04:53:35 +09:00
Dean Herbert
562a5006ea
Change log output to only output when matches are found (in line with other methods) 2024-09-14 02:19:52 +09:00
Bartłomiej Dach
a4f6d4a300
Backpopulate missing ranked/submitted dates using new local metadata cache
People keep asking why https://github.com/ppy/osu/pull/29553 didn't fix
their databases (as stated in the PR, it didn't intend to), so this
should do it for them.
2024-09-13 16:00:49 +02:00
Dean Herbert
36a30cf077
Add note about using hard links in the future 2024-09-06 16:01:47 +09:00
Dean Herbert
de208fd5c3
Add very basic error handling for failed beatmap detach 2024-08-30 18:50:03 +09:00
Dean Herbert
2033a5e157
Add disposal of ManualResetEventSlim 2024-08-30 18:50:02 +09:00
Dean Herbert
d1d2591b67
Fix realm changes being applied before detach finishes 2024-08-29 18:42:43 +09:00
Dean Herbert
9123d2cb7f
Fix multiple test failures 2024-08-28 23:28:43 +09:00
Dean Herbert
c2c1dccf2d
Detach beatmap sets asynchronously 2024-08-28 19:13:49 +09:00
Dean Herbert
081c9eb21b
Fix incorrect cancellation / disposal handling of DetachedBeatmapStore 2024-08-28 17:21:19 +09:00
Dean Herbert
4d42274771
Use bindable list implementation 2024-08-28 16:03:37 +09:00
Dean Herbert
466ed5de78
Add basic detached beatmap store 2024-08-28 16:03:37 +09:00
clayton
8e63c17536
Apply CodeFactor lint 2024-08-07 15:02:53 -07:00
clayton
93e193d719
Add realm migration to remap key bindings 2024-08-07 14:36:04 -07:00
Dean Herbert
d707e29ff7
Merge branch 'master' into beatmap-info-purge 2024-07-23 12:09:32 +09:00
Bartłomiej Dach
7ba1f142e5
Fix rank upgrade path upgrading scores that failed background reprocessing earlier 2024-07-16 14:04:51 +02:00
Dean Herbert
6cee0210c3
Fix(?) xmldoc 2024-07-10 19:22:49 +09:00
Dean Herbert
704e7e843f
More xmldoc across new methods and classes 2024-07-10 18:34:48 +09:00
Dean Herbert
d3c66e2404
Add basic flow for mounting beatmaps for external editing 2024-07-10 18:29:51 +09:00