1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-14 17:17:24 +08:00
Commit Graph

61939 Commits

Author SHA1 Message Date
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
5bd7370439 Add log output when editor is creating a fresh beatmap 2023-08-16 14:23:17 +09:00
Dean Herbert
502844a858 Add ability to construct RealmLive from ID 2023-08-16 14:23:01 +09:00
Dean Herbert
2a3f7e7362
Merge pull request #24552 from smoogipoo/hold-off-no-end-notes
Disable hold end conversion for mania HoldOff mod
2023-08-16 13:26:28 +09:00
Dan Balasescu
5678db4e70 Fix test + cleanup 2023-08-15 19:42:32 +09:00
Dan Balasescu
e34a9a0001 Disable hold end conversion for mania HoldOff mod 2023-08-15 19:30:40 +09:00
Bartłomiej Dach
4e96853c75
Merge pull request #24548 from peppy/fix-score-copy-instability
Fix score being cloned in async method causing random crashes
2023-08-15 09:38:38 +02:00
Dean Herbert
e8bde6504a Fix score being cloned in async method causing random crashes
Closes https://github.com/ppy/osu/issues/24445.
2023-08-15 16:08:13 +09:00
Dean Herbert
526a145b93
Merge pull request #24546 from peppy/update-framework
Update framework
2023-08-15 15:34:56 +09:00
Dean Herbert
3526032c9a
Merge pull request #24544 from smoogipoo/pool-mania-barlines
Add pooling for mania barlines
2023-08-15 15:21:59 +09:00
Dean Herbert
57e49495bc
Merge pull request #24547 from bdach/slider-kiai-stars-broke
Fix kiai stars flickering on and off during gameplay
2023-08-15 15:21:46 +09:00
Bartłomiej Dach
ab1d523528
Fix kiai stars flickering on and off during gameplay
Closes #24503.

The problematic reset of `lastParticleAdded` has been moved to a place
that should hopefully (a) not cause such problems and (b) be much more
explicit about what's happening.
2023-08-15 07:44:05 +02:00
Dean Herbert
8c14ff674e Update framework 2023-08-15 14:33:21 +09:00
Dean Herbert
31c31a9359
Merge pull request #24528 from bdach/fix-dual-stages-skinnable-layer
Fix playfield skinnable layer bounds being incorrectly calculated with multiple stages
2023-08-15 14:29:18 +09:00
Dan Balasescu
e9621e7d6e Adjust test to share barline between stages 2023-08-15 13:34:02 +09:00
Dan Balasescu
6a7b0786c9 Add barline pooling for mania 2023-08-15 13:33:49 +09:00
Bartłomiej Dach
01eceea72f
Merge pull request #24540 from peppy/remove-fps-fade-in-out
Don't completely fade FPS counter out when running at full FPS
2023-08-14 19:26:59 +02:00
Bartłomiej Dach
9e7cc05138
Merge branch 'master' into remove-fps-fade-in-out 2023-08-14 18:46:30 +02:00
Bartłomiej Dach
7dd82841ea
Merge pull request #24541 from smoogipoo/fix-incorrect-cast
Fix incorrect truncation to int
2023-08-14 18:46:10 +02:00
Dan Balasescu
90d7e46e20 Fix incorrect truncation to int 2023-08-15 00:58:13 +09:00
Dean Herbert
34c761946c Don't completely fade FPS counter out when running at full FPS
I've heard multiple times from uses that this is distracting or
confusing.
2023-08-14 23:55:57 +09:00
Dean Herbert
fd3f5d8e79
Merge pull request #24538 from smoogipoo/temp-optional-difficulty-attribs
Temporarily allow new difficulty attributes to not exist
2023-08-14 17:33:30 +09:00
Dan Balasescu
d1a4a46fd3 Temporarily allow new difficulty attributes to not exist 2023-08-14 16:59:01 +09:00
Bartłomiej Dach
3178865cd3
Fix playfield skinnable layer bounds being incorrectly calculated with multiple stages
Closes #24514.

The original PR was _supposed_ to be handling this, and had code that
_looked_ like it would handle it, but was in fact subtly wrong, as the
union of `RectangleF.Empty` (initial value of `area`) and an arbitrary
other rectangle is _not_ the second rectangle, but rather a rectangle
that contains _both_ the second rectangle and the point (0,0),
thus leading to the bound calculation fail.
2023-08-12 21:55:20 +02:00
Bartłomiej Dach
d2baffa0e7
Merge pull request #24518 from peppy/update-framework
Update framework
2023-08-12 11:44:25 +02:00
Dean Herbert
0eaa383120 Update framework 2023-08-12 17:54:05 +09:00
Dean Herbert
7fa3508a0b
Merge pull request #24511 from bdach/legacy-exporter-not-converting
Fix legacy beatmap exporter not converting beatmap between decode and re-encode
2023-08-12 14:28:08 +09: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
37361cd683
Repurpose Flat{File -> }WorkingBeatmap 2023-08-12 00:49:42 +02:00
Dean Herbert
896cbb0ba0 Update framework 2023-08-11 21:34:59 +09:00
Dean Herbert
5b44124ecf
Merge pull request #24409 from cdwcgt/tournament-nullable
Remove #nullable disable in tournament
2023-08-10 19:38:16 +09:00
Bartłomiej Dach
3501b7c22b
Fix some more nullability inspections 2023-08-09 21:32:46 +02:00
Dean Herbert
4e83245acf Apply nullability to all remaining tests where it wasn't applied 2023-08-10 00:24:57 +09:00
Dean Herbert
6549ca5304 Revert some usages of AsNonNull() in tests
We generally prefer `!` when it is unambiguous usage (ie. direct access).
2023-08-10 00:20:37 +09:00
cdwcgt
5ad80879b7
let MatchIPCInfo .Beatmap be nullable 2023-08-09 19:13:49 +09:00
cdwcgt
5898a9986b
Revert "use no null when true"
This reverts commit 6ad8339c66.
2023-08-09 19:11:36 +09:00
Dean Herbert
c88045dfc7 Fix weird usage of Cast 2023-08-09 18:21:57 +09:00
Bartłomiej Dach
66e404f289
Merge pull request #24467 from Joehuu/block-exit-if-save-failed
Block beatmap editor from testing/exiting/exporting when saving fails
2023-08-09 00:14:23 +02:00
Bartłomiej Dach
2698ec9206
Merge branch 'master' into block-exit-if-save-failed 2023-08-08 23:41:03 +02:00
Bartłomiej Dach
c56ca40635
Merge pull request #24406 from Joehuu/fix-break-info-decimal-separator
Fix accuracy break info decimal separator being incorrect in certain languages
2023-08-08 23:20:00 +02:00
Bartłomiej Dach
500a1363ec
Merge branch 'master' into fix-break-info-decimal-separator 2023-08-08 22:49:00 +02:00
Bartłomiej Dach
d91798271d
Add test case covering exit block
Co-authored-by: Joseph Madamba <madamba.joehu@outlook.com>
2023-08-08 22:06:49 +02:00
Joseph Madamba
49f5d6813e
Block beatmap editor from testing/exiting/exporting when saving fails 2023-08-04 22:08:25 -07:00
Dean Herbert
e13eb7588d
Merge pull request #24461 from Joehuu/changelog-entry-links 2023-08-04 19:45:07 +08:00
Joseph Madamba
d179fe3d96
Add support for changelog entries with url attached 2023-08-03 23:24:37 -07:00
Bartłomiej Dach
270c03235d
Merge pull request #24448 from peppy/multi-spectator-better-start-time
Improve choice of where to start playback of multiplayer spectator
2023-08-03 22:42:09 +02:00
Bartłomiej Dach
785d2ed9b1
Merge branch 'master' into multi-spectator-better-start-time 2023-08-03 22:07:47 +02:00
Bartłomiej Dach
bd8b9c8e63
Merge pull request #24387 from peppy/playfield-skin-layer
Add new skin layer to allow components anchored to the playfield
2023-08-03 22:06:17 +02:00
Bartłomiej Dach
52b1073d93
Fix playfield skin layer not rotating correctly with barrel roll mod 2023-08-03 21:08:00 +02:00
Bartłomiej Dach
dde03b7d46
Merge branch 'master' into playfield-skin-layer 2023-08-03 20:42:15 +02:00