Craftplacer
b3ac67675e
Merge branch 'chat-mention' of github.com:Craftplacer/osu into chat-mention
2021-05-27 21:59:51 +02:00
Craftplacer
13b2b7c148
Fix formatting
2021-05-27 21:58:54 +02:00
Craftplacer
0b17af81f1
Use Contains instead of IndexOf
...
Co-authored-by: Berkan Diler <b.diler@gmx.de>
2021-05-27 09:48:30 +00:00
Dean Herbert
aa23c4a4b9
Merge branch 'master' into keyboard_shortcuts
2021-05-27 16:30:34 +09:00
Craftplacer
a679efac1c
Reduce duplicate notification code by making a base class
2021-05-27 01:00:26 +02:00
Craftplacer
cf39e58ce7
Subscribe to CollectionChanged before binding to JoinedChannels
2021-05-27 01:00:08 +02:00
Craftplacer
d47370bac9
Locally bind to LocalUser
2021-05-27 00:59:29 +02:00
Gagah Pangeran Rosfatiputra
905364b5fe
add url as argument for link action external
2021-05-26 19:34:34 +07:00
Dean Herbert
52ca2f4797
Merge branch 'master' into chat-mention
2021-05-26 16:00:26 +09:00
Dean Herbert
20f890cfd0
Merge branch 'master' into fix-spectator-playing-state-5
2021-05-21 16:49:22 +09:00
Dean Herbert
1c560a9490
Merge pull request #12869 from EVAST9919/sidebar
...
Add sidebar to news overlay
2021-05-21 16:21:18 +09:00
smoogipoo
7c59fb37f1
Move check into callback
2021-05-21 16:00:58 +09:00
smoogipoo
36aa186c6e
Merge branch 'thread-safe-spectator-client'
2021-05-21 16:00:24 +09:00
smoogipoo
7f712a4d04
Fix EndPlaying potentially doing cross-thread mutation
2021-05-21 15:57:39 +09:00
smoogipoo
2fdf8aa1aa
Add update thread assertions
2021-05-21 15:57:31 +09:00
smoogipoo
895eb14c5a
Forcefully end playing to fix test failures
2021-05-21 14:09:30 +09:00
Andrei Zavatski
bd80cf656a
Merge remote-tracking branch 'refs/remotes/ppy/master' into sidebar
2021-05-20 15:41:08 +03:00
smoogipoo
e3284b976d
Merge branch 'thread-safe-spectator-client' into fix-spectator-playing-state-5
2021-05-20 19:46:26 +09:00
smoogipoo
06c99e8c7c
Fix race due to StopWatchingUser() being called asynchronously
2021-05-20 19:45:31 +09:00
smoogipoo
7ee81669f7
Remove bind helpers from SpectatorClient
2021-05-20 19:27:43 +09:00
smoogipoo
b515fe3cb1
Fix playing user state not removed on stop watching
2021-05-20 19:20:09 +09:00
smoogipoo
89b4f69588
Expose playing user states as bindable dictionary
2021-05-20 19:19:39 +09:00
smoogipoo
2896da499d
Merge branch 'restructure-spectator-client' into thread-safe-spectator-client
2021-05-20 18:53:54 +09:00
smoogipoo
a74405d0ed
Merge branch 'master' into restructure-spectator-client
2021-05-20 18:53:42 +09:00
smoogipoo
10597f7e6a
Remove locking from SpectatorClient
2021-05-20 18:37:27 +09:00
smoogipoo
6eff8d513e
Annotate nullables
2021-05-20 17:51:09 +09:00
smoogipoo
df80531a0a
Split online connectivity into OnlineSpectatorClient
2021-05-20 16:30:56 +09:00
smoogipoo
6beeb7f7c4
Rename SpectatorStreamingClient -> SpectatorClient
2021-05-20 15:55:07 +09:00
smoogipoo
d197a7f6f5
Rename multiplayer client classes
2021-05-20 15:39:45 +09:00
Dean Herbert
9267d23dc2
Make year nullable rather than defaulting to zero
2021-05-20 15:23:49 +09:00
Andrei Zavatski
16ffedde8a
Add year parameter to GetNewsRequest
2021-05-19 15:17:57 +03:00
Andrei Zavatski
24af86689f
Merge remote-tracking branch 'refs/remotes/ppy/master' into news-sidebar-new
2021-05-18 22:18:52 +03:00
smoogipoo
5f94b3bdac
Remove legacy playlist item ID handling
2021-05-18 21:03:59 +09:00
smoogipoo
e3b8d8ee18
Add support for overlay-coloured links
2021-05-17 16:58:54 +09:00
Gagah Pangeran Rosfatiputra
f2de28814a
add and handle OpenWiki link action
2021-05-17 00:43:59 +07:00
Andrei Zavatski
881d82ccb6
Merge remote-tracking branch 'refs/remotes/ppy/master' into news-sidebar-new
2021-05-15 19:08:48 +03:00
Bartłomiej Dach
5b2b701915
Ignore possible null in GetResponseString()
...
A null there indicates a deserialisation error and therefore due to the
catch block immediately succeeding the changed line everything will
continue to work as intended.
2021-05-15 00:09:34 +02:00
Bartłomiej Dach
aaa7c7eb05
Handle null case explicitly in SpectatorState.Equals()
...
Uses the usual pattern of two `ReferenceEquals` checks against `this`
and `null` before proceeding to inspect field values. Doing this causes
the compiler to infer that at the point that field values are checked,
`other` can no longer viably be `null`.
2021-05-14 23:58:07 +02:00
Andrei Zavatski
13a956f6fc
Merge remote-tracking branch 'refs/remotes/ppy/master' into news-sidebar-new
2021-05-12 20:08:17 +03:00
smoogipoo
f4c96b2675
Only update playing user states when users are watched
2021-05-12 13:10:59 +09:00
smoogipoo
ad11818868
Remove watched users on stop watching
2021-05-12 13:05:02 +09:00
smoogipoo
10a4a5decb
Merge branch 'master' into multiplayer-spectator-screen
2021-05-11 17:33:09 +09:00
Andrei Zavatski
4b97224932
Implement NewsSideBar component
2021-05-10 09:53:52 +03:00
Bartłomiej Dach
fe86ee629e
Fix temp files from beatmap listing imports not being cleaned up
...
As reported in #12718 , it turns out that temporary files from beatmap
set downloads performed via the beatmap listing overlay could remain in
the user's filesystem even after the download has concluded.
The reason for the issue is a failure in component integration.
In the case of online downloads, files are first downloaded to a
temporary directory (`C:/Temp` or `/tmp`), with a randomly generated
filename, which ends in an extension of `.tmp`.
On the other side, `ArchiveModelManager`s have a `ShouldDeleteArchive()`
method, which determines whether a file should be deleted after
importing. At the time of writing, in the case of beatmap imports the
file is only automatically cleaned up if the extension of the file is
equal to `.osz`, which was not the case for temporary files.
As it turns out, `APIDownloadRequest` has a facility for adjusting the
file's extension, via the protected `FileExtension` property. Therefore,
use it in the case of `DownloadBeatmapSetRequest` to specify `.osz`,
which then will make sure that the `ShouldDeleteArchive()` check in
`BeatmapManager` picks it up for clean-up.
2021-05-08 17:09:14 +02:00
smoogipoo
f8f9cf9412
Merge branch 'fix-initial-playingusers' into multiplayer-spectator-screen
2021-04-22 23:25:25 +09:00
smoogipoo
f593d9e42c
Fix playing users not being updated on room join
2021-04-22 23:23:43 +09:00
smoogipoo
6df23f1301
Merge branch 'master' into multiplayer-spectator-screen
2021-04-22 20:29:24 +09:00
Dan Balasescu
b774f5b72b
Merge pull request #12526 from peppy/fix-system-message-ordering
...
Fix system messages always being displayed above standard messages
2021-04-22 18:51:25 +09:00
Dean Herbert
3befb49ea9
Fix system messages always being displayed above standard messages
...
Closes https://github.com/ppy/osu/issues/12509 .
2021-04-22 14:52:01 +09:00
smoogipoo
4cc3321d54
Fix potential doubling of events
2021-04-20 21:20:08 +09:00
Gagah Pangeran Rosfatiputra
d4013bd885
add GetWikiRequest
2021-04-20 16:40:30 +07:00
Gagah Pangeran Rosfatiputra
f3555ad08c
add APIWikiPage response
2021-04-20 16:12:32 +07:00
smoogipoo
c50b526ba0
Remove local state dictionary from SpectatorScreen
2021-04-19 16:48:55 +09:00
smoogipoo
83716ddb08
Rename currentUserStates -> playingUserStates
2021-04-19 16:07:00 +09:00
smoogipoo
de9e37857e
Lock around playingUsers
2021-04-19 16:06:40 +09:00
smoogipoo
5885c24e00
Clear current user states on disconnect
2021-04-19 16:00:56 +09:00
smoogipoo
65a6f9f8a4
Merge branch 'fix-initial-spectator-state-callback' into multiplayer-spectator-screen
2021-04-16 18:26:46 +09:00
smoogipoo
ca74f413cd
Change to explicit method instead
2021-04-16 17:31:02 +09:00
smoogipoo
5652490d61
Fix OnUserBeganPlaying not being invoked if already watching
2021-04-16 14:11:55 +09:00
smoogipoo
56e1bffdfd
Populate initial user states
2021-04-13 23:57:16 +09:00
smoogipoo
5b53a2b211
Merge branch 'master' into multiplayer-spectator-screen
2021-04-13 20:07:56 +09:00
Salman Ahmed
92fab653e1
Take current mod settings value into account on equality comparsion
2021-04-12 20:51:13 +03:00
Salman Ahmed
fbd5195738
Extract mod setting value handling to utils class
2021-04-12 03:37:03 +03:00
Salman Ahmed
18fb9f5ac9
Merge branch 'master' into mod-using-reference-equality
2021-04-11 19:48:55 +03:00
smoogipoo
6eddc6c59e
Enable spectating multiplayer matches
2021-04-09 21:03:50 +09:00
Dean Herbert
51fee79ef1
Fix scores not being accepted due to missing ruleset ID
2021-04-09 15:18:02 +09:00
Dean Herbert
24ae5b9169
Fix slightly incorrect solo score submission routes
2021-04-08 23:15:08 +09:00
smoogipoo
2791d454d2
Don't send spectating user state yet
2021-04-07 22:21:22 +09:00
smoogipoo
99bee73ac1
Merge branch 'master' into add-spectate-button-and-state
2021-04-07 22:07:52 +09:00
smoogipoo
56c13148f1
Fix typo in class name
2021-04-07 16:45:10 +09:00
smoogipoo
6de91d7b6b
Add spectate button + test
2021-04-06 21:37:27 +09:00
smoogipoo
d5ba77b2c2
Add spectating user state
2021-04-06 21:22:28 +09:00
Dan Balasescu
ba3689b5b9
Merge pull request #12269 from PercyDan54/beatmap-details
...
Use OnlineViewContainer for BeatmapDetails
2021-04-06 17:52:32 +09:00
Dean Herbert
933c4010da
Allow creating OnlineViewContainers with no placeholder button
2021-04-06 16:17:20 +09:00
PercyDan54
d4724f4494
Fix crash
2021-04-04 09:44:45 +08:00
smoogipoo
e1aa927827
Add dropdown option to export score
2021-04-02 13:20:15 +09:00
Dean Herbert
0a889fafc4
Don't send progress updates when not in a downloading state
...
This is mostly just a sanity/debounce check.
2021-03-26 14:04:40 +09:00
Dean Herbert
17a0b19ee7
Always set progress before updating download state
...
Without doing so, a state change may read from an old progress value.
2021-03-26 14:04:10 +09:00
Max Hübner
aa2c1ee85e
Add new beatmap search filter row "General"
2021-03-25 23:20:10 +01:00
Dean Herbert
5267fb74c4
Add submission requests
2021-03-23 18:18:49 +09:00
Dean Herbert
aeff9bd853
Add return bool to HandleRequest to better trigger failures
2021-03-23 18:17:29 +09:00
Dean Herbert
ce452565f4
Avoid firing any kind of failures after success
2021-03-23 17:50:31 +09:00
Dean Herbert
f5ba746ae5
Fail all API requests sent to DummyAPIAccess
...
Until now, API requests sent to dummy API were just lost in the void. In most cases this somehow worked as expected, but any logic which is waiting on a request to finish will potentially never get a response.
Going forward, I'm not 100% sure that every `Wait` on a web response will have local timeout logic (I think there is a certain amount of assumption that this is being managed for us by `APIAccess`), so I've made this change to better handle such cases going forward. Now, rather than nothing happening, requests will trigger a failure via the existing exception logic rather than silently pretending the request never arrived.
2021-03-23 17:37:45 +09:00
Dean Herbert
58c60100b4
Fix APIScoreToken's data type not matching server side
2021-03-23 14:04:47 +09:00
smoogipoo
7fa5fd5647
Update usages of config with framework changes
2021-03-17 16:10:16 +09:00
Dan Balasescu
ff2327ffac
Merge branch 'master' into configure-await-false
2021-03-08 22:24:29 +09:00
Dean Herbert
b1cd01ceb8
Apply ConfigureAwait changes to game side
2021-03-08 14:36:35 +09:00
Dean Herbert
765cc5cf37
Remove iOS multiplayer blocking code
2021-03-08 14:35:22 +09:00
smoogipoo
7adb33f40e
Fix beatmap getting nulled due to failing web request
2021-03-01 17:24:54 +09:00
Dean Herbert
254f9bb58b
Show API human readable error message when chat posting fails
...
Closes #11902 .
2021-02-26 13:38:00 +09:00
Dean Herbert
9ed8d902f7
Fix requests being indefinitely queued when user is offline
2021-02-24 19:57:42 +09:00
Dean Herbert
664d243003
Disable multiplayer/spectator on iOS until it can be supported again
2021-02-23 15:22:46 +09:00
smoogipoo
d985b8ab2a
Increase beatmapset download timeout
2021-02-22 17:14:39 +09:00
Dean Herbert
a2aec6bcdc
Merge pull request #11808 from smoogipoo/multiplayer-no-playlist-mangling
...
Rework multiplayer playlist handling to support multiple items
2021-02-19 14:33:53 +09:00
smoogipoo
c0e0bd4f42
Add compatibility with old server build
2021-02-19 13:57:04 +09:00
smoogipoo
183a481a34
Refactor playlist update to remove .Contains() check
2021-02-19 13:32:32 +09:00
Dean Herbert
71316bbee5
Allow using OnlineViewContainer without deriving it
2021-02-18 17:45:58 +09:00
smoogipoo
56e9e10ff5
Make server authoritative in playlist item id
2021-02-18 15:30:31 +09:00
smoogipoo
8930ff4465
Merge branch 'master' into multiplayer-no-playlist-mangling
2021-02-17 19:29:01 +09:00
smoogipoo
70a995919c
Update comments
2021-02-17 17:58:24 +09:00
smoogipoo
0d1149911c
Don't display expired playlist items
2021-02-17 17:33:10 +09:00
smoogipoo
fb0e9d6760
Add played property to playlist item
2021-02-17 16:58:32 +09:00
Dean Herbert
86faa7f465
Merge pull request #11798 from smoogipoo/multiplayer-long-types
...
Use long type where required in multiplayer
2021-02-17 15:50:12 +09:00
smoogipoo
9a7b6ebe50
Fix missed occurrence
2021-02-17 14:30:52 +09:00
smoogipoo
f61b8e6154
Change to long
2021-02-16 21:32:38 +09:00
smoogipoo
100097d78f
Fix playlist not being handled correctly for non-joined cases
2021-02-16 21:32:35 +09:00
smoogipoo
379393fe10
Merge branch 'multiplayer-long-types' into multiplayer-no-playlist-mangling
2021-02-16 19:37:55 +09:00
smoogipoo
3e802531d3
Use long type where required in multiplayer
2021-02-16 19:34:01 +09:00
smoogipoo
3ff9e14e35
Make StatefulMultiplayerClient control current playlist item
2021-02-16 18:56:13 +09:00
Dean Herbert
02417697e9
Display remaining attempts for playlist rooms with room-level attempt limits
2021-02-16 13:32:14 +09:00
Dan Balasescu
6641f4d5a9
Merge branch 'master' into hub-send-version-hash
2021-02-15 21:12:46 +09:00
Dean Herbert
3562fddc27
Add missing nullability flag on CreateAccount return value
2021-02-15 17:02:07 +09:00
Dean Herbert
55d5d8d5be
Send version hash on hub connection
2021-02-15 16:51:40 +09:00
Dean Herbert
9ad38ab20e
Move HubClientConnector retrieval to IAPIProvider
2021-02-15 16:43:56 +09:00
Dan Balasescu
34e600464b
Merge branch 'master' into abstract-hub-connection
2021-02-15 13:53:54 +09:00
Dan Balasescu
dad6e7e825
Merge pull request #11755 from peppy/fix-message-formatter-domain
...
Fix MessageFormatter not working for custom endpoints
2021-02-12 16:01:55 +09:00
Dean Herbert
3799493536
Add test coverage of int match failures
2021-02-12 15:25:00 +09:00
Dean Herbert
bb9123eecd
Better handle fallback scenarios for beatmap links
2021-02-12 15:17:54 +09:00
Dean Herbert
1c5aaf3832
Add back default value
2021-02-12 15:03:53 +09:00
Dean Herbert
6a42d312f6
Match using EndsWith to ignore protocol (and allow http)
2021-02-12 14:59:56 +09:00
Dean Herbert
33c9ecac8a
Fix MessageFormatter not working for custom endpoints
2021-02-12 14:54:19 +09:00
Salman Ahmed
f4a7ec57e9
Remove unused using
2021-02-11 13:00:18 +03:00
Salman Ahmed
37e3d95c35
Slight reword in ConfigureConnection
's xmldoc
2021-02-11 12:39:06 +03:00
Salman Ahmed
d3c1b47592
Replace nullable API with null connector instead
2021-02-11 12:34:39 +03:00
Salman Ahmed
18acd7f080
Apply documentation suggestions
...
Co-authored-by: Dean Herbert <pe@ppy.sh>
2021-02-11 10:51:04 +03:00
Salman Ahmed
5fb99fdc52
Rename some members and extract connection closure to separate method
2021-02-11 10:49:16 +03:00
Salman Ahmed
0c5e66205b
Merge branch 'master' into abstract-hub-connection
2021-02-11 02:14:22 +03:00
smoogipoo
07b661e28c
Add Messagepack support for serialising unknown bindable types
2021-02-10 23:44:06 +09:00
Dan Balasescu
92599aa02b
Merge branch 'master' into user-beatmap-downloading-states-2
2021-02-09 21:06:09 +09:00
Dean Herbert
04c243386b
Fix initial state transfer regressing
2021-02-09 16:02:56 +09:00
Salman Ahmed
f04d6d5e5e
Update hub clients with changes to connecotr
2021-02-09 08:02:32 +03:00
Salman Ahmed
848b81e952
Remove necessity of making hub client connector a component
2021-02-09 07:53:22 +03:00
Salman Ahmed
71e564d399
Revert clients to be Component
s
2021-02-09 07:46:00 +03:00
Salman Ahmed
f76f92515e
Clean up spectator streaming client with new hub connector
2021-02-09 02:15:56 +03:00
Salman Ahmed
28b815ffe1
Clean up multiplayer client with new hub connector
2021-02-09 02:13:09 +03:00
Salman Ahmed
af345ea5db
Add a SignalR hub client connector component
2021-02-09 01:52:35 +03:00
smoogipoo
d8c53e34ae
Fix missing using
2021-02-08 19:42:17 +09:00
Dean Herbert
5fbed05d04
Merge pull request #11551 from smoogipoo/fix-leave-room-race-2
...
Fix client potentially not leaving a room on exiting multiplayer
2021-02-08 19:23:14 +09:00
smoogipoo
6e34e7d750
Merge branch 'master' into user-beatmap-downloading-states-2
2021-02-08 19:08:53 +09:00
smoogipoo
fb8e31a303
Fix incorrect connection building due to bad merges
2021-02-08 17:52:03 +09:00
smoogipoo
da85fb372d
Merge branch 'master' into fix-multiplayer-client-connection-reliability
2021-02-08 13:43:24 +09:00
Dean Herbert
dad32da415
Add rate limiting on sending download progress updates
2021-02-05 17:34:05 +09:00
Dean Herbert
110458612d
Avoid handling null playlist items when updating avaialability display
2021-02-05 17:19:23 +09:00
Dean Herbert
9e9e382bee
Merge branch 'master' into user-beatmap-downloading-states-2
2021-02-05 15:27:17 +09:00
Dean Herbert
c5fa818630
Actually handle case of failing to achieve lock on SemaphoreSlim
2021-02-05 14:08:13 +09:00
Dean Herbert
cd67fe1091
Merge branch 'master' into fix-multiplayer-client-connection-reliability
2021-02-05 14:04:57 +09:00
Dean Herbert
9258836f10
Merge pull request #11641 from smoogipoo/freemods
...
Add support for optional per-user mods in multiplayer (aka freemod)
2021-02-05 13:59:30 +09:00
smoogipoo
2e85ce5b82
Rename UserMods -> Mods for MultiplayerRoomUser
2021-02-05 12:40:16 +09:00
smoogipoo
85e63afcb4
Rename Mods -> RequiredMods
2021-02-05 12:36:25 +09:00
Dan Balasescu
a71d6a4c97
Merge branch 'master' into multiplayer-beatmap-tracker
2021-02-05 12:25:36 +09:00