1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-16 00:37:26 +08:00
Commit Graph

69393 Commits

Author SHA1 Message Date
Bartłomiej Dach
cefbc76490
Fix selection being dropped when changing carousel sort mode from difficulty sort
Closes https://github.com/ppy/osu/issues/29738.

This "regressed" in https://github.com/ppy/osu/pull/29639, but if I
didn't know better, I'd go as far as saying that this looks like a .NET
bug, because the fact that PR broke it looks not sane.

The TL;DR on this is that before the pull in question, the offending
`.Contains()` check that this commit modifies was called on a
`List<BeatmapSetInfo>`. The pull changed the collection type to
`BeatmapSetInfo[]`. That said, the call is a LINQ call, so all good,
right?

Not really. First off, the default overload resolution order means that
the previous code would call `List<T>.Contains()`, and not
`Enumerable.Contains<T>()`. Then again, why would that matter? In both
cases `T` is still `BeatmapSetInfo`, right? Well... about that...

It is difficult to tell for sure what precisely is happening here,
because of what looks like runtime magic. The end *symptom* is that the
old code ended up calling `Array<BeatmapSetInfo>.IndexOf()`, and the new
code ends up calling... `Array<object>.IndexOf()`.

So while yes, `BeatmapSetInfo` implements `IEquatable` and
the expectation would be that `Equals<BeatmapSetInfo>()` should be
getting called, the type elision to `object` means that we're back to
reference equality semantics, because that's what
`EqualityComparer.Default<object>` is.

A five-minute github search across dotnet/runtime yields this:

	c4792a228e/src/coreclr/vm/array.cpp (L984-L990)

Now again, if I didn't know better, I'd see that "OPTIMIZATION:"
comment, see what transpired in this scenario, and call that
optimisation invalid, because it changes semantics. But I *probably*
know that the dotnet team knows better and am probably just going to
take it for what it is, because blame on that code looks to be years
old and it's probably not a new behaviour. (I haven't tested empirically
if it is.)

Instead the fix is just to tell the `.Contains()` method to use the
correct comparer.
2024-09-08 16:06:35 +02:00
Bartłomiej Dach
134bcc85b7
Add failing test case 2024-09-08 16:06:35 +02:00
schiavoanto
2e6f17f253 Fixed wrong OverlayColourScheme 2024-09-08 16:04:10 +02:00
schiavoanto
cf23c6668c Added background color to hide beatmap background 2024-09-08 15:59:23 +02:00
Dean Herbert
4a6266efcf
Merge pull request #29714 from Crystallized21/total-participation-tooltip
Add Total Participation stat to users profile Daily Challenge Tooltip
2024-09-08 22:42:02 +09:00
Bartłomiej Dach
7f814d3106
Fix incorrect tiers being used for tooltip total participation display
Compare: 95e4561a54
2024-09-08 14:26:50 +02:00
Bartłomiej Dach
139fc07a09
Merge pull request #29770 from Ianlucht/Add-Animation-to-challenge-notification
Add daily challenge animation to daily challenge notification
2024-09-08 13:13:59 +02:00
smallketchup82
4cf057db8f
Completely disable velopack when using external update manager 2024-09-08 01:17:18 -04:00
Ianlucht
cd94d6e2bc fixed if statement format 2024-09-07 14:01:38 -06:00
Ianlucht
e6f81abc3b cleaned up whitespace 2024-09-07 13:57:12 -06:00
Ianlucht
170737b68f added DailyChallengeIntro to notification 2024-09-07 13:48:14 -06:00
Ianlucht
958bfde51d added DailyChallengeIntro to notification 2024-09-07 13:46:42 -06:00
schiavoanto
2bc6547d49 Code quality fix: added type 2024-09-07 16:23:23 +02:00
schiavoanto
32de8e9b2d Fixed ControlPointTable items being blocked by buttons 2024-09-07 16:15:00 +02:00
Dean Herbert
e88083adc1
Merge pull request #29762 from peppy/fix-beatmap-difficulty-splitting
Fix beatmap difficulties not being split out on first load
2024-09-07 23:12:37 +09:00
Dean Herbert
4c6eb89530
Fix beatmap difficulties not being split out on first load
Closes https://github.com/ppy/osu/issues/29728.
2024-09-07 22:14:03 +09:00
Dean Herbert
3e3ee3757c
Add failing test case for difficulty splitting 2024-09-07 22:14:02 +09:00
Dean Herbert
7f687d545d
Merge pull request #29715 from bdach/fix-stall-on-empty-replay-import-attempt
Fix stall when attempting to import replay after hitting nothing
2024-09-07 22:01:31 +09:00
Dean Herbert
10ef5a6d6d
Update framework 2024-09-07 21:46:43 +09:00
Dean Herbert
f3a07654d1
Merge pull request #29743 from smallketchup82/fix-file-associations
Fix file associations not updating or uninstalling
2024-09-07 21:23:51 +09:00
Dan Balasescu
02eb6835e3
Merge pull request #29745 from Ianlucht/fix-beatmap-artist-and-title-search-to-include-double-quotes-resolves#29708
Double-quote in beatmap listing when searching by artist/title
2024-09-07 18:42:27 +09:00
Dan Balasescu
ac6cce5911
Refactor to string interpolation 2024-09-07 17:40:33 +09:00
Dan Balasescu
6fb5c10f19
Merge pull request #29742 from SchiavoAnto/29736-results-collections-overflow
Fix collections overflowing in the results screen
2024-09-07 17:37:11 +09:00
Dan Balasescu
f1c024d3f0
Merge pull request #29759 from Bruno5430/fix-default-effect-control-point
Fix scroll speed slider defaulting to 0.01
2024-09-07 17:36:59 +09:00
Dean Herbert
9b189fd244
Fix windows check weirdness 2024-09-07 13:58:17 +09:00
Dean Herbert
41d32ab2ca
Fix display length not resetting to default because default was wrong
Closes https://github.com/ppy/osu/issues/29757.
2024-09-07 13:54:12 +09:00
Bruno Heredia
3b81ad4cbf
Fix scroll speed slider defaulting to 0.01 2024-09-07 01:44:40 -03:00
Ianlucht
581f190856 fixed issues with search by adding the double quotation marks in the BeatmapSetHeaderContents links. 2024-09-06 16:31:48 -06:00
schiavoanto
ed044d5b85 Fix proposal for #29736 2024-09-06 22:58:18 +02:00
smallketchup82
575da0992f
Fix file associations not updating & uninstalling 2024-09-06 16:16:40 -04:00
Bartłomiej Dach
4e9ad1388f
Fix stall when attempting to import replay after hitting nothing 2024-09-06 13:16:58 +02:00
Bartłomiej Dach
7e53df5226
Add failing test coverage 2024-09-06 13:15:21 +02:00
Michael Bui
a31ea24c6d show stats on all rulesets 2024-09-06 23:05:04 +12:00
Michael Bui
362b4bbc56 Hide daily challenge stats if there are no plays 2024-09-06 23:01:05 +12:00
Michael Bui
ab8771900a change colour 2024-09-06 22:04:10 +12:00
Michael Bui
34a9d60c19 revert back to axes.both 2024-09-06 22:02:35 +12:00
Michael Bui
f59895aa34 take out drawable 2024-09-06 21:54:41 +12:00
Michael Bui
15f73a3dfb show participation count in tooltip 2024-09-06 21:52:42 +12:00
Bartłomiej Dach
2c19b7994c
Implement "form" check box control 2024-09-06 11:45:13 +02:00
Dean Herbert
04d133832f
Merge pull request #29711 from smoogipoo/add-played-acronyms
Add 'yes'/'no' acronyms to the `played=` filter
2024-09-06 18:08:37 +09:00
Dean Herbert
a912d86dc9
Merge pull request #29710 from bdach/silence-favourite-button-errors
Silence beatmap retrieval failures from results screen favourite button
2024-09-06 18:08:32 +09:00
Dan Balasescu
6913d75792
Add 'yes'/'no' acronyms to the played= filter 2024-09-06 18:04:39 +09:00
Bartłomiej Dach
9f834ca1a2
Silence beatmap retrieval failures from results screen favourite button
As reported (very poorly) in
https://github.com/ppy/osu/pull/28991#issuecomment-2331854970.

I believe this is a total edge case and is mostly visible on dev due to
some beatmaps existing on `osu.ppy.sh` and not on `dev.ppy.sh`, but I
tend to agree in general that these types of failures should not be
firing very loud error notifications; logging to network and disabling
the button with a tooltip adjustment should be enough.
2024-09-06 10:29:23 +02:00
Bartłomiej Dach
925710d9b3
Merge pull request #29702 from peppy/fix-offset-control-wrong-order
Fix beatmap offset control not working correctly when calibrating from quitting gameplay
2024-09-06 09:39:14 +02:00
Dean Herbert
36a30cf077
Add note about using hard links in the future 2024-09-06 16:01:47 +09:00
Dean Herbert
96042349ac
Merge pull request #29707 from Sheppsu/replay-analysis-marker-depth
Fix replay analysis marker depth when rewinding
2024-09-06 12:03:35 +09:00
Sheppsu
e94e08fec3 fix marker depth when rewinding 2024-09-05 20:14:36 -04:00
Fabep
584d4a9abf Merge branch 'master' into ModCustomisationHeaderColor 2024-09-05 12:44:26 +02:00
Dean Herbert
9802b59459
Merge pull request #29693 from bdach/editor/setup-screen-textbox
Implement "form" text box control
2024-09-05 19:31:02 +09:00
Dean Herbert
37f61b26ea
Fix offset adjust control not correctly applying changes after song select quit
This is an interesting scenario where we arrive at a fresh
`BeatmapOffsetControl` but with a reference score (from the last play).

Our best assumption here is that the beatmap's offset hasn't changed
since the last play, so we want to use it for the `lastPlayBeatmapOffset`.
But due to unfortunate order of execution, `Current.Value` was not yet
initialised.
2024-09-05 19:04:52 +09:00