Bartłomiej Dach
776fabd77c
Only use MD5 when performing metadata lookups
...
Both online and offline using the cache.
The rationale behind this change is that in the current state of
affairs, `TestPartiallyMaliciousSet()` fails in a way that cannot be
reconciled without this sort of change.
The test exercises a scenario where the beatmap being imported has an
online ID in the `.osu` file, but its hash does not match the online
hash of the beatmap. This turns out to be a more frequent scenario than
envisioned because of users doing stupid things with manual file editing
rather than reporting issues properly.
The scenario is realistic only because the behaviour of the endpoint
responsible for looking up beatmaps is such that if multiple parameters
are given (e.g. all three of beatmap MD5, online ID, and filename), it
will try the three in succession:
f6b341813b/app/Http/Controllers/BeatmapsController.php (L260-L266)
and the local metadata cache implementation reflected this
implementation.
Because online ID and filename are inherently unreliable in this
scenario due to being directly manipulable by clueless or malicious
users, neither should not be used as a fallback.
2024-10-30 08:12:30 +01:00
Luke Knight
b42fa23e42
Prevent key bind conflict on reversion
2024-10-30 02:04:03 -05:00
Bartłomiej Dach
1a2e323c11
Remove problematic online ID check
2024-10-30 07:40:08 +01:00
Dan Balasescu
904b76b9d7
Merge pull request #30424 from bdach/wtf-wtf-wtf-wtf
...
Do not fall back to beatmap's original ruleset if conversion fails
2024-10-28 17:14:19 +09:00
StanR
86989aa5ce
Fix UserRankPanel
rank overflowing on 6+ digits
2024-10-27 13:40:29 +05:00
Salman Alshamrani
0e65655fef
Remove redundant condition in else branch
...
Yep.
2024-10-25 23:15:17 -04:00
Bartłomiej Dach
09582aa653
Merge pull request #30413 from peppy/slider-bar-focus
...
Adjust slider bar implementations to show focused state
2024-10-25 21:51:54 +02:00
Bartłomiej Dach
b78e7d5d9a
Fix multiplayer song select not correctly applying filter sometimes
...
Fixes the root client-side failure causing
https://github.com/ppy/osu/issues/30415 .
Thread of breakage is as follows:
1. `SongSelect` loads the carousel.
At this point, the ruleset is what the ambient ruleset would have
been at the time of pushing song select, so most likely it will
match the current ruleset.
Notably, the carousel is loaded with `AllowSelection == false`.
2. `OnlinePlaySongSelect` sets the ruleset to the one taken from
the relevant playlist item in `LoadComplete()`.
3. At any point between the previous and the next step, the user
changes the ruleset manually.
4. `SongSelect.carouselBeatmapsLoaded()` is ran, which calls
`transferRulesetValue()`, which calls `FilterControl.FilterChanged`.
But at this stage `Carousel.AllowSelection` is still false, so
the filter is not executed, but `pendingFilterApplication` is set
instead.
Unfortunately, the pending filter never gets applied after that.
The only place that checks that flag is `OnEntering()`, which at
this point has already ran.
To fix, move the `pendingFilterApplication` check to `Update()`, which
seems like the most obvious and safe solution.
2024-10-25 21:29:53 +02:00
Bartłomiej Dach
e96d593b1f
Fix redundant array type specification
2024-10-25 19:58:31 +02:00
Bartłomiej Dach
b72a50bbaa
Merge pull request #30387 from peppy/editor-sidebars-always-expanded
...
Keep editor sidebars expanded by default
2024-10-25 19:46:35 +02:00
Jamie Taylor
f5071c205f
Increase ducking duration when selecting Mania ruleset
2024-10-26 01:45:51 +09:00
Bartłomiej Dach
9902c22f5c
Do not fall back to beatmap's original ruleset if conversion fails
...
I don't know why this was ever a good idea, and would say that we want
this to fail *hard* not soft. If things ever get in this state, things
have gone *seriously* wrong elsewhere, and need to be fixed there.
2024-10-25 13:16:24 +02:00
Dean Herbert
68e8819f3b
Fix taiko playfield looking weird with new editor toolbox displays
2024-10-25 17:17:19 +09:00
Dean Herbert
1fc221bb39
Fix focus glow appearing above range slider's nubs
2024-10-25 16:13:02 +09:00
Dean Herbert
c666fa7472
Update framework
2024-10-25 16:09:08 +09:00
Salman Alshamrani
1d559b2cad
Remove fade transitions
2024-10-24 16:20:49 -04:00
OliBomby
eb61da4232
only consider hit objects which are visible in timeline for contracted state
2024-10-24 21:22:09 +02:00
Dean Herbert
6e8400a958
Fix gap in ShearedSliderBar
when focused
2024-10-24 20:37:38 +09:00
OliBomby
88e88bdc4f
Fix addition banks disabled on reset
2024-10-24 13:17:49 +02:00
OliBomby
5b92a9ff59
Fix enabled state not updating drawable
2024-10-24 13:15:09 +02:00
Dean Herbert
940220b649
Fix big oops
2024-10-24 19:57:39 +09:00
Dean Herbert
6dd1efa013
Adjust slider bar implementations to show focused state
2024-10-24 19:46:20 +09:00
Dean Herbert
787d3dceea
Merge branch 'master' into auto-addition2
2024-10-24 18:40:27 +09:00
Dean Herbert
77bd0e8d70
Add visual disabled state to ternary buttons
2024-10-24 18:36:34 +09:00
Salman Alshamrani
6e9ff49e59
Merge branch 'master' into editor-slider-touch-support-2
2024-10-23 17:02:38 -04:00
Salman Alshamrani
3a4d5af83e
Fix placement blueprints sometimes not behaving correctly with touch input
...
More specifically, this fixes placement blueprints not beginning placement when using touch input while the cursor was previously outside compose area, due to the placement blueprint not existing (removed from the scene by `ComposeBlueprintContainer`).
2024-10-23 16:51:21 -04:00
OliBomby
ddbeb56f0f
Show tooltip on auto normal bank when not usable
2024-10-23 21:25:37 +02:00
Dean Herbert
7b2ca2f388
Merge pull request #30400 from peppy/quote-source-search
...
Quote source text when searching for it via click
2024-10-23 23:50:03 +09:00
Dean Herbert
77d2f35765
Merge pull request #30375 from bdach/fix-broken-playfield-skin-layer-rotation
...
Fix playfield skinning layer no longer correctly rotating with the playfield
2024-10-23 19:50:39 +09:00
Dean Herbert
064aaeb60e
Initialise container earlier to avoid null reference failures
2024-10-23 18:46:20 +09:00
Dean Herbert
c1453cfd0c
Merge pull request #30389 from bdach/fix-looping-samples-not-stopping
...
Fix old looping samples not stopping when replacing a `SkinnableSound`'s `Samples`
2024-10-23 18:39:55 +09:00
Dean Herbert
cb880f7e9b
Merge branch 'master' into move-already-placed-objects-when-adjusting-offset-bpm
2024-10-23 18:20:43 +09:00
Dan Balasescu
2bea1fe4a6
Also add source prefix
2024-10-23 16:21:28 +09:00
Dan Balasescu
af7d35bfbf
Doubly quote strings
...
Note the external-action case (currently used for tags) doesn't match
osu!web but it doesn't matter because tags are single words
anyway.
2024-10-23 16:15:49 +09:00
Dean Herbert
5939c78760
Merge branch 'master' into auto-addition2
2024-10-23 15:53:07 +09:00
Dean Herbert
2103b3e186
Merge pull request #28863 from OliBomby/additions
...
Add toggles and hotkeys for configuring sample addition bank
2024-10-23 15:52:55 +09:00
Dean Herbert
21351b1be4
Quote source text when searching for it via click
...
Addresses https://github.com/ppy/osu/discussions/30181 .
2024-10-23 15:41:42 +09:00
Bartłomiej Dach
1008d32ddb
Fix old looping samples not stopping when replacing a SkinnableSound
's Samples
...
Closes https://github.com/ppy/osu/issues/30365 .
2024-10-22 14:35:21 +02:00
Dean Herbert
53a340938a
Merge pull request #30377 from bdach/very-bad-completely-no-good-comparer
...
Fix timeline blueprints sometimes causing crashes due to current placement blueprint becoming unsorted
2024-10-22 20:20:03 +09:00
Bartłomiej Dach
24dfc1b66e
Merge pull request #30328 from TaterToes/seekingControlPointFix
...
Add breathing room to seek back between control points in editor
2024-10-22 13:14:24 +02:00
Dean Herbert
213be029ed
Merge pull request #30382 from Maks1mio/ChatChannelListSearch
...
Add search box to chat overlay
2024-10-22 20:10:53 +09:00
Dean Herbert
e37d415c6f
Keep editor sidebars expanded by default
...
They will not only contract if the user chooses to have them contract
(new setting in the `View` menu) or if the game isn't wide enough to
allow full interaction with the playfield while they are expanded.
Addressess https://github.com/ppy/osu/discussions/28970 .
2024-10-22 20:08:50 +09:00
Bartłomiej Dach
2ab68c6ab9
Select first filtered channel on search box commit
2024-10-22 12:29:23 +02:00
Bartłomiej Dach
826b35e031
Use SearchContainer
instead of manual search implementation
2024-10-22 12:29:20 +02:00
Dean Herbert
c15490ed58
Merge pull request #30146 from bdach/lookup-users-endpoint
...
Fix currently online display hitting rate limits
2024-10-22 19:24:14 +09:00
Dean Herbert
7b3376ccd6
Merge pull request #30385 from peppy/fix-selection-lost-during-update
...
Fix beatmap selection being lost during update process
2024-10-22 19:24:01 +09:00
Dean Herbert
3158338fe4
Merge pull request #30137 from bdach/send-mods-in-frame-headers
...
Send mods in spectator frame headers
2024-10-22 19:23:21 +09:00
Dean Herbert
187fa5eccd
Use full async
flow rather than ContinueWith
2024-10-22 18:48:01 +09:00
Dean Herbert
6ea1623889
Merge branch 'master' into lookup-users-endpoint
2024-10-22 18:48:00 +09:00
Bartłomiej Dach
256d8c6559
Move search box to the top, remove redundant heading, and use existing search box
2024-10-22 11:28:59 +02:00
Bartłomiej Dach
84e08d96ca
Merge pull request #30330 from jhk2601/mod_acronym_search_fix
...
Prioritize selecting exact searched acronym with select keybind
2024-10-22 11:20:06 +02:00
Dean Herbert
a35551ecd9
Merge pull request #30383 from CloneWith/feature/placeholder-hoverbk
...
Add hover background back to `ClickablePlaceholder`
2024-10-22 18:17:36 +09:00
Dean Herbert
16bc188ba7
Refactor code to read better (and adjust lenience to match stable)
2024-10-22 18:08:25 +09:00
Dean Herbert
e1a950e2d3
Fix beatmap selection being lost during update process
...
Broke due to something changing in the way we handle realm things in the
carousel. The deselection happens in `updateBeatmapSet` so we need to
store / check the original selection before this occurs.
Doesn't seem this had test coverage? Probably implies that the overhead
of adding a test was very large, so maybe best to leave it that way.
2024-10-22 17:53:34 +09:00
Dean Herbert
13fba9f92e
Adjust glow slightly
2024-10-22 17:16:09 +09:00
Bartłomiej Dach
03683e28be
Merge branch 'master' into editor-slider-touch-support-1
2024-10-22 09:31:03 +02:00
EvT
17cd411567
Added search box to ChannelGroup Private Message
2024-10-22 01:33:53 +03:00
Dean Herbert
cbaee98674
Don't delete scores when deleting beatmaps
...
The score model's spec allows for null `BeatmapInfo` so the reasoning of
the inline comment is no longer valid. We match based on hash these
days.
2024-10-22 01:39:05 +09:00
Bartłomiej Dach
455ed0607f
Merge pull request #30346 from wezwery/perfect-combo-and-accuracy-highlighted
...
Highlight maximum combo and accuracy on user best score display to match web
2024-10-21 15:34:03 +02:00
CloneWith
9940be818d
Add hover color back to ClickablePlaceholder
2024-10-21 21:09:26 +08:00
Bartłomiej Dach
dbc2e78dd9
Fix timeline blueprints sometimes causing crashes due to current placement blueprint becoming unsorted
...
Closes https://github.com/ppy/osu/issues/30324 .
2024-10-21 14:48:57 +02:00
Bartłomiej Dach
0a15eec7de
Remove unused using directive
2024-10-21 13:52:17 +02:00
Bartłomiej Dach
e89a4561ab
Fix playfield skinning layer no longer correctly rotating with the playfield
...
Closes https://github.com/ppy/osu/issues/30353 .
Regressed in
4a39873e2a
.
2024-10-21 13:49:12 +02:00
Bartłomiej Dach
a90ad63493
Change property type
...
Nobody is supposed to be using `ColourInfo` directly, really.
2024-10-21 12:47:41 +02:00
Bartłomiej Dach
8349226d9f
Merge branch 'master' into barrel_roll_fix
2024-10-21 12:33:37 +02:00
OliBomby
22aef90cb7
dont contract samples for stacked objects
2024-10-20 00:07:40 +02:00
OliBomby
f137fed04e
Update sample point contracted state each frame
2024-10-19 23:57:41 +02:00
OliBomby
c03017438e
Use FinishTransforms to init visual state
2024-10-19 23:57:05 +02:00
Wezwery
47936c7b02
Add blank line to TopScoreStatisticsSection.cs:238
2024-10-19 13:41:36 +03:00
Wezwery
df90b726b9
Add highlight to combo and accuracy when max.
2024-10-19 03:08:08 +03:00
TaterToes
5fe074a0f9
Merge branch 'master' into seekingControlPointFix
2024-10-18 10:59:57 -04:00
Bartłomiej Dach
00b2bdd0af
Merge pull request #30334 from SupDos/argonsongprogress-absolute-size
...
Add "Use relative size" setting to argon & default song progress
2024-10-18 13:35:26 +02:00
Bartłomiej Dach
05e2f6db8e
Add preselection indicator for better visibility what will be selected
2024-10-18 13:23:37 +02:00
TaterToes
1cc6309656
attempt to fix formatting
2024-10-18 07:21:05 -04:00
TaterToes
b35b16dc10
Merge branch 'ppy:master' into seekingControlPointFix
2024-10-18 06:07:57 -04:00
Dan Balasescu
def499e7cb
Merge branch 'master' into bat-mods
2024-10-18 18:58:45 +09:00
Bartłomiej Dach
47f10693c4
Add relative size toggle to DefaultSongProgress
too
2024-10-18 11:43:03 +02:00
Dan Balasescu
083644b713
Refactor a bit
2024-10-18 18:40:25 +09:00
Bartłomiej Dach
bb4f3c71e0
Add localisation support for "use relative size" setting label
2024-10-18 11:39:55 +02:00
Bartłomiej Dach
8e01020f3e
Merge branch 'master' into refactor-bat-component
2024-10-18 10:50:21 +02:00
Dan Balasescu
e27aa0c761
Return empty strings rather than erroring
...
Preventing malicious actors from permanently destroying games via skins.
2024-10-18 17:18:01 +09:00
Dan Balasescu
2de5e3392e
Only add as many values as are replaced
2024-10-18 17:16:42 +09:00
Dean Herbert
7ca5f91c15
Update signalr exceptions in line with deprecated ctor
2024-10-18 16:20:07 +09:00
Dean Herbert
ca2bd640b4
Update all dependencies (except realm, nunit, moq and deepclone)
2024-10-18 16:20:07 +09:00
Bartłomiej Dach
8804769da1
Use better exception messaging
2024-10-18 08:51:01 +02:00
Bartłomiej Dach
b455b9ad09
Discard unused argument
2024-10-18 08:39:23 +02:00
Dean Herbert
8193038986
Expose no-op constructors as protected
2024-10-18 13:30:29 +09:00
SupDos
7d0da79db7
Add Use relative size setting to ArgonSongProgress
2024-10-18 01:47:54 +02:00
TaterToes
0a8ba4bfb5
cleanup
2024-10-17 18:41:00 -04:00
TaterToes
c8b0220934
fix comment
2024-10-17 18:12:05 -04:00
TaterToes
e10293531b
adjust margin time and apply rate adjust
2024-10-17 18:10:48 -04:00
jhk2601
9a0356919c
Also handle full mod name (likely irrelevant but might as well)
2024-10-17 17:11:01 -04:00
jhk2601
2ef8720590
Adds logic to prioritize selecting exact mod acronyms when they are searched
2024-10-17 17:04:13 -04:00
TaterToes
45dd9b1167
Forgot subtraction
2024-10-17 17:01:42 -04:00
TaterToes
3fe0791298
fix seeking back on control points
2024-10-17 16:26:13 -04:00
jhk2601
7416106321
Fixes cursor rotating along with playfield when using Barrel Roll in standard
2024-10-17 14:38:13 -04:00
Dan Balasescu
0473f0b60a
Use stored difficulty to reduce flickering
2024-10-17 20:39:50 +09:00
Dan Balasescu
2ce1475303
Merge branch 'bat-mods' into bat-max-performance
2024-10-17 20:38:29 +09:00
Dan Balasescu
b40c31af3a
Store difficulty to reduce flickering
...
The computation usually finishes in a few milliseconds anyway.
2024-10-17 20:37:37 +09:00
Dan Balasescu
6749768b9e
Add max performance beatmap attribute text
2024-10-17 20:00:18 +09:00
Dan Balasescu
bfcf6693ca
Simplify implementation
2024-10-17 20:00:17 +09:00
Dan Balasescu
d195a69447
Compute maximum performance along with difficulty
2024-10-17 19:26:19 +09:00
Dan Balasescu
f9a9ceb41c
Also bind to mod setting changes
2024-10-17 17:57:49 +09:00
Dan Balasescu
9ea15a3961
Show bpm and length inclusive of mods
2024-10-17 17:57:49 +09:00
Dan Balasescu
400142545d
Show difficulty values inclusive of mods
2024-10-17 17:57:49 +09:00
Dan Balasescu
1e2c1323ff
Show star difficulty attribute inclusive of mods
2024-10-17 17:57:49 +09:00
Dan Balasescu
102f55a213
Refactor BeatmapAttributeText to compute values on the fly
2024-10-17 16:10:06 +09:00
Dean Herbert
dafe8d6448
Merge pull request #30145 from WitherFlower/ranked-date-filtering
...
Add ranked date and submitted date filtering to song select
2024-10-17 02:38:36 +09:00
Dean Herbert
b29a17364d
Remove hold-to-confirm delay when pausing using keyboard shortcuts
2024-10-16 20:41:24 +09:00
Bartłomiej Dach
dcf78a6e2c
Merge branch 'master' into grids
2024-10-16 09:55:27 +02:00
Bartłomiej Dach
8ed0554b91
Merge pull request #30245 from 424ever/group-slider-ends
...
Group `HitResult`s with the same name into one column in beatmap ranking
2024-10-16 09:40:45 +02:00
Dean Herbert
c9519dc90b
Merge pull request #30264 from LBlend/change-fps-toggle-keybind
...
Remove default keybind for "Toggle FPS counter"
2024-10-16 16:35:02 +09:00
Bartłomiej Dach
5fff632c9f
Merge pull request #30231 from SchiavoAnto/skin-editor-ui-localisation
...
Allow more localisation in skin editor
2024-10-16 09:17:45 +02:00
Bartłomiej Dach
f8a13b0beb
Fix migration not checking combination properly
2024-10-16 08:17:22 +02:00
Salman Alshamrani
e151c0fab1
Fix coding mistake
2024-10-14 15:11:44 -04:00
Jonas Brandstötter
a007a81fe8
Only keep track of the names of hit results to display in a ScoreTable
2024-10-14 16:55:07 +02:00
Jonas Brandstötter
285756802c
Sum up totals for hit results with the same name
2024-10-14 16:33:30 +02:00
Jonas Brandstötter
511f0e99b3
Correct typo
2024-10-14 16:16:00 +02:00
Jonas Brandstötter
25c0ff4168
Correct reference to hit result and link to them
2024-10-14 16:14:29 +02:00
schiavoanto
d7021f989b
Revert 9cd7f2b
and fc1ebfd
2024-10-14 16:14:23 +02:00
Jonas Brandstötter
750e0b29ca
Use ChildrenOfType<>
to get ScoreTable to test
2024-10-14 16:11:58 +02:00
Leander Furumo
035e5a9613
migrate clearance of conflicting ToggleFPSDisplay keybind
2024-10-14 16:03:29 +02:00
Salman Alshamrani
40b98d4863
Move conditional
2024-10-14 09:55:24 -04:00
Bartłomiej Dach
8cec318c1f
Loop track even if shuffling if there is only one available
...
Co-authored-by: Dean Herbert <pe@ppy.sh>
2024-10-14 15:28:32 +02:00
Bartłomiej Dach
17aed26f85
Fix shuffle not actually changing the track sometimes
...
See https://github.com/ppy/osu/pull/30215#issuecomment-2407775408 for
context.
Turns out the test failures were more correct than I'd thought. The
long-and-short of it is that both in "pure random" mode and in
"permutation" mode, when running out of track history to fall
back on, it was possible for the random algorithm to pick the same song
twice in a row - which is probably not desired, and which this explicit
exclude should make impossible.
2024-10-14 13:18:45 +02:00
Shin Morisawa
8ff86d560f
Merge branch 'master' into master
2024-10-14 17:48:04 +09:00
Bartłomiej Dach
120eb9adea
Merge pull request #30261 from peppy/faster-quick-retry
...
Decrease the time it takes to quick retry by ~650 ms
2024-10-14 10:24:35 +02:00
Bartłomiej Dach
cd59b93cc9
Merge branch 'master' into feat/optimize-polygon-tool
2024-10-14 08:28:30 +02:00
Shin Morisawa
90a08b8a68
Fix Beatmap Delete Dialog
2024-10-14 09:55:28 +09:00
Leander Furumo
379794c462
replace empty keybinding array with input key type of None
2024-10-14 00:00:45 +02:00
Leander Furumo
0e768cc517
remove default keybind for toggling fps counter
2024-10-13 22:50:58 +02:00
Leander Furumo
8f1fbb44c4
change fps toggle keybind
2024-10-13 17:36:06 +02:00
Dean Herbert
53671ad11e
Only update beatmaps which actually had offsets
...
Without this every beatmap gets a write and it reloads the whole of song
select, basically.
2024-10-14 00:35:18 +09:00
Salman Alshamrani
f8c8184c5c
Fix placement blueprints not receiving latest mouse position with touch input
2024-10-13 11:01:18 -04:00
Dean Herbert
868a7db9e9
Start preparing player earlier when quick retrying
...
Should help with https://github.com/ppy/osu/issues/9039 .
2024-10-13 22:29:00 +09:00
Jonas Brandstötter
dcd3e5194e
Group HitResult
s with the same name into one column in beatmap ranking
...
Closes #29911
2024-10-12 22:53:08 +02:00
Artemis Rosman
e4f9c861ba
Add functionality to mass reset offsets
2024-10-13 00:50:45 +11:00
Dan Balasescu
2de1955892
Merge pull request #30218 from bdach/daily-challenge-conclusion-offline
...
Do not show daily challenge conclusion notification on disconnection
2024-10-12 18:14:22 +09:00
Joseph Madamba
71b08b54c1
Make TernaryStateRadioMenuItem
localisable
2024-10-11 18:48:04 -07:00
schiavoanto
fc1ebfdf64
Fix layers dropdown localised entries
2024-10-12 02:00:51 +02:00
schiavoanto
9cd7f2b5d4
Use LocalisableDescription
for skin editor layers dropdown
2024-10-12 01:38:52 +02:00
schiavoanto
1e7e2e0b1c
Add more localisation in skin editor
2024-10-12 00:55:33 +02:00
Marvin Schürz
f76a2d02f6
Make sure to properly update hitobjects
2024-10-11 23:22:15 +02:00
Dean Herbert
b62d9f8696
Fix bindings being clobbered
2024-10-12 02:19:02 +09:00
Dean Herbert
d07a2fbb57
Change shortcut to Shift
+G
2024-10-12 02:18:08 +09:00
Bartłomiej Dach
968835bb44
Do not show daily challenge conclusion notification on disconnection
...
Closes https://github.com/ppy/osu/issues/30194 .
2024-10-11 14:18:19 +02:00
Bartłomiej Dach
9d1eb842a7
Add failing test
2024-10-11 14:16:24 +02:00
OliBomby
550e575221
Rename "Cycle grid display mode" to "Cycle grid spacing"
...
The "display mode" is easy to confuse with grid type, so I renamed it to literally the grid property it affects.
2024-10-11 14:09:50 +02:00
OliBomby
b93bc21e45
Add back the old keybind for cycling grid spacing
2024-10-11 14:09:50 +02:00
Bartłomiej Dach
4a16341a94
Fix crash when switching tracks back and forth with shuffle on
2024-10-11 12:45:14 +02:00