Bartłomiej Dach
25e43bd7d7
Auto-close notification after successful download
2023-09-18 14:56:06 +02:00
Bartłomiej Dach
4cdd19bb5a
Use different copy when auto-downloading
2023-09-18 14:56:06 +02:00
Bartłomiej Dach
3bddf4bf9a
Rename spectator-specific settings to more generic (with backwards migration)
2023-09-18 14:56:06 +02:00
Bartłomiej Dach
27471ad170
Make missing beatmap notification simple
...
Progress didn't work for several reasons:
- It was spinning when nothing was actually happening yet
(especially egregious with autodownload off)
- It was blocking exits (as all progress notifications do)
- When actually going to download, two progress notifications would
pertain to one thing
- It wasn't helping much with the actual implementation of score
re-import, cancelling the progress notification would result in
similarly jank UX of beatmap importing but not the score.
2023-09-18 14:56:06 +02:00
Bartłomiej Dach
b2c98da330
Reword and localise copy
2023-09-18 14:56:06 +02:00
Bartłomiej Dach
2709c6cd67
Integrate nano beatmap card into the notification
2023-09-18 14:56:06 +02:00
Bartłomiej Dach
06d1a2a316
Merge branch 'beatmap-card-nano' into missing-beatmap
2023-09-18 14:56:06 +02:00
Bartłomiej Dach
c8b18acd4d
Bring back disposal of stream after copy-out to MemoryStream
...
Was there in previous code and got removed in the refactor. I'd rather
have it than not.
2023-09-14 19:36:35 +02:00
Dean Herbert
57f32b177d
Fix incorrect handling of non-MemoryStream
pathway
2023-09-14 22:19:18 +09:00
Dean Herbert
364094fcf2
Inline all archive reader pathing
2023-09-14 13:38:23 +09:00
Dean Herbert
541cd972e1
Rename ArchiveReader
implementations to read better
2023-09-14 13:36:07 +09:00
Dean Herbert
0657b55196
Avoid MemoryStream.ToArray
overhead in LegacyByteArrayReader
2023-09-14 13:33:25 +09:00
Dean Herbert
b5902a8736
Avoid MemoryStream
overhead for incoming non-MemoryStream
in ImportTask
2023-09-14 13:29:29 +09:00
Dan Balasescu
4198e025fa
Fix overflow
2023-09-08 00:27:01 +09:00
Dan Balasescu
2334be1987
Split legacy scoring attributes into a separate object
2023-09-07 21:10:38 +09:00
cdwcgt
fd1fce486a
ensure dispose realmSubscription
2023-09-05 00:21:08 +09:00
cdwcgt
87aa191c12
use realm Subscription instead of Beatmap Download Tracker
2023-09-04 17:53:31 +09:00
cdwcgt
f68a12003a
check beatmap hash before try to import
2023-09-04 17:37:31 +09:00
cdwcgt
164f61f590
clean up
2023-09-04 17:14:04 +09:00
cdwcgt
58844092d6
post a notification instead a screen
2023-09-04 16:17:21 +09:00
Dean Herbert
5ddb10281b
Move combo exponent to shared constant
2023-08-24 14:55:44 +09:00
Dean Herbert
5dee43815c
Bump version to allow migration to re-run
2023-08-22 16:13:01 +09:00
Dean Herbert
4e9e084b2c
Merge branch 'master' into scorev3
2023-08-22 15:52:22 +09:00
Bartłomiej Dach
273dcf9150
Also update the reference to added flag in schema change breakdown
2023-08-21 17:44:35 +02:00
Bartłomiej Dach
8533cba0bf
Fix mismatching schema version in comment
2023-08-21 17:27:05 +02:00
Dean Herbert
db893f3dc7
Merge branch 'master' into fix-score-import-fail-fail-fail
2023-08-21 19:34:12 +09:00
Bartłomiej Dach
de9a4448fc
Merge branch 'master' into fix-export-slider
2023-08-21 07:28:16 +02:00
Bartłomiej Dach
a942b6ff74
Replace inline comment with actual explanation of what's happening
2023-08-21 07:27:02 +02:00
OliBomby
8686b6b1e6
fix The last slider point has effect on previous inherited
2023-08-16 16:44:08 +02:00
Bartłomiej Dach
4f47b196c1
Merge branch 'master' into fix-unsafe-realm-access
2023-08-16 09:59:17 +02:00
Bartłomiej Dach
d70a9a5bc4
Fill out xmldoc and adjust inline commentary
2023-08-16 09:40:46 +02:00
Dean Herbert
caf0fd0742
Refactor migration to read the same as previous one
2023-08-16 16:21:42 +09:00
Dean Herbert
68db112882
Re-date migration
2023-08-16 16:20:17 +09:00
Dean Herbert
6e11162ab1
Add helper method for safer realm Find<T>
2023-08-16 15:37:09 +09:00
Bartłomiej Dach
88295a49aa
Fix invalid reference in xmldoc
2023-08-16 07:38:31 +02:00
Bartłomiej Dach
6c4c76350f
Remove unused using directive
2023-08-16 07:36:56 +02:00
Dean Herbert
531794b26b
Fix ModelManager
not correctly re-retrieving realm objects before performing operations
...
Falls into the age-old trap of attempting to retrieve an item from realm
without first ensuring that realm is in an up-to-date state.
Consider this scenario:
- Editor is entered from main menu, causing it to create a new beatmap
from its async `load()` method.
- Editor opens correctly, then main thread performs a file operations on
the same beatmap.
- Main thread is potentially not refreshed yet, and will result in `null`
instance when performing the re-fetch in `performFileOperation`.
I've fixed this by using the safe implementation inside `RealmLive<T>`.
Feels like we want this is one place which is always used as the correct
method.
On a quick search, there are 10-20 other usages of `Realm.Find<T>` which
could also have similar issues, but it'll be a bit of a pain to go
through and fix each of these. In 99.9% of cases, the accesses are on
instances which couldn't have just been created (or the usage of
recently-imported/created is blocked by realm subscription flows, ie.
baetmap import) so I'm not touching them for now.
Something to keep in mind when working with realm going forward though.
2023-08-16 14:23:32 +09:00
Dean Herbert
502844a858
Add ability to construct RealmLive
from ID
2023-08-16 14:23:01 +09:00
QuantumSno
a0543d97bd
Merge branch 'master' into leaderboard-toggle
2023-08-12 11:21:02 -04:00
Bartłomiej Dach
253392409e
Fix LegacyBeatmapExporter
not converting beatmap between decode and re-encode
2023-08-12 00:50:31 +02:00
Bartłomiej Dach
2b738edb93
Reword / fix comments
2023-08-10 22:55:02 +02:00
QuantumSno
71c42167e7
Updated wording on realm comments
2023-08-10 10:17:12 -04:00
QuantumSno
5443f89dca
Assuming its still set to tab, removes binding for toggle chat so itll be set to the new default
2023-08-01 16:58:52 -04:00
QuantumSno
426bc52fd5
Updated schema_version number and added braces around some migration cases to help with re-using variable names
2023-08-01 14:27:37 -04:00
Dean Herbert
30baac0f3d
Avoid reprocessing scores which already failed an upgrade previously
...
Closes https://github.com/ppy/osu/issues/24301 .
2023-07-26 16:22:10 +09:00
OliBomby
e7a9175aea
fix skin using wrong stream
2023-07-18 13:08:05 +02:00
OliBomby
63dd8bd991
use base.GetFileContents to get file stream
2023-07-18 12:40:48 +02:00
OliBomby
bcdf531039
truncate end time before start time
2023-07-18 12:28:35 +02:00
OliBomby
5d82190b70
Merge remote-tracking branch 'upstream/master' into legacy-export
2023-07-18 12:18:49 +02:00
OliBomby
c02684d985
truncate hit object end time
2023-07-18 12:18:43 +02:00
Zyf
b672b49e02
Scoring : Implement v1 to v3 conversion.
2023-07-15 23:20:49 +02:00
Dean Herbert
480259b8d2
Ensure migration is never run on scores with new-enough TotalScoreVersion
s
2023-07-14 20:02:25 +09:00
OliBomby
1d837a8725
Move all conversion code to LegacyBeatmapExporter
2023-07-13 00:20:01 +02:00
OliBomby
3052c317e1
change .osz2 to .olz (osu lazer zip)
2023-07-12 15:04:06 +02:00
OliBomby
465cc759f0
Add xmldoc to clarify the purpose of BeatmapExporter
2023-07-12 14:49:49 +02:00
OliBomby
b577b6b6ae
Export legacy converted beatmaps as .osz and non-converted beatmaps as .osz2
2023-07-11 21:04:09 +02:00
OliBomby
2db25722cb
It works now
2023-07-11 20:18:54 +02:00
OliBomby
06e5ef88c0
legacy export broken
2023-07-11 02:30:16 +02: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