Bartłomiej Dach
d8b3c28c2e
Use more neutral terminology to avoid contentious 'beatmap' term
2025-02-11 09:17:11 +01:00
Dean Herbert
b9ed217308
Add basic brighten animation instead
2025-02-11 17:13:34 +09:00
Bartłomiej Dach
884fa20b28
Remove completely unnecessary subscriptions per collection
2025-02-11 09:13:08 +01:00
Dean Herbert
1fa8d53232
Disable scale animation when holding editor "test" button
2025-02-11 17:11:20 +09:00
Dean Herbert
9bb108311f
Merge pull request #31848 from bdach/open-beatmap-in-browser-from-editor
...
Add menu items to open beatmap info & discussion pages in browser from editor
2025-02-11 16:55:02 +09:00
Bartłomiej Dach
18965fe0a2
Merge branch 'master' into collection-counts
2025-02-11 08:54:24 +01:00
Bartłomiej Dach
7db0a6f817
Update xmldoc
2025-02-11 16:14:47 +09:00
Bartłomiej Dach
daf0130b23
Reword copy to be less verbose
2025-02-11 08:06:12 +01:00
Dan Balasescu
e51c09ec3d
Fix inspection
...
Interestingly, this is not a compiler error nor does R# warn about it.
No problem, because this is just restoring the original code anyway.
2025-02-11 14:23:51 +09:00
Dan Balasescu
748c2eb390
Refactor RoomSubScreen
update
2025-02-11 12:43:54 +09:00
Dan Balasescu
78e5e0eddd
Refactor with a bit more null safety
...
In particular I don't like the non-null assert around
`GetCurrentItem()`, because there's no reason why it _couldn't_ be
`null`.
Consider, for example, if these panels are used in matchmaking where
there are no items initially present in the playlist.
The ruleset nullability part is debatable, but I've chosen to restore
the original code here.
2025-02-11 12:20:09 +09:00
Dean Herbert
8dc616738c
Merge pull request #31844 from bdach/fix-mp-players-appearing-as-spectators
...
Fix spectator list showing other users in multiplayer room even if they're not spectating
2025-02-10 21:49:06 +09:00
Dean Herbert
310700b4e7
Space out comment
2025-02-10 21:48:27 +09:00
Bartłomiej Dach
38e2f793ca
Add menu items to open beatmap info & discussion pages in browser from editor
2025-02-10 12:47:38 +01:00
Bartłomiej Dach
288851c606
Fix score position not being displayed in solo results screen
...
Closes https://github.com/ppy/osu/issues/31842 .
To be honest, I recall this working too, but I don't recall when it
might have broken, nor do I want to go look for the point of breakage
because it might be borderline impossible to find it now. So I'm just
fixing as if it was just a straight omission.
Opting for a client-side fix because server-side inclusion of the score
position for an entire leaderboard has been previously rejected as too
expensive:
https://github.com/ppy/osu-web/pull/11354#discussion_r1689217450
2025-02-10 12:17:52 +01:00
Bartłomiej Dach
ad642b8425
Fix spectator list showing other users in multiplayer room even if they're not spectating
2025-02-10 11:17:17 +01:00
Bartłomiej Dach
3ba56e009e
Privatise a few members
2025-02-10 10:41:10 +01:00
Dean Herbert
b8e33a28d2
Minor code refactors
2025-02-10 17:41:38 +09:00
Bartłomiej Dach
45259b374a
Remove unused using
2025-02-10 09:09:43 +01:00
Bartłomiej Dach
895493877c
Allow performing beatmap reload after submission from song select
2025-02-10 09:03:40 +01:00
Layendan
5e9f195117
Fix tests failing if playlist was empty
2025-02-09 23:27:28 -07:00
Dean Herbert
eae1ea7e32
Adjust animations and induce some short delays to make things more graceful
2025-02-10 15:23:25 +09:00
Dean Herbert
930aaecd7f
Fix back button displaying before it should
2025-02-10 15:22:31 +09:00
Dean Herbert
7853456c06
Add delay before browser displays beatmap
2025-02-10 15:12:59 +09:00
Dean Herbert
274b422139
Add percent progress display to editor footer
2025-02-10 14:51:48 +09:00
Layendan
f9bda0524a
Update button text to include downloaded beatmaps and collection status
2025-02-09 18:45:13 -07:00
SebastianPeP
bcd4fcbeed
Changed the Currently Playing Text when no track is selected
...
Changed the currently playing text for when the track isnt selected/loaded
2025-02-09 01:29:22 -03:00
Bartłomiej Dach
64f0d234d8
Fix exiting being eternally blocked after successful beatmap submission
2025-02-07 15:37:27 +01:00
Bartłomiej Dach
de0aabbfc5
Add staging submission service URL to development endpoint config
2025-02-07 15:34:52 +01:00
Bartłomiej Dach
1afd1f5000
Merge branch 'master' into bss/the-actual-submission
2025-02-07 15:30:37 +01:00
Layendan
d4c69f0c90
Assume room is setup correctly and remove duplicate maps before querying realm
2025-02-07 04:04:29 -07:00
Layendan
aad12024b0
remove using cache, improve tests, and revert loading
2025-02-07 03:13:51 -07:00
Bartłomiej Dach
a068d88b84
Merge pull request #31823 from peppy/carousel-v2-optimisation-pass
...
Refactor grouping to be much more efficient
2025-02-07 10:44:53 +01:00
Dean Herbert
753eae426d
Update strings
2025-02-07 18:42:41 +09:00
Dean Herbert
ce88ecfb3c
Adjust timeouts to be much higher for upload requests
...
It seems that right now these timeouts do not check for actual data
movement, which is to say if a user with a very slow connection is
uploading and it takes more than `Timeout`, their upload will fail.
For now let's set these values high enough that most users will not be
affected.
2025-02-07 18:39:01 +09:00
Dean Herbert
783ef00785
Change BeatmapSubmissionScreen
to use global back button instead of custom implementation
2025-02-07 18:34:48 +09:00
Dean Herbert
95967a2fde
Adjust beatmap stream creation to make a bit more sense
2025-02-07 18:17:49 +09:00
Bartłomiej Dach
ae179c8feb
Merge pull request #31824 from peppy/carousel-v2-group-click-transfer-keyboard
...
Always transfer keyboard selection on activation
2025-02-07 10:12:10 +01:00
Dean Herbert
12881f3f36
Don't show informational screens for subsequent submissions
...
These are historically only presented to the user when uploading a new
beatmap for the first time.
2025-02-07 18:06:31 +09:00
Dean Herbert
46290ae76b
Disallow changing beatmap / ruleset while submitting beatmap
2025-02-07 18:05:47 +09:00
Dean Herbert
6335228fb0
Merge branch 'master' into bss/the-actual-submission
2025-02-07 17:44:48 +09:00
Dean Herbert
cf4b501214
Merge pull request #31804 from bdach/bss/api-setup
...
Add API request & response structures for beatmap submission
2025-02-07 17:43:38 +09:00
Bartłomiej Dach
9af5ebbca9
Merge pull request #31822 from peppy/dont-submit-zero-scores
...
Don't attempt to submit zero scores
2025-02-07 09:42:38 +01:00
Dean Herbert
177ca4fb7c
Merge pull request #31799 from frenzibyte/carousel-v2-spacing
...
Support variable spacing between beatmap carousel panels
2025-02-07 17:41:28 +09:00
Dean Herbert
29b0b62ffa
Rename variables to something more sane
2025-02-07 17:39:38 +09:00
Dean Herbert
3da615481e
Change switch
to simple conditional for now
2025-02-07 17:38:24 +09:00
Dean Herbert
41c8f64806
Simplify naming of endpoints
2025-02-07 17:33:32 +09:00
Dean Herbert
c935c3154b
Always transfer keyboard selection on activation
2025-02-07 17:02:53 +09:00
Dean Herbert
9d979dc3f4
Refactor grouping to be much more efficient
2025-02-07 16:35:20 +09:00
Dean Herbert
50d880e2ae
Fix unnecessary BeatmapSet.Metadata
lookups
2025-02-07 16:09:36 +09:00
Dean Herbert
0235928fda
Merge pull request #31815 from smoogipoo/score-panel-ruleset
...
Add ruleset icon to expanded score panel
2025-02-07 16:04:24 +09:00
Dean Herbert
4d1167fdcc
Don't attempt to submit zero scores
2025-02-07 15:36:59 +09:00
Dean Herbert
d73f275143
Don't inflate set / group panels for simplicity
2025-02-07 15:15:59 +09:00
Dean Herbert
1cf375e329
Merge branch 'master' into carousel-v2-spacing
2025-02-07 14:34:59 +09:00
Dean Herbert
975c35f5ac
Also add difficulty icon to contracted panel
2025-02-07 14:27:37 +09:00
Dean Herbert
25846b2327
Adjust results screen designs and tests slightly
2025-02-07 14:21:43 +09:00
Layendan
2aa930a36c
Corrected notification strings
2025-02-06 17:46:49 -07:00
Layendan
6769a74c92
Add loading in case cache lookup takes longer than expected
2025-02-06 17:23:06 -07:00
Layendan
b7483b9442
Add playlist collection button w/ tests
2025-02-06 07:25:45 -07:00
Bartłomiej Dach
91bc23e39e
Merge pull request #31801 from peppy/carousel-v2-artist-grouping
...
Add support for grouping by artist to beatmap carousel v2
2025-02-06 13:13:35 +01:00
Dean Herbert
cb42ef95c5
Add invalidation on draw size change in beatmap carousel v2
...
Matching old implementation.
2025-02-06 17:48:42 +09:00
Dean Herbert
33035f0206
Merge branch 'master' into carousel-v2-spacing
2025-02-06 17:30:49 +09:00
Dean Herbert
f4bb3bc422
Merge pull request #31802 from frenzibyte/carousel-v2-depth-ordering
...
Allow ordering certain carousel panels behind others
2025-02-06 17:29:56 +09:00
Dean Herbert
bff686f012
Avoid double iteration when updating group states
2025-02-06 17:22:50 +09:00
Dean Herbert
024fbde0fd
Refactor selection and activation handling
...
I had a bit of a struggle getting header traversal logic to work well.
The constraints I had in place were a bit weird:
- Group panels should toggle or potentially fall into the prev/next
group
- Set panels should just traverse around them
The current method of using `CheckValidForGroupSelection` return type
for traversal did not mesh with the above two cases. Just trust me on
this one since it's quite hard to explain in words.
After some re-thinking, I've gone with a simpler approach with one
important change to UX: Now when group traversing with a beatmap set
header currently keyboard focused, the first operation will be to reset
keyboard selection to the selected beatmap, rather than traverse.
I find this non-offensive – at most it means a user will need to press
their group traversal key one extra time.
I've also changed group headers to always toggle expansion when doing
group traversal with them selected.
To make all this work, the meaning of `Activation` has changed somewhat.
It is now the primary path for carousel implementations to change
selection of an item. It is what the `Drawable` panels call when they
are clicked.
Selection changes are not performed implicitly by `Carousel` – an
implementation should decide when it actually wants to change the
selection, usually in `HandleItemActivated`.
Having less things mutating `CurrentSelection` is better in my eyes, as
we see this variable as only being mutated internally when utmost
required (ie the user has requested the change). With this change,
`CurrentSelection` can no longer become of a non-`T` type (in the
beatmap carousel implementation at least).
This might pave a path forward for making `CurrentSelection` typed, but
that comes with a few other concerns so I'll look at that as a
follow-up.
2025-02-06 17:02:44 +09:00
Bartłomiej Dach
e1a146d487
Remove unnecessary suppressions
2025-02-06 08:38:28 +01:00
Bartłomiej Dach
070d402ac2
Merge branch 'bss/api-setup' into bss/the-actual-submission
2025-02-06 08:38:08 +01:00
Bartłomiej Dach
5e74d82fc1
Suppress inspections for now
2025-02-06 08:32:08 +01:00
Bartłomiej Dach
5bcd79956b
Merge branch 'master' into bss/api-setup
2025-02-06 08:30:01 +01:00
Dan Balasescu
5b8b9589d8
Add ruleset icon to expanded score panel
2025-02-06 15:25:38 +09:00
Dean Herbert
342a66b9e2
Fix keyboard traversal on a collapsed group not working as intended
2025-02-06 14:49:58 +09:00
Dean Herbert
88ad87a78e
Expose set grouping state
2025-02-06 14:30:15 +09:00
Dan Balasescu
885ae7c735
Adjust styling
2025-02-06 14:25:08 +09:00
Dan Balasescu
d93f7509b6
Fix participant panels not displaying mods from other rulesets correctly
2025-02-06 14:24:09 +09:00
Dean Herbert
d9b370e3a1
Add xmldoc for menu implying external consumption
2025-02-06 13:48:38 +09:00
Dean Herbert
dd53ae0e02
Merge pull request #31806 from bdach/bookmark-follow-ups
...
Improve bookmark controls
2025-02-06 13:48:12 +09:00
Dean Herbert
4fda4d625f
Merge pull request #31803 from bdach/bss/submission-progress-display
...
Implement visual component for displaying submission progress
2025-02-06 13:37:08 +09:00
Dean Herbert
9cc90a51df
Adjust xmldoc and avoid LINQ overheads
2025-02-06 13:32:11 +09:00
Dan Balasescu
84206e9ad8
Initial support for freemod+freestyle
2025-02-06 13:29:16 +09:00
Bartłomiej Dach
10711e5e27
Add missing partial
2025-02-05 15:39:36 +01:00
Bartłomiej Dach
4cbfb51707
Fix undoing bookmark operations potentially making them unsorted
...
Found in testing of previous commit. This would break seeking between
bookmarks.
Reproduction steps on `master`:
- open map with bookmark
- delete the first bookmark
- undo the deletion of the first bookmark
- seek to previous bookmark will now always seek to the first bookmark
rather than closest preceding regardless of current clock time
2025-02-05 15:30:11 +01:00
Bartłomiej Dach
abce42b1c8
Improve bookmark controls
...
- Bookmark menu items get disabled when they would do nothing.
- Bookmark deletion only deletes the closest bookmark instead of all of
them within the proximity of 2 seconds to current clock time. Action
is only however *enabled* within 2 seconds of a bookmark.
Additionally, logic was moved out of `Editor` because it's a huge class
and I dislike huge classes if they can be at all avoided.
2025-02-05 15:28:27 +01:00
Bartłomiej Dach
78e85dc2c7
Add beatmap submission support
2025-02-05 14:01:37 +01:00
Bartłomiej Dach
fff99a8b40
Implement special exporter intended specifically for submission flows
2025-02-05 14:01:37 +01:00
Bartłomiej Dach
b6731ff773
Add completion flag to WizardOverlay
2025-02-05 14:01:37 +01:00
Bartłomiej Dach
8940ee5d9c
Add API request & response structures for beatmap submission
2025-02-05 14:00:50 +01:00
Bartłomiej Dach
aaffd72032
Add beatmap submission service URL to endpoint configuration
2025-02-05 13:49:25 +01:00
Bartłomiej Dach
7d299bb2ad
Expose EndpointConfiguration
directly in IAPIAccess
2025-02-05 13:31:37 +01:00
Bartłomiej Dach
092b953dca
Implement visual component for displaying submission progress
2025-02-05 13:31:35 +01:00
Bartłomiej Dach
ceb424faa1
Merge pull request #31798 from peppy/carousel-v2-async-fix
...
Fix `Carousel.FilterAsync` not working when called from a non-update thread
2025-02-05 12:23:27 +01:00
Dean Herbert
11de429621
Add support for grouping by artist
2025-02-05 19:48:41 +09:00
Salman Alshamrani
c370c75fe2
Allow ordering certain carousel panels behind others
2025-02-05 05:47:55 -05:00
Dean Herbert
ea725e2caf
Merge pull request #31524 from smoogipoo/user-panel-status
...
Display up-to-date online status in user panels
2025-02-05 19:22:27 +09:00
Salman Alshamrani
c389dbc711
Extend panel input area to cover gaps
2025-02-05 05:20:26 -05:00
Salman Alshamrani
fc5832ce67
Support variable spacing between carousel items
2025-02-05 05:20:26 -05:00
Dean Herbert
c37fa261c3
Merge pull request #31789 from bdach/distance-snap-fix
...
Fix distance snap grid not properly working due to multiple issues
2025-02-05 18:41:46 +09:00
Bartłomiej Dach
e5943e460d
Unify ConfigureAwait()
calls across method
2025-02-05 10:28:42 +01:00
Bartłomiej Dach
c5deb9f36b
Use alternative lockless solution for atomic cancellation token recreation
2025-02-05 10:28:25 +01:00
Dean Herbert
b7aa71c975
Adjust xmldoc slightly to convey the disposal pattern
2025-02-05 18:24:07 +09:00
Dean Herbert
9b79cf6c61
Merge pull request #31784 from bdach/bss/wizard-appearance
...
Implement visual appearance of beatmap submission wizard
2025-02-05 17:34:30 +09:00