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

70023 Commits

Author SHA1 Message Date
Jay Lawton
85aa2ea8af Change Convert Bonuses to Performance 2024-10-31 10:15:29 +10:00
Nathen
101a4028fa LTCA save me 2024-10-30 18:57:47 -04:00
Dean Herbert
50be7fb077
Merge pull request #30453 from bdach/everything-is-terrible
Fix several issues with beatmap online ID management
2024-10-30 19:22:37 +09:00
Bartłomiej Dach
7e3564cb4a
Bring back matching by filename when performing online metadata lookups 2024-10-30 10:25:20 +01:00
Bartłomiej Dach
d52f8c6379
Merge pull request #30450 from Joehuu/fix-polygon-popover-anchor
Fix editor sidebar resizing on hover repeatedly when polygon popover is opened
2024-10-30 09:47:24 +01:00
Bartłomiej Dach
2b0fd3558f
Remove more no-longer-required checks
The scenario that remaining guard was trying to protect against is
obviated by and no longer possible after
776fabd77c.
2024-10-30 08:44:23 +01:00
Bartłomiej Dach
0e52797f29
Prefer not deleted models when picking model instances for reuse when importing
This fell out while investigating why the issue with online IDs
mismatching in the `.osu` could be worked around by importing the map
three times in total when starting from it not being available locally.

Here follows an explanation of why that "helped".

Import 1:
- The beatmap set is imported normally.
- Online metadata population sees the online ID mismatch and resets it
  on the problematic beatmap.

Import 2:
- The existing beatmap set is found, but deemed not reusable
  because of the single beatmap having its ID reset to -1.
- The existing beatmap set is marked deleted, and all the IDs of
  its beatmaps are reset to -1.
- The beatmap set is reimported afresh.
- Online metadata population still sees the online ID mismatch
  and resets it on the problematic beatmap.

Note that at this point the first import *is still physically present
in the database* but marked deleted.

Import 3:
- When trying to find the existing beatmap set to see if it can be
  reused, *the one pending deletion and with its IDs reset -
  - the remnant from import 1 - is returned*.
- Because of this, `validateOnlineIds()` resets online IDs
  *on the model representing the current reimport*.
- The beatmap set is reimported yet again.
- With the online ID reset, the online metadata population check for
  online ID mismatch does not run because *the IDs were reset to -1*
  earlier.

Preferring undeleted models when picking the model instance for reuse
prevents this scenario.
2024-10-30 08:18:44 +01:00
Bartłomiej Dach
2c2f307a63
Remove no longer applicable test
After dd06dd0e699311494412e36bc3f37bb055a01477 the behaviour set up on
the mock in the test in question is no longer realistic. Online
metadata lookups will no longer fall back to online ID or filename.
2024-10-30 08:17:54 +01:00
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
Bartłomiej Dach
1a2e323c11
Remove problematic online ID check 2024-10-30 07:40:08 +01:00
Bartłomiej Dach
40c2d4e942
Adjust test to match desired reality 2024-10-30 07:35:00 +01:00
Joseph Madamba
74dc0dc480
Fix editor sidebar resizing on hover repeatedly when polygon popover is opened 2024-10-29 20:24:46 -07: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
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
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
Bartłomiej Dach
0b3d906e31
Fix test failures 2024-10-25 19:18:09 +02: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
47aa2c2bfc
Merge pull request #29648 from OliBomby/auto-addition2
Add support for the auto sample addition bank in the editor
2024-10-25 16:15:52 +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
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
a039ee8305
Merge pull request #30408 from OliBomby/clean-editor-test
Move TestTouchInputAfterTouchingComposeArea to separate test scene
2024-10-24 18:42:41 +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
OliBomby
ddbeb56f0f Show tooltip on auto normal bank when not usable 2024-10-23 21:25:37 +02:00
OliBomby
bf88219dfb Move TestTouchInputAfterTouchingComposeArea to separate test scene 2024-10-23 20:21:38 +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
b1b0aadbfb
Merge pull request #30294 from bdach/fuzzin
Fix several cases of deselection not correctly terminating drag operations on slider selection blueprint
2024-10-23 18:35:52 +09:00
Dean Herbert
ba4411f72c
Merge pull request #30315 from OliBomby/popover-ux
Improve scale/rotate popover UX to better match user expectation
2024-10-23 18:18:24 +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
7df3976d1c
Merge pull request #30284 from bdach/mania-selection-preservation-again
Fix flip operations sometimes not preserving selection in mania editor
2024-10-23 16:13:20 +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
Dan Balasescu
71eb7120ba
Merge pull request #27691 from Finadoggie/estimation-removal
Remove estimations where score data is available for osu! difficulty calculations
2024-10-23 00:59:34 +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