1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-18 00:42:55 +08:00
Commit Graph

1483 Commits

Author SHA1 Message Date
Dan Balasescu
a120ea8464
Merge branch 'master' into fix-legacy-score-multipliers-2 2023-10-04 01:19:33 +09:00
Dean Herbert
b234a453da Fix legacy beatmap importer not always handling nested paths correctly
Addresses https://github.com/ppy/osu/discussions/24989.
2023-10-03 16:01:17 +09:00
Dan Balasescu
b9ab4a2b7c Update score conversion to consider legacy multiplier 2023-10-02 16:56:15 +09:00
Bartłomiej Dach
0769d0f49f
Merge branch 'master' into fix-batch-import-score-missing-notifications 2023-09-27 17:06:47 +02:00
Bartłomiej Dach
934ac1b640
Merge branch 'master' into better-erroring-score-import-fail 2023-09-27 14:34:14 +02:00
Dean Herbert
2481c0b64b Don't show replay import "missing beatmap" notifications during stable import
Closes https://github.com/ppy/osu/issues/24926.
2023-09-27 17:04:43 +09:00
Dean Herbert
0dcf7a2fa9
Merge branch 'master' into split-legacy-scoring-attribs 2023-09-26 15:52:27 +09:00
Dean Herbert
d1d82d2b49 Improve notification display when score import fails 2023-09-26 15:00:56 +09:00
Bartłomiej Dach
ed9039f60f
Fix notification text sets overwriting each other 2023-09-19 11:12:58 +02:00
Dean Herbert
f726c38215 Pass ArchiveReader instead of Stream to simplify resolution code 2023-09-19 17:49:15 +09:00
Dean Herbert
7f30354e61 Adjust sizing slightly to remove need for CollapsibleButtonContainerSlim 2023-09-19 17:20:58 +09:00
Dean Herbert
0555d22eb8 Add comment mentioning why hover is disabled on the notification type 2023-09-19 16:35:22 +09:00
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
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