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