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

66424 Commits

Author SHA1 Message Date
Bartłomiej Dach
83e47b3c4c
Fix exports containing zero byte files after import from specific ZIP archives
Closes https://github.com/ppy/osu/issues/27540.

As it turns out, some ZIP archivers (like 7zip) will decide to add fake
entries for directories, and some (like windows zipfolders) won't.
The "directory" entries aren't really properly supported using any
actual data or attributes, they're detected by sharpcompress basically
by heuristics:

    ab5535eba3/src/SharpCompress/Common/Zip/Headers/ZipFileEntry.cs (L19-L31)

When importing into realm we have thus far presumed that these directory
entries will not be a thing. Having them be a thing breaks multiple
things, like:

- When importing from ZIPs with separate directory entries, a separate
  `RealmFile` is created for a directory entry even though it doesn't
  represent a real file
- As a result, when re-exporting a model with files imported from such
  an archive, a zero-byte file would be created because to the database
  it looks like it was originally a zero-byte file.

If you want to have fun, google "zip empty directories". You'll see
a whole gamut of languages, libraries, and developers stepping on this
rake. Yet another episode of underspecced mistakes from decades ago
that were somebody's "good idea" but continue to wreak havoc forevermore
because now there are two competing conventions you can't just pick one.
2024-03-12 09:06:24 +01:00
Bartłomiej Dach
961058f5c8
Add failing test case 2024-03-12 09:05:28 +01:00
Dean Herbert
83052fe1d9
Downgrade realm to work around crashes on latest release
See https://github.com/ppy/osu/issues/27577.
2024-03-12 15:41:50 +08:00
Dean Herbert
45f9d722a5
Merge branch 'master' into osu-performance 2024-03-12 14:04:56 +08:00
jvyden
e4e7dd14f3
Revert "Update presence on changes to multiplayer room"
This reverts commit 8b730acb08.
2024-03-11 18:16:13 -04:00
jvyden
5580ce31fa
Log Discord RPC updates 2024-03-11 18:15:18 -04:00
Dean Herbert
301750f77f
Merge pull request #27574 from bdach/fix-invalid-type
Fix ruleset medals not displaying due to deserialisation failure
2024-03-12 05:20:22 +08:00
Bartłomiej Dach
f30dfcb728
Fix ruleset medals not displaying due to deserialisation failure
🤦🤦🤦🤦🤦🤦🤦🤦🤦🤦🤦🤦🤦🤦🤦🤦🤦🤦

Reported in
https://discord.com/channels/188630481301012481/188630652340404224/1216812697589518386.
2024-03-11 21:34:10 +01:00
Bartłomiej Dach
9bc55be515
Merge pull request #27564 from EVAST9919/editor-blueprint-gradient
Fix incorrect gradient application in `TimelineHitObjectBlueprint`
2024-03-11 16:02:05 +01:00
Bartłomiej Dach
2b40effbdb
Merge pull request #27541 from Joehuu/wrap-beatmap-listing-filters
Wrap beatmap listing filters and match web spacing
2024-03-11 15:29:38 +01:00
Bartłomiej Dach
09179f99c0
Merge branch 'master' into wrap-beatmap-listing-filters 2024-03-11 14:59:48 +01:00
Bartłomiej Dach
e5e7c8f268
Wrap beatmap listing filter names too
While we're here fixing...

Addresses
https://github.com/ppy/osu/discussions/15452#discussioncomment-2734237.
2024-03-11 14:58:28 +01:00
Salman Ahmed
8b730acb08 Update presence on changes to multiplayer room 2024-03-11 13:16:00 +03:00
Salman Ahmed
169e2e1b4e Change maximum room number to closest powers of two 2024-03-11 13:16:00 +03:00
Dean Herbert
226df7163e
Update client ID 2024-03-11 16:55:49 +08:00
Dan Balasescu
e0f1f70b82
Adjust NRT to prevent future issues
This way, it will yet at us if the setter is ever moved out of the ctor.
2024-03-11 15:52:40 +09:00
Dean Herbert
fc05268fc3
Apply NRT to DrawableOsuEditorRuleset too 2024-03-11 14:45:52 +08:00
Dean Herbert
091425db30
Fix nullability hint 2024-03-11 14:43:58 +08:00
Dean Herbert
d12b11e234
Revert "Remove local optimisation in DrawableHitObject"
This reverts commit e3936930c7.
2024-03-11 13:14:29 +08:00
Dean Herbert
e3936930c7
Remove local optimisation in DrawableHitObject 2024-03-11 13:11:57 +08:00
Dean Herbert
f3d154a995
Add inline comment explaining optimisation 2024-03-11 11:28:15 +08:00
Dean Herbert
2be6d1f1c6
Apply NRT to OsuPlayfield 2024-03-11 11:26:03 +08:00
Salman Ahmed
283de215d3 Adjust log message and comment 2024-03-11 01:17:17 +03:00
Andrei Zavatski
6ecef33fd7 Fic incorrect ExtendableCircle gradient 2024-03-10 22:45:29 +03:00
Andrei Zavatski
6ff4b1d7e3 Don't update SubTreeMasking in OsuPlayfield 2024-03-10 15:42:03 +03:00
Dean Herbert
1ae8d341cc
Merge pull request #27556 from EVAST9919/editor-timing-alloc
Reduce allocations in editor timing screen
2024-03-10 09:43:02 +08:00
Dean Herbert
36f99a0c5a
Merge branch 'master' into editor-timing-alloc 2024-03-10 09:03:24 +08:00
Dean Herbert
b07f903d63
Merge pull request #27558 from EVAST9919/argon-sound-test-scene 2024-03-10 09:01:05 +08:00
Andrei Zavatski
e08651668c Fix TestSceneSkinnableSound failing 2024-03-09 21:55:00 +03:00
Andrei Zavatski
549a8d678e Reduce allocations in ControlPointList 2024-03-09 20:50:54 +03:00
Dean Herbert
31739be499
Update resources 2024-03-09 20:48:57 +08:00
Dean Herbert
d74ae12321
Merge pull request #27551 from EVAST9919/flag-tooltip-alloc
Reduce allocations while hovering `DrawableFlag`
2024-03-09 20:48:54 +08:00
Dean Herbert
b8a362fcb6
Simplify assignment by using an auto property 2024-03-09 20:17:27 +08:00
Andrei Zavatski
58b6acde10 Further simplify tooltip text creation 2024-03-09 14:10:32 +03:00
Andrei Zavatski
dd36942508 Reduce allocations in DrawableFlag tooltip 2024-03-09 13:58:05 +03:00
Dean Herbert
9b30fc484a
Merge pull request #27543 from EVAST9919/wiki-main-perf
Fix `WikiPanelContainer` causing allocations and poor performance
2024-03-09 10:21:36 +08:00
Andrei Zavatski
26c97ef733 Fix WikiPanelContainer causing poor performance 2024-03-09 00:51:33 +03:00
Joseph Madamba
db1c59475b Wrap beatmap listing filters and match web spacing 2024-03-08 12:13:54 -08:00
Dean Herbert
612bc66e86
Merge pull request #27535 from nekodex/argon-hitsounds
Add support for argon hitsounds
2024-03-09 01:47:35 +08:00
Jamie Taylor
27d78fdb08
Add fallback to find spinner samples without a bank prefix 2024-03-09 01:10:28 +09:00
Dean Herbert
5d40fdca86
Merge pull request #27533 from bdach/fix-flashlight-gaps
Fix 1px flashlight gaps when gameplay scaling mode is active
2024-03-08 22:55:18 +08:00
Jamie Taylor
ad842b60f5
Add support for Argon hitsounds 2024-03-08 21:43:18 +09:00
Dean Herbert
46e5bda40c
Fix test failures 2024-03-08 19:02:12 +08:00
Bartłomiej Dach
44d0dc6113
Fix 1px flashlight gaps when gameplay scaling mode is active
Closes https://github.com/ppy/osu/issues/27522.

Concerns mostly taiko and catch.

Not much of a proper fix rather than a workaround but it is what it is.
I tried a few other things, including setting `MaskingSmoothness = 0` on
the scaling container itself, to no avail.
2024-03-08 11:07:30 +01:00
Bartłomiej Dach
e18bbc9509
Merge pull request #27529 from peppy/fix-slider-repeat-visuals
Fix cross-talk between pooled `DrawableSliderRepeat` usage causing incorrect rotation
2024-03-08 09:21:34 +01:00
Dean Herbert
c9b4c684e5
Merge pull request #27403 from Gabixel/increase-modselect-initial-scroll
Change initial scroll effect to mod columns
2024-03-08 14:00:40 +08:00
Dean Herbert
5e7d9ea04a
Adjust scroll speed back to original 2024-03-08 13:59:04 +08:00
Dean Herbert
fcc35a6acc
Fix cross-talk between pooled DrawableSliderRepeat usage causing incorrect rotation 2024-03-08 11:37:13 +08:00
Dean Herbert
6323189cfb
Merge pull request #27498 from frenzibyte/argon-pp-counter
Add "Argon" performance points counter
2024-03-08 11:16:10 +08:00
Dean Herbert
d9cc619693
Merge branch 'master' into argon-pp-counter 2024-03-08 10:32:16 +08:00