1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-25 11:22:55 +08:00
Commit Graph

1051 Commits

Author SHA1 Message Date
Dean Herbert
76e877f160 Disable APIMod/Mod cross equality support 2021-09-10 11:24:56 +09:00
Dean Herbert
cf633973a9 Refactor exposed mod retrieval methods for better safety 2021-09-10 11:09:13 +09:00
Dean Herbert
ce6b022a90 Remove unused IMod specification from APIMod 2021-09-10 10:59:30 +09:00
Dean Herbert
2edb851008 Add ability to lookup mod from a type specification 2021-09-09 16:50:59 +09:00
Dean Herbert
4d0530ca9d Add new methods to ruleset for quicker mod lookups 2021-09-09 16:46:14 +09:00
Dean Herbert
e66d76d26e Avoid settings copy if there are no settings 2021-09-09 15:43:55 +09:00
ekrctb
7543f9dfb0 Add featured artist track ID online info 2021-09-08 12:21:24 +09:00
Davran Dilshat
be9540e535 fix "key" having wrong url parameter name 2021-09-07 17:17:10 +01:00
ekrctb
b6c80f04b0 Add "featured artists" filter to beatmap search 2021-09-07 16:44:45 +09:00
Dean Herbert
1c4a3c584a Use correct lookup type to ensure username based lookups always prefer username 2021-09-06 15:04:27 +09:00
Davran Dilshat
e78dc1bb4c more code quality :/ 2021-09-05 15:27:28 +01:00
Davran Dilshat
e409f2dc6d add xmldoc 2021-09-05 10:42:38 +01:00
rednir
8104b15874
remove braces
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2021-08-30 13:23:33 +01:00
Davran Dilshat
90c313e2ad add methods to get a user from their username 2021-08-29 19:19:55 +01:00
Dean Herbert
8cd972a9fe Merge branch 'master' into pinned-comment 2021-08-24 14:37:31 +09:00
Dean Herbert
da8eba9996 Return early to avoid updating state and failure count in fail cases 2021-08-20 12:11:41 +09:00
Dean Herbert
a6b7ca1a4c Ensure all request failures are correctly handled during login 2021-08-19 19:55:14 +09:00
Opelkuh
7d7c5c06f0 Fix code formatting 2021-08-15 16:02:25 +02:00
Opelkuh
2f9f1ba862 Add test for ChannelManager.MarkChannelAsRead 2021-08-15 15:44:23 +02:00
Gagah Pangeran Rosfatiputra
480d5ffa5d
add pinned comment to users setter in comment bundle 2021-08-13 19:40:37 +07:00
Gagah Pangeran Rosfatiputra
39b13efdd5
add pinned comments property in comment bundle 2021-08-13 13:13:28 +07:00
Gagah Pangeran Rosfatiputra
0901333ef3
add pinned property in comment 2021-08-13 12:57:29 +07:00
Dean Herbert
556962a3d8
Add missing xmldoc comment
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-08-03 14:50:56 +09:00
Dean Herbert
617ff40de7 Add the ability to not use MessagePack when creating a HubConnector 2021-08-02 18:50:22 +09:00
Dean Herbert
185ea776f5 Fix incorrect authorisation loss exception handling with recent changes 2021-07-30 18:11:40 +09:00
Dean Herbert
3a5324c947 Fix aborting an APIRequest potentially resulting in incorrect success 2021-07-29 13:01:52 +09:00
Dean Herbert
1ed4fdd5f5 Avoid deserialisation JSON request content when error is not present (or not relevant) 2021-07-28 20:13:40 +09:00
Dean Herbert
bb3747ffc9 Fix beatmap search requests double-escaping
Closes #14008.
2021-07-25 17:06:40 +09:00
Dean Herbert
17168b8137 Fix authentication loss not handled correctly
This handles the case where on initial API connection, the server
responds with an `Unauthorized` response. It doesn't perform this same
checking/handling on every API request, which is probably what we want
eventually.

Opting to not address the full issue because I know this is going to be
a long one (see
05c50c0f6c/osu.Game/Online/API/APIAccess.cs (L233)).
2021-07-23 19:03:19 +09:00
Dean Herbert
57e5f5575a Fix derived API request types firing success when they shouldn't
The usual case of `virtual`/`override` being dangerous when logic is
added to the base implementation. As such, I've removed this completely.
2021-07-22 14:23:27 +09:00
Dan Balasescu
747c475b95
Merge pull request #13932 from peppy/fix-multiple-request-completion-states
Fix API request potentially firing failed events after completion
2021-07-21 15:11:03 +09:00
Bartłomiej Dach
1e634d9db0
Adjust user beatmap sections on profile overlay to match web 2021-07-20 21:55:17 +02:00
Dean Herbert
80c2b1449b Fix API request potentially firing failed events after completion
Specifically, `Cancel()` calls were not thread safe. Due to a series of
events, `ListPollingComponent` could call `Cancel` from a non-update
thread, leading to a race condition where both a `Success` and `Fail`
event can be fired.

This is intended to be the simplest fix possible, locking and guarding
specifically on the callbacks. Further work could be done in the future
to improve the flow surrounding `pendingFailure`, potentially reducing
redundant work and cleaning up the code, but that's not happening here.

Closes https://github.com/ppy/osu/issues/13632.
2021-07-19 20:27:01 +09:00
PercyDan54
e1c646b9b2
Remove redundant arguments 2021-07-05 23:52:39 +08:00
smoogipoo
ca0eaab8e2 Add test 2021-06-29 16:30:46 +09:00
Dean Herbert
26312bf60a
Merge branch 'master' into chat-mention 2021-06-11 20:03:44 +09:00
Dean Herbert
061e3d7f26 Move legacy ScoreInfo to be completely based on presence of classic mod 2021-06-08 18:00:09 +09:00
Craftplacer
5e44329e0b
Add DummyAPIAccess request handler
Make CreateChannelRequest.channel public
2021-06-05 14:43:26 +02: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
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
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
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
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
Max Hübner
aa2c1ee85e Add new beatmap search filter row "General" 2021-03-25 23:20:10 +01: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
smoogipoo
7fa5fd5647 Update usages of config with framework changes 2021-03-17 16:10:16 +09:00
Dean Herbert
765cc5cf37 Remove iOS multiplayer blocking code 2021-03-08 14:35:22 +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
smoogipoo
9a7b6ebe50 Fix missed occurrence 2021-02-17 14:30:52 +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
smoogipoo
07b661e28c Add Messagepack support for serialising unknown bindable types 2021-02-10 23:44:06 +09:00
Dan Balasescu
a71d6a4c97
Merge branch 'master' into multiplayer-beatmap-tracker 2021-02-05 12:25:36 +09:00
Dean Herbert
76cfeae7e9 Add support for Bindable int in config 2021-02-04 15:10:56 +09:00
Dean Herbert
e3d323989c Switch to SignalR 5.0 and implement using better API 2021-02-03 22:04:14 +09:00
Dean Herbert
1380717ebb Use PrimitiveObjectFormatter to simplify code 2021-02-03 20:19:27 +09:00
Dean Herbert
d3f056f188 Add missing licence header 2021-02-03 20:06:25 +09:00
Dean Herbert
75f1ebd5f9 Add custom resolver for mod settings dictionary 2021-02-03 19:46:47 +09:00
Dean Herbert
c73a05d0b5
Merge branch 'master' into multiplayer-beatmap-tracker 2021-02-01 17:24:24 +09:00
Dan Balasescu
7d06af916c
Merge branch 'master' into add-messagepack 2021-01-27 13:00:46 +09:00
Dean Herbert
e4fc604163 Setup all multiplayer model classes for MessagePack support 2021-01-26 16:26:03 +09:00
Salman Ahmed
c317d60169 Add offline test scene for beatmap listing overlay 2021-01-26 00:03:20 +03:00
Salman Ahmed
5e476fa189 Enforce one missed property back to single-floating type 2021-01-18 22:07:25 +03:00
Salman Ahmed
dc91cebce9 Merge branch 'master' into multiplayer-beatmap-tracker 2021-01-18 19:15:45 +03:00
Salman Ahmed
b6a37c1c15 Make TriggerSuccess(filename) protected and expose in test instead 2021-01-17 22:10:30 +03:00
Salman Ahmed
d93a853dfd Enforce float type in the download progress path instead 2021-01-17 21:16:48 +03:00
Dean Herbert
5fd644fc57 Unify variable names 2021-01-17 22:42:48 +09:00
Salman Ahmed
adb2605d5d Enforce double type in the download progress path
Wasn't sure where to exactly put this, or whether to split it, but it's very small change to worry about, so I guess it's fine being here
2021-01-17 00:12:14 +03:00
Salman Ahmed
23c7afa573 Expose method for setting progress of archive download request 2021-01-17 00:05:51 +03:00
Salman Ahmed
4778686dc4 Expose method for triggering filename-backed success in APIDownloadRequest
Exactly like in `APIRequest<T>`
2021-01-17 00:01:11 +03:00
Salman Ahmed
a5f99ed8e6 Merge branch 'explicit-beatmap-markers' into explicit-search-control 2021-01-13 12:53:57 +03:00
Salman Ahmed
e8daea91d2 Add online beatmap "explicit content" property 2021-01-13 12:13:14 +03:00
Salman Ahmed
249be461d5 Add "explicit maps" search filter control 2021-01-12 11:09:55 +03:00
Dean Herbert
6ad1b7767e
Update osu.Game/Online/API/APIMod.cs
Co-authored-by: Salman Ahmed <slmanarendo1950@gmail.com>
2021-01-03 17:04:16 +09:00
Dean Herbert
99fa0e25dc Switch back to FirstOrDefault to allow for weird testing logic to pass 2021-01-03 16:46:24 +09:00
Dean Herbert
29dbb1cc0d Add internal pathway for ensuring correct application of bindable mods 2021-01-03 15:48:28 +09:00
Dean Herbert
23e216fa0b Simplify some default value checks (we are sure the return is an IBindable) 2021-01-03 15:47:15 +09:00
Dean Herbert
1a44338124 Use SingleOrDefault for added safety when looking up mod acronyms 2021-01-03 15:38:30 +09:00
Bartłomiej Dach
dee694fd50
Merge branch 'master' into mod-using-reference-equality 2020-12-30 19:39:22 +01:00
Dean Herbert
03b78d1c4b Handle SocketExceptions and HttpRequestExceptions more silently
These can occur when a network connection is completely unavailable (ie.
host resolution failures are occurring). Currently these would appear as
important errors which spammed the notification overlay every retry
forever, while no network connection is available.

I also took this opportunity to remove a lot of `bool` passing which was
no longer in use (previously the fail count / retry process was
different to what we have today).
2020-12-29 16:22:11 +09:00
Salman Ahmed
41b79d938b Fix wrong checks.. 2020-12-28 15:30:52 +03:00
Salman Ahmed
5efcdbd431 Fix IMod now using reference equality as well 2020-12-28 15:19:28 +03:00
Salman Ahmed
43f8f3638a Fix mod using reference equality unless casted to IMod 2020-12-27 02:42:13 +03:00
Bartłomiej Dach
0bd9f68cbd Refactor update stream colour mapping code 2020-12-25 21:06:03 +01:00
Bartłomiej Dach
d5c348b568 Remove explicit public access modifier from interface 2020-12-24 13:44:46 +01:00
Dean Herbert
66a23c22e5 Fix various tests failing due to dependence on specific online data 2020-12-24 21:28:24 +09:00
Dean Herbert
323da82477 Add website root URL and update most links to use it
For what it's worth, I intentionally didn't include news / changelog /
supporter, because these should never change.
2020-12-24 18:11:42 +09:00
Dean Herbert
eb795a2127 Move all endpoint information to a configuration class 2020-12-24 17:58:38 +09:00
Dean Herbert
e89583d732 Prefer connecting to dev server when running in DEBUG 2020-12-24 01:33:19 +09:00
Dean Herbert
d229fbba6e
Merge branch 'master' into present-recommended 2020-12-22 13:52:29 +09:00
smoogipoo
eb46c9ce9b Fix metadata lost in beatmapset deserialisation 2020-12-21 17:11:30 +09:00
smoogipoo
c6555c53cc Add a testable realtime room manager 2020-12-19 01:17:24 +09:00
Dean Herbert
a749dca20b Remove left over using statement 2020-12-18 15:43:15 +09:00
Dean Herbert
99b670627a Remove unused placeholder friend in DummyAPI implementation 2020-12-18 15:25:12 +09:00
Dean Herbert
57c5d45c02 Standardise and extract common connection failure handling logic 2020-12-18 15:19:38 +09:00
Dean Herbert
d36169f697 Move friend request to a more understandable place in connection flow 2020-12-18 15:16:48 +09:00
Dean Herbert
206bf3713e Make IAPIProvider read-only bindables into IBindables 2020-12-18 15:16:36 +09:00
Salman Ahmed
8a01e567a1 Fix API potentially getting stuck in connecting state 2020-12-18 03:06:28 +03:00
Salman Ahmed
5d180753fa Complete connection once friends list is succesfully fetched 2020-12-17 13:44:30 +03:00
Salman Ahmed
78ce6f1cd2 Add friends list to API providers 2020-12-17 13:30:55 +03:00
Endrik Tombak
cbbcf36eaa Merge branch 'master' of https://github.com/ppy/osu into present-recommended 2020-12-03 19:38:32 +02:00
Dean Herbert
3550e5b30f Add length display to room screen as well 2020-12-03 16:42:06 +09:00
Endrik Tombak
944f3480c2 Merge branch 'master' of https://github.com/ppy/osu into present-recommended
 Conflicts:
	osu.Game/OsuGameBase.cs
	osu.Game/Screens/Select/DifficultyRecommender.cs
	osu.Game/Screens/Select/SongSelect.cs
2020-11-21 14:01:01 +02:00
Dean Herbert
cfb42037cf Refactor request string logic to avoid linq usage 2020-11-09 12:23:29 +09:00
Dean Herbert
893979b3de Add exception if attempting to exceed the maximum supported lookup size for one request 2020-11-06 17:00:29 +09:00
Dean Herbert
db039da668 Add and consume multi-lookup API endpoint 2020-11-06 17:00:29 +09:00
Dean Herbert
aa252d562a Rename top user request to make way for new type 2020-11-06 17:00:29 +09:00
Dean Herbert
1e1569eb53 Use int instead of long for user_id fields for now 2020-11-06 12:59:46 +09:00
Dean Herbert
1db8dfd03e
Merge branch 'master' into seasonal-backgrounds 2020-10-30 22:53:51 +09:00
Max Hübner
f27ce7521d Make "Sometimes" setting depend on season end date, rather than chance 2020-10-30 10:27:43 +01:00
Bartłomiej Dach
fa53549ed2 Mark request fields as possibly-null 2020-10-28 22:57:03 +01:00
Andrei Zavatski
5c2c5f2000 Use existing ScoreRank for rank filter 2020-10-28 23:35:08 +03:00
Andrei Zavatski
6fd3686c4d Use IReadOnlyCollection instead of List in SearchBeatmapSetsRequest 2020-10-28 02:36:35 +03:00
Andrei Zavatski
c4efceceb2 Use char instead of sting for request parameter creation 2020-10-27 23:57:11 +03:00
Andrei Zavatski
008d1d697c Implement filtering by rank achieved 2020-10-27 23:14:48 +03:00
Andrei Zavatski
1710b396e7 Implement BeatmapSearchMultipleSelectionFilterRow 2020-10-27 22:27:29 +03:00
Andrei Zavatski
1b40b56d41 Add ability to search by play criteria 2020-10-27 21:30:53 +03:00
Andrei Zavatski
742a96484b Add ability to set extra parameters to SearchBeatmapSetsRequest 2020-10-27 20:13:18 +03:00
Dean Herbert
b86347dc81 Merge branch 'master' into spectator 2020-10-26 13:39:07 +09:00
Dean Herbert
f11bcfcb8f
Remove unnecessary public specification in interface
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2020-10-23 10:03:33 +09:00
Max Hübner
09d49aa0f7 Add GetSeasonalBackgroundsRequest 2020-10-22 18:25:01 +02:00
Dean Herbert
c834aa6051 Use APIMod for mod serialization 2020-10-22 17:48:15 +09:00
Dean Herbert
4788b4a643 Expose oauth access token via api interface 2020-10-22 17:48:15 +09:00
Dean Herbert
c6db832efa Add xmldoc notes about thread safety of api bindables 2020-10-22 14:56:20 +09:00
Dean Herbert
da573c7487 Remove unused usings 2020-10-22 14:44:10 +09:00
Dean Herbert
9753dab93b Remove IOnlineComponent and change existing components to use bindable flow 2020-10-22 14:19:12 +09:00
smoogipoo
297168ecc4 Fix scores sometimes not being re-standardised correctly 2020-09-29 19:06:09 +09:00
smoogipoo
6ed191786f Add support for position 2020-08-31 20:01:59 +09:00
smoogipoo
ed74c39b55 Move UserTopScoreContainer into base leaderboard 2020-08-31 19:54:22 +09:00
Dean Herbert
4189e918a3
Merge branch 'master' into news 2020-08-03 14:16:45 +09:00
smoogipoo
2b77f99f56 Initialise some response parameters 2020-07-31 20:55:44 +09:00
smoogipoo
8e8a11bb72 Add APIRequest.TriggerFailure() for testing 2020-07-31 20:55:26 +09:00
Andrei Zavatski
b821d619b5 Merge remote-tracking branch 'refs/remotes/ppy/master' into news 2020-07-25 09:13:12 +03:00
smoogipoo
0957c5f74c Re-namespace multiplayer requests/responses 2020-07-22 18:34:04 +09:00
Andrei Zavatski
17c598568d Merge remote-tracking branch 'refs/remotes/ppy/master' into news 2020-07-16 14:38:50 +03:00
Andrei Zavatski
3d9e174ae8 Make sort changes affect request result 2020-07-14 18:09:09 +03:00
Dean Herbert
7fe69bb199 Fix some web requests retrieving the user too early 2020-07-14 13:07:17 +09:00
Andrei Zavatski
3601a2d93f Merge remote-tracking branch 'refs/remotes/ppy/master' into news 2020-07-12 14:45:48 +03:00
smoogipoo
fe585611e7 Fix + simplify web request 2020-07-10 19:54:09 +09:00
smoogipoo
926279e39b Implement category dropdown for multiplayer 2020-07-10 17:26:42 +09:00
Andrei Zavatski
de4c22c709 Implement news api request 2020-07-08 17:58:09 +03:00
Andrei Zavatski
857a027a73 Parse HTML entities during APINewsPost deserialisation 2020-07-07 00:11:35 +03:00
Andrei Zavatski
68d9f9de46 Use DateTimeOffset 2020-07-06 23:55:20 +03:00
Andrei Zavatski
9dde101f12 Remove string prefixes 2020-07-06 23:53:27 +03:00
Andrei Zavatski
fdb7727e95 Rename NewsPost to APINewsPost 2020-07-06 07:28:44 +03:00
Andrei Zavatski
7550097eb6 Implement NewsCard 2020-07-06 07:27:53 +03:00
Andrei Zavatski
c18ca19c9d Add NewsPost api response 2020-07-06 05:31:34 +03:00
smoogipoo
afa5b995f2 Merge branch 'fix-test-nullref' into timeshift-results-2 2020-06-11 14:05:05 +09:00
smoogipoo
ab10732a78 Remove usages of null-forgiving operator 2020-06-09 22:13:48 +09:00
smoogipoo
88aed1d504 Merge branch 'master' into update-inspectcode-version 2020-06-09 20:12:39 +09:00
smoogipoo
44dd7d65be Fix duplicate scores showing 2020-06-09 18:21:37 +09:00
smoogipoo
7f05c16c9f Merge branch 'master' into timeshift-results-2 2020-06-09 15:59:13 +09:00
Dan Balasescu
7f72f59307
Merge branch 'master' into fetch-private-chat-history 2020-06-09 14:42:29 +09:00
Dean Herbert
712fd6a944 Fetch existing private message channels on re-joining 2020-06-08 17:54:26 +09:00
smoogipoo
8aa8d2c880 Resolve NREs 2020-06-03 16:59:37 +09:00
smoogipoo
13622eff1f Fix response value 2020-06-03 12:54:07 +09:00
Dean Herbert
93572fc17d
Merge branch 'master' into present-recommended 2020-06-03 12:31:23 +09:00
smoogipoo
1ccdfd7364 Pull playlist beatmap checksum from api 2020-06-02 14:03:13 +09:00
Andrei Zavatski
11057cd6a8 CI fix 2020-05-29 21:43:31 +03:00
Andrei Zavatski
affad47248 Fix genre/language search doesn't work 2020-05-29 19:44:53 +03:00
smoogipoo
0e28ded80f Forward statistics 2020-05-28 22:09:11 +09:00
smoogipoo
d88bfa2080 Cache ruleset + fix possible nullrefs 2020-05-28 22:09:11 +09:00
smoogipoo
7ac08620b8 Add a user object for now 2020-05-28 22:09:11 +09:00
smoogipoo
f9c64d7be3 Implement creation of mods 2020-05-28 22:09:11 +09:00
smoogipoo
38502ba88c Remove some unnecessary members 2020-05-28 22:09:11 +09:00
smoogipoo
ee59182989 Implement initial structure for room scores 2020-05-28 22:09:11 +09:00
Dean Herbert
facde2c8e1 Remove unnecessary generic specification on cursor 2020-05-14 16:01:07 +09:00
「空白」
43450b5485 Resolve remaining InspectCode issues
> CI should now pass build test
2020-05-14 01:57:03 +09:00
「空白」
5962dedd35 Reimplement cursor as part of WebRequest extensions
> Added WebRequestExtensions
> Moved Cursor request logic from SearchBeatmapSetsRequest
2020-05-13 05:04:39 +09:00
「空白」
cabf3a89b1 More robust cursor parsing solution
> Change cursor request to return last response's entire cursor structure
2020-05-13 03:44:57 +09:00
「空白」
e321494f15 Fix sort-by handling
> Add other cursor fields for paging different sortings
> Sorted as they show in GUI code-wise for more readability for now
2020-05-13 02:15:24 +09:00
「空白」
82190a07b8 Remove temporary comments
> Removes unnecessary xmldoc comments
2020-05-13 02:01:38 +09:00
「空白」
35e7cee458 Squash commits from private fork
Temporary comments left to-remove later
2020-05-12 03:18:47 +09:00
alex
0e2ccac33b Add spaces to comments 2020-05-04 18:36:24 -07:00
Endrik Tombak
657bf5ad86 Merge branch 'master' of https://github.com/ppy/osu into present-recommended 2020-04-25 10:13:57 +03:00
Dean Herbert
1cec0575b7 Remove unused classes and replace overlay in game 2020-04-21 16:38:47 +09:00
Dean Herbert
c3b36d8f20
Merge pull request #7924 from EVAST9919/beatmap-listing-expanded
Implement sorting by genre and language in BeatmapListingOverlay
2020-04-21 16:34:59 +09:00
Dean Herbert
c2ed6491a9 Move and shorten enum names 2020-04-21 15:39:15 +09:00
Dean Herbert
801f02a3d7 Fix inline executions of APIRequest.Perform not getting result populated early enough 2020-04-20 17:48:02 +09:00
Endrik Tombak
90fa58b3b6 More testing 2020-04-17 19:57:39 +03:00
Dean Herbert
2ab4a7293e Clean up enum sorting attribute code 2020-04-16 17:26:09 +09:00
Dean Herbert
c0a1aae63a
Merge branch 'master' into beatmap-listing-expanded 2020-04-15 13:26:16 +09:00
Dean Herbert
89d8063588 Add support for Perform/PerformAsync 2020-04-13 21:35:35 +09:00
Dean Herbert
1c8a71b284 Exception instead of assert 2020-04-13 21:24:47 +09:00
Dean Herbert
c96df97586 Add support for non-generic requests 2020-04-11 18:02:49 +09:00
Dean Herbert
415adecdf6 Add support for Result fetching 2020-04-11 18:02:43 +09:00
Dean Herbert
832822858c Add basic request / response support 2020-04-11 17:48:23 +09:00
Andrei Zavatski
b6d8e487d2 Merge remote-tracking branch 'refs/remotes/ppy/master' into beatmap-listing-expanded 2020-04-09 19:18:59 +03:00
Dean Herbert
812583a4cd Remove stray newline 2020-03-30 16:17:42 +09:00
Dean Herbert
7ecce713bb Keep provided IDs where possible if not online 2020-03-30 15:07:39 +09:00
Andrei Zavatski
c08e16d97f Merge remote-tracking branch 'refs/remotes/ppy/master' into beatmap-listing-expanded 2020-03-06 01:27:51 +03:00
smoogipoo
99442ec9c3 Implement single-room multiplayer room polling 2020-02-27 19:23:50 +09:00
smoogipoo
db78b95228 Remove duplicated api request 2020-02-21 19:27:25 +09:00
smoogipoo
957b33b141 Fix included comment properties not being set correctly 2020-02-21 19:27:17 +09:00
smoogipoo
41c6d2f2e7 Merge remote-tracking branch 'origin/master' into subcomments-alter-new 2020-02-21 17:02:58 +09:00
smoogipoo
37e295e4be Refactor orphaning to better follow osu-web specification 2020-02-21 17:02:48 +09:00
Andrei Zavatski
20b49bea4b Refactor SearchBeatmapSetsRequest 2020-02-21 01:49:03 +03:00
Andrei Zavatski
58903759f1 Implement enum attributes to set display order 2020-02-21 01:37:36 +03:00
Andrei Zavatski
d50cca6264 Minor enum adjustments for consistency 2020-02-21 01:05:20 +03:00
Andrei Zavatski
eeae0a5774 Fix typos 2020-02-21 00:56:33 +03:00
Andrei Zavatski
063a53017e Implement Language filter 2020-02-20 17:56:49 +03:00
Andrei Zavatski
6b2ae67eaf Implement Genre filter 2020-02-20 17:40:45 +03:00
Dean Herbert
5c16dbbea9
Merge pull request #7919 from smoogipoo/null-leaderboard-position
Support null leaderboard position
2020-02-20 16:27:24 +09:00
Dan Balasescu
474d0635cf
Merge pull request #7913 from TheWildTree/highlight-full-combo
Highlight max combo on beatmap leaderboards
2020-02-20 14:53:55 +09:00
smoogipoo
1a689231c2 Support null leaderboard position 2020-02-20 14:51:25 +09:00
Andrei Zavatski
7550685a61 DrawableErrorHandler -> NotFoundDrawable 2020-02-20 02:43:13 +03:00
TheWildTree
23c9782f50 Add maxCombo to APIBeatmap 2020-02-19 17:58:41 +01:00
Andrei Zavatski
255c8d3a13 Adjust SearchBeatmapSetsRequest for new usage 2020-02-19 17:33:48 +03:00
Andrei Zavatski
01202f09be Expand SearchBeatmapSetsResponse 2020-02-19 17:32:43 +03:00
Andrei Zavatski
3bf3becdd6 Merge remote-tracking branch 'refs/remotes/ppy/master' into subcomments-alter-new 2020-02-18 13:27:08 +03:00
Andrei Zavatski
7cb11be810 Merge remote-tracking branch 'refs/remotes/ppy/master' into subcomments-alter-new 2020-02-14 20:55:51 +03:00
recapitalverb
7866c26f95 Make OsuConfigManager instances readonly 2020-02-14 22:18:56 +07:00
recapitalverb
2bd2cd1d3f Use OsuConfigManager from ctor instead 2020-02-14 21:59:33 +07:00
recapitalverb
a7c2fd078f Fix remaining cases 2020-02-14 20:27:21 +07:00
Dean Herbert
76cfe1f42c Merge branch 'master' into online-container 2020-02-14 15:18:27 +09:00
Andrei Zavatski
5201c1c87b Use new algorithm for comments tree creation 2020-02-13 02:21:13 +03:00
Andrei Zavatski
26afe0f31e Add ability to load long comment trees in CommentsContainer 2020-02-10 15:43:11 +03:00
Andrei Zavatski
cb30f463fb Update spotlight info based on selected one 2020-02-05 12:48:29 +03:00
Andrei Zavatski
37992e99f9 API implementation 2020-02-04 16:04:06 +03:00
Andrei Zavatski
e531570352 Merge remote-tracking branch 'refs/remotes/ppy/master' into spotlights_api 2020-02-03 19:34:35 +03:00
Andrei Zavatski
d20c48d151 Resolve possible UserVotes issues 2020-01-30 00:53:05 +03:00
Andrei Zavatski
dc10e58b4f Add tests for CommentsPage 2020-01-29 06:44:39 +03:00
Dean Herbert
cbba708931
Merge branch 'master' into online-mod-settings 2020-01-22 22:15:41 +09:00
smoogipoo
03b61e4a5a Throw exception rather than returning nulls 2020-01-22 20:00:36 +09:00
Lucas A
0422b326ad Add visual tests 2020-01-17 18:54:00 +01:00
smoogipoo
2187523bf3 Fix json web requests having incorrect user agents 2020-01-17 19:21:27 +09:00
smoogipoo
2bc7458abf Add mod setting (de)serialization support 2020-01-17 13:27:47 +09:00
Dean Herbert
0d8b4e7c3e Fix user agent missing in registration 2020-01-16 12:51:43 +09:00
smoogipoo
33993837b7 Remove participant count (not returned by API) 2020-01-14 14:41:38 +09:00
smoogipoo
7349c023d1 Cleanup spotlight selection 2020-01-14 14:01:51 +09:00
Dean Herbert
4ef30f6a05
Merge branch 'master' into spotlights_api 2020-01-13 12:36:13 +08:00
Craftplacer
7aac6deb71
Merge branch 'master' into api-chat-read 2020-01-11 19:18:50 +01:00
Andrei Zavatski
9260ea9195 Apply suggestions 2020-01-10 20:46:35 +03:00
Andrei Zavatski
08fb68ddfe Fix incorrect return type for spotlight request 2020-01-10 16:28:52 +03:00
Andrei Zavatski
f65f030e79 Implement GetSpotlightsRequest 2020-01-10 15:48:54 +03:00
Craftplacer
8dbddfab55 Add HTTP method 2020-01-04 00:45:51 +01:00
Craftplacer
9b95ce1045 Change wrong values used to form target URL
Dumb mistake by me, C# used ToString() on these objects.
2020-01-04 00:45:02 +01:00
Craftplacer
51556a809d Fix variables not being used inside target string 2020-01-02 17:20:33 +01:00
Craftplacer
7b71e56817 Initial commit 2020-01-02 17:07:28 +01:00
Roman Kapustin
e8bcb52612 Set UserAgent for API requests 2019-12-28 18:07:55 +03:00
Dean Herbert
756d847ad8 Fix user not getting an initial status 2019-12-18 14:07:03 +09:00
Huo Yaoyuan
61a6106e52 CA2200: don't explictly throw caught exception. 2019-12-17 13:00:23 +08:00
Huo Yaoyuan
d7b3578cc6 CA2201: throw correct exception type. 2019-12-17 13:00:02 +08:00
Dan Balasescu
e288706802
Merge branch 'master' into rankings-overlay-refactor 2019-12-11 19:09:29 +09:00
Andrei Zavatski
69deb0ca96 Fix unavailable replays can be accessed via leaderboard 2019-12-09 07:19:55 +03:00
Andrei Zavatski
22863da360 Merge remote-tracking branch 'refs/remotes/ppy/master' into rankings-overlay-refactor 2019-12-05 09:29:37 +03:00
Dean Herbert
de413418c7 Remove redundant prefix 2019-12-05 14:50:12 +09:00
Dean Herbert
6e9157d59c Standardise request/response handling 2019-12-05 14:29:48 +09:00
Dean Herbert
36224dca13 Fix multiplayer aggregate score inheriting from ScoreInfo 2019-12-05 01:45:28 +09:00
Dean Herbert
e2591f154b Only parse statistics when not null 2019-12-03 16:16:46 +09:00
Dean Herbert
f0d49d0cdf Decouple APILegacyScoreInfo from ScoreInfo 2019-12-03 15:31:11 +09:00
Dean Herbert
c49aeb08c4 Add API methods to perform requests out-of-queue 2019-11-29 20:03:14 +09:00
Andrei Zavatski
da01f0ee5a Merge remote-tracking branch 'refs/remotes/ppy/master' into rankings-tables 2019-11-28 20:08:41 +03:00
Ganendra Afrasya
71a871d7d1 Add loved enum on BeatmapApproval 2019-11-28 21:59:57 +07:00
Andrei Zavatski
c546df8a80 Refactor API logic 2019-11-27 21:56:22 +03:00
Dean Herbert
4221a0126c
Merge branch 'master' into rankings-tables 2019-11-27 23:26:54 +09:00
Huo Yaoyuan
c0fe91a84c Merge branch 'master' into sharpen 2019-11-26 18:21:50 +08:00
Dean Herbert
b85189f855 Merge remote-tracking branch 'upstream/master' into fix-spritetext-usage 2019-11-25 11:31:12 +09:00
Dean Herbert
45514ff660 Apply fixes 2019-11-25 11:30:55 +09:00
Dean Herbert
65d71b9442 Fix beatmap lookups failing for beatmaps with no local path
Turns out the underlying EscapeUriString doesn't like nulls
2019-11-23 20:55:42 +09:00
Dean Herbert
f079ebe857 Simplify beatmap lookup to use a single endpoint 2019-11-22 16:13:48 +09:00
Huo Yaoyuan
818553027b Merge branch 'master' into sharpen 2019-11-21 23:42:46 +08:00
Dean Herbert
19dfbb0a45 Update obsolete usages 2019-11-21 10:55:31 +09:00
Dean Herbert
f11ad7535d
Merge branch 'master' into rankings-tables 2019-11-13 15:39:13 +09:00
Dean Herbert
ce60f8262c
Merge branch 'master' into sharpen 2019-11-13 15:38:59 +09:00
Dean Herbert
61464c5c89 Fix potential nullref in unrelated test 2019-11-12 21:27:15 +09:00
Huo Yaoyuan
ca52d09e81 Enforce expression body for typical simple ones. 2019-11-12 19:56:37 +08:00
Dean Herbert
58df6930b2 Get error message from server 2019-11-12 19:34:20 +09:00
Dean Herbert
f04d7f733f Merge remote-tracking branch 'upstream/master' into favourite-beatmap 2019-11-12 19:19:29 +09:00
Dean Herbert
a83c3523ae
Merge branch 'master' into rankings-tables 2019-11-12 18:59:43 +09:00
iiSaLMaN
6ecea0e4c1 Fix DummyAPIAccess being potentially incorrect 2019-11-06 18:15:49 +03:00
Andrei Zavatski
2f703090ef Update API with latest web changes 2019-11-01 21:49:50 +03:00
Andrei Zavatski
1e73cf1025 Merge remote-tracking branch 'refs/remotes/ppy/master' into rankings-tables 2019-11-01 21:14:09 +03:00
Andrei Zavatski
9ee63a8c1a Apply suggested changes 2019-10-17 16:28:32 +03:00
Andrei Zavatski
42cd4107a0 Implement CommentVoteRequest and adjust UI 2019-10-17 15:04:30 +03:00
Andrei Zavatski
38dcd42d08 Parse voted comments 2019-10-17 12:35:12 +03:00
Dean Herbert
4f356f3aeb
Merge branch 'master' into favourite-beatmap 2019-10-16 18:22:09 +09:00
Andrei Zavatski
96e31b9cca Add support for deleted comments with message 2019-10-15 12:07:01 +03:00
Andrei Zavatski
eb5dad08aa Remove initial filed 2019-10-15 11:25:58 +03:00
Andrei Zavatski
3c714dc013 APICommentsController -> CommentBundle 2019-10-15 11:20:06 +03:00
Andrei Zavatski
ad32d66365 CI fix 2019-10-15 01:10:23 +03:00
Andrei Zavatski
0fd6b0c852 Use linq expression to count deleted comments 2019-10-15 00:55:33 +03:00
Andrei Zavatski
09621f066e Childs -> Children 2019-10-15 00:32:21 +03:00
Andrei Zavatski
0676c880b5 Simplify IsTopLevel and IsDeleted properties 2019-10-15 00:26:31 +03:00
Andrei Zavatski
d4843285db CI fixes 2019-10-14 17:33:14 +03:00
Andrei Zavatski
a4ffd4798d Fix escaped html strings not being unescaped 2019-10-14 17:02:48 +03:00
Andrei Zavatski
7cd3f5656d Cleanups 2019-10-14 16:43:43 +03:00
Andrei Zavatski
27e3ffd293 Update dependencies 2019-10-13 11:23:49 +03:00
Andrei Zavatski
7f867562ca Merge remote-tracking branch 'refs/remotes/ppy/master' into comments_api 2019-10-13 11:15:43 +03:00
Dean Herbert
475815df04 Update ranking display to handle new osu-web request format 2019-10-11 13:09:21 +09:00
Andrei Zavatski
f6b78ad661 Overall cleanups 2019-10-10 11:43:45 +03:00
Andrei Zavatski
107d39c3e9 Add DeletedChildsPlaceholder to the bottom of the comments container 2019-10-09 14:10:05 +03:00
Andrei Zavatski
7e3c97f496 Implement DeletedChildsPlaceholder component 2019-10-09 13:37:07 +03:00
Andrei Zavatski
b2bd78308d Handle deleted comments 2019-10-09 12:18:49 +03:00
Andrei Zavatski
ad99a3236f Handle edited comments 2019-10-09 11:32:17 +03:00
Andrei Zavatski
0a56b041fd Implement ShowChildsButton 2019-10-09 11:07:56 +03:00
Andrei Zavatski
faef4d932d Improve message parsing 2019-10-09 10:17:14 +03:00
Andrei Zavatski
29b0eacc82 Implement SortSelector component 2019-10-08 22:46:42 +03:00
Andrei Zavatski
4230b00110 Rename APIComments to APICommentsController 2019-10-08 19:22:23 +03:00
Andrei Zavatski
000e4a563c Parse parent comments 2019-10-08 19:09:02 +03:00
Andrei Zavatski
451a7342ce Parse child comments 2019-10-08 15:39:03 +03:00
Andrei Zavatski
801b5b474e Add a User property to the comment for easy access 2019-10-08 13:45:13 +03:00
Andrei Zavatski
4b1a40daba Implement temp fix to get the actual message 2019-10-08 13:31:49 +03:00
Andrei Zavatski
cc6bf2f173 Add IsDeleted property 2019-10-07 18:45:22 +03:00
Andrei Zavatski
aa8df0fa20 Hook up api and implement some visual comments representation 2019-10-07 18:26:07 +03:00
Andrei Zavatski
738580ec61 Add IsTopLevel property 2019-10-07 16:58:24 +03:00
Andrei Zavatski
76db200bd3 Implement GetCommentsRequest 2019-10-07 16:48:05 +03:00
Andrei Zavatski
2d707b2b65 Implement PostBeatmapFavouriteRequest 2019-10-07 15:36:23 +03:00
Andrei Zavatski
2a395956aa Merge dependencies 2019-09-27 19:00:17 +03:00
Dean Herbert
c83db94eb7 Use isolated storage/api 2019-09-25 15:00:08 +09:00
Andrei Zavatski
573da7b1e7 Implement ChangelogEntryType 2019-09-19 20:34:37 +03:00
Dean Herbert
d21d68b36c Refactor to match web implementation 1:1 2019-09-02 17:04:38 +09:00
Dean Herbert
0985b1679f Move enum to response class 2019-09-02 15:57:55 +09:00
Dean Herbert
3d551b08a9 Rename legacy actions 2019-09-02 15:57:23 +09:00
Dean Herbert
13fadec6ec Merge remote-tracking branch 'upstream/master' into kudosu-info 2019-09-02 15:25:41 +09:00
Andrei Zavatski
72dbeaec16 Fix the comment 2019-08-30 10:26:11 +03:00
Andrei Zavatski
b03b520818 Move Absing from the APIKudosuHistory 2019-08-30 10:13:21 +03:00
StanR
d303083179 Update to match api 2019-08-29 12:29:31 +03:00
StanR
3347ee8170 Merge branch 'master' into beatmapset-genre-language 2019-08-29 09:57:53 +03:00
Andrei Zavatski
ed827d514f Add comments 2019-08-27 15:36:08 +03:00
Andrei Zavatski
f4d2bb036b Expand KudosuAction list 2019-08-22 16:50:54 +03:00
Andrei Zavatski
2393bbc69b Expand APIKudosuHistory 2019-08-18 21:27:53 +03:00
Andrei Zavatski
093359c13b fix incorrect json property 2019-08-09 11:19:14 +03:00
Andrei Zavatski
5073bce2dc Basic request implementation 2019-08-09 10:47:52 +03:00
Andrei Zavatski
b1c78c43f3 Simplify target string 2019-08-07 06:57:46 +03:00
Andrei Zavatski
c16e84e5e6 Fix unability to get local user with specific ruleset 2019-08-07 06:35:57 +03:00
Andrei Zavatski
3cfbbac5dc Expand requests 2019-08-06 17:47:31 +03:00
Joehu
e84c79d140 Update osu!direct categories sorting with web changes 2019-08-02 13:16:33 -07:00
Andrei Zavatski
0f36088ef8 Add loved section 2019-08-01 11:06:29 +03:00
Andrei Zavatski
de8ac9a428 Simple implementation 2019-07-21 21:41:07 +03:00
smoogipoo
066bee3535 Simplify offset calculation 2019-07-19 16:02:33 +09:00
smoogipoo
99ab77b926 Add PaginatedWebRequest to handle request pagination 2019-07-19 15:33:09 +09:00
Andrei Zavatski
9458bca58f Update usage of requests 2019-07-15 13:37:25 +03:00
Andrei Zavatski
111541fe7a Use limit in requests 2019-07-15 13:31:57 +03:00
StanR
cd7c03c13a Add genre and language sections to beatmapset overlay 2019-07-11 16:44:48 +03:00
Dean Herbert
c22633967b Merge remote-tracking branch 'upstream/master' into user-best-score 2019-07-11 11:32:47 +09:00
iiSaLMaN
b2f23a10c8 Use the correct property to retrieve the milliseconds 2019-07-10 23:12:18 +03:00
Dean Herbert
2285c2b1df
Merge branch 'master' into user-best-score 2019-07-11 00:31:26 +09:00