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
Dean Herbert
ee9e329db3
Inhibit original callback from firing when sending initial changeset
2024-07-09 16:05:58 +09:00
Dean Herbert
2423bbb776
Ensure realm subscriptions always fire initial callback with null ChangeSet
...
We expect this to be the case, but it turns out that it [may be
coalesced](https://www.mongodb.com/docs/realm-sdks/dotnet/latest/reference/Realms.IRealmCollection-1.html#Realms_IRealmCollection_1_SubscribeForNotifications_Realms_NotificationCallbackDelegate__0__Realms_KeyPathsCollection_ ):
> Notifications are delivered via the standard event loop, and so can't
> be delivered while the event loop is blocked by other activity. When
> notifications can't be delivered instantly, multiple notifications may
> be coalesced into a single notification. This can include the
> notification with the initial collection.
Rather than struggle with handling this locally every time, let's fix
the callback at our end to ensure we receive the initial null case.
I've raised concern for the API being a bit silly with realm
(https://github.com/realm/realm-dotnet/issues/3641 ).
2024-07-09 15:47:43 +09:00
Dean Herbert
5350945340
Update HasFlag
usages
2024-07-03 00:19:04 +09:00
Dan Balasescu
276d8fe158
Truncate break times for legacy beatmap export
2024-06-26 16:20:56 +09:00
Bartłomiej Dach
c67e2dc301
Bump schema version
2024-06-13 09:30:08 +02:00