1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-21 18:47:27 +08:00
Commit Graph

1418 Commits

Author SHA1 Message Date
Dean Herbert
480259b8d2 Ensure migration is never run on scores with new-enough TotalScoreVersions 2023-07-14 20:02:25 +09:00
Bartłomiej Dach
9e4ffc8c12
Split helper method for populations from replay 2023-07-10 21:10:01 +02:00
Bartłomiej Dach
e12255bbe5
Do not run legacy conversion with ScoreV2 mod present 2023-07-09 17:48:25 +02:00
Bartłomiej Dach
9377622cd4
Add backwards migration to populate ScoreV2 mod for already-imported scores 2023-07-09 17:48:24 +02:00
Dean Herbert
d72765b6f8
Merge pull request #24114 from peppy/editor-save-local-score-management
Ensure scores always have the correct linked `BeatmapInfo`
2023-07-07 15:40:54 +09:00
Dean Herbert
8978f2ddd8 Remove all usage of !something!.something
aka don't mix NRT forgiving syntax with not syntax
2023-07-07 10:15:33 +09:00
Bartłomiej Dach
1473abd909
Remove outdated xmldoc 2023-07-06 22:01:02 +02:00
Dean Herbert
a98a36872e Bring realm library up-to-date 2023-07-06 13:37:43 +09:00
Dean Herbert
9ff6b3fcd3 Merge branch 'master' into editor-save-local-score-management 2023-07-06 12:28:44 +09:00
Dean Herbert
f2aa80f413 Rename and adjust xmldoc on TotalScoreVersion 2023-07-04 20:04:02 +09:00
Dean Herbert
aee89e5e4b Rewrite comment regarding LegacyTotalScore 2023-07-04 19:59:57 +09:00
Dean Herbert
dd9998127e Count missing beatmaps as errored items 2023-07-04 18:35:03 +09:00
Dean Herbert
a0c3fa9c13 Move preconditions to realm migration step to simplify marker version logic 2023-07-04 17:53:53 +09:00
Dean Herbert
1629024111 ILegacyScoreProcessor -> ILegacyScoreSimulator 2023-07-04 17:32:54 +09:00
Dean Herbert
d74b1e148d Make ScoreInfo.BeatmapInfo nullable 2023-07-04 14:50:34 +09:00
Dean Herbert
67650831bd Remove unnecessary null check 2023-07-04 14:19:25 +09:00
Dean Herbert
4203e2183d
Merge branch 'master' into diffcalc-total-scorev1 2023-07-04 14:15:24 +09:00
Dan Balasescu
c6ad184d94 Move Ruleset method to ILegacyRuleset interface 2023-06-29 17:24:37 +09:00
Dan Balasescu
ddd870e843 Make LegacyTotalScore nullable 2023-06-29 17:19:10 +09:00
Dan Balasescu
09bc8e45de Refactoring 2023-06-28 16:14:32 +09:00
Dean Herbert
99e55bb9c0 Add logging and Debug.Fail on detached beatmap detection 2023-06-28 12:21:05 +09:00
Dean Herbert
8e80e2fa32 Fix incorrect realm copy logic when a beatmap becomes detached from its set
The code here was assuming that if the beatmap which is having changes
copied across does not exist within the `BeatmapSet.Beatmaps` list, it
was not yet persisted to realm.

In some edge case, it can happen that the beatmap *is* persisted to
realm but not correctly attached to the beatmap set. I don't yet know
how this occurs, but it has caused loss of data for at least two users.

The fix here is to check realm-wide for the beatmap (using its primary
key) rather than only in the list. We then handle the scenario where the
beatmap needs to be reattached to the set as a seprate step.

---

This does raise others questions like "are we even structuring this
correctly? couldn't a single beatmap exist in two different sets?"

Maybe, but let's deal with that if/when it comes up.
2023-06-27 18:20:01 +09:00
Dan Balasescu
0c5c09597c Store old total score as LegacyTotalScore 2023-06-27 14:59:40 +09:00
Dan Balasescu
8e79510793 Add migration for total score conversion 2023-06-26 21:53:21 +09:00
Dean Herbert
df5b389629 Manual fixes to reduce warnings to zero 2023-06-24 01:52:53 +09:00
Dean Herbert
0ab0c52ad5 Automated pass 2023-06-24 01:00:03 +09:00
Dean Herbert
1f17f416a4 Force migration of old-new standardised scores to run once more 2023-06-16 14:04:18 +09:00
Dean Herbert
94b7de4b3f Fix old-new standardised score conversion missing some scores due to not rounding correctly 2023-06-16 14:01:56 +09:00
Bartłomiej Dach
51b5a0863f
Apply migration to new standardised score on normal reimport too 2023-06-15 21:53:15 +02:00
Dean Herbert
d83bf02923
Fix thing 2023-06-15 21:43:41 +02:00
Bartłomiej Dach
6205864c62
Fix score migration not considering mod multipliers 2023-06-13 19:00:13 +02:00
Dean Herbert
422e87f0ec Fix weird usings 2023-06-13 05:30:12 +09:00
Dean Herbert
c1b0c60e79 Ensure all misses are dequeued 2023-06-13 05:24:04 +09:00
Dean Herbert
3304e41a30 Add more commenting 2023-06-13 05:20:29 +09:00
Dean Herbert
afb5a9243a
Fix typo
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-06-13 05:13:22 +09:00
Dean Herbert
e9fb1f8932 Avoid tracking hit events altogether during migration 2023-06-13 02:15:41 +09:00
Dean Herbert
385f6dbd84 Move local classes to their rightful location 2023-06-13 02:12:23 +09:00
Dean Herbert
87520ae400 Avoid overhead from retrieving MaxCombo inside loop from realm 2023-06-13 02:05:00 +09:00
Dean Herbert
0916ae1671 Add basic profiling output of realm migrations 2023-06-13 01:57:41 +09:00
Dean Herbert
0e9576acfb Remove logging and catch any kind of errors 2023-06-13 01:40:43 +09:00
Dean Herbert
d19f8997fc Account for scores which don't have correct maximum statistics populated 2023-06-13 01:40:43 +09:00
Dean Herbert
f30c1a564f Add basic setup for score migration 2023-06-13 01:40:43 +09:00
Bartłomiej Dach
11694f35fe
Apply NRT in MemoryCachingComponent subclasses too 2023-06-09 13:47:35 +02:00
Dean Herbert
4685ba83e1 Apply NRT to MemoryCachingComponent classes 2023-06-09 19:00:05 +09:00
Bartłomiej Dach
ca25ac446b
Be slightly more specific with error message 2023-06-09 11:20:12 +02:00
Dean Herbert
53f935714e Inline binary reading to avoid polluting RealmAccess with nested class 2023-06-09 17:34:27 +09:00
Dean Herbert
a9071e7afd try-catch more 2023-06-09 17:33:59 +09:00
Dan Balasescu
67562a3856 Catch errors during score parsing 2023-06-09 14:35:29 +09:00
Dan Balasescu
facf7de053 Parse ScoreInfo.IsLegacyScore from replays 2023-06-08 21:38:10 +09:00
Bartłomiej Dach
1f4e79d79d
Merge pull request #23711 from timiimit/add-last-edit-time
Store timestamp of beatmap's last edit time in local database
2023-06-07 16:57:24 +02:00