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

1842 Commits

Author SHA1 Message Date
Dean Herbert
bb97eae8b1 Update outdated exception references in xmldoc 2020-12-09 16:02:37 +09:00
Dean Herbert
1e08b298b8 Remove unnecessary exception type 2020-12-09 16:01:09 +09:00
Dean Herbert
578e5cb92e Also make InvalidStateException serializable 2020-12-09 15:59:13 +09:00
Dean Herbert
ab00a15555 Add JsonConstructor specs to allow for correct deserialization of readonly fields 2020-12-09 15:05:57 +09:00
Dean Herbert
bef52af1da Move client state class to server implementation
Never used by client.
2020-12-09 15:05:33 +09:00
Dean Herbert
e09715d71e Add ToString implementation to MultiplayerRoom for easier debug 2020-12-09 14:47:26 +09:00
Dean Herbert
c92c2cbfc0 Change exceptions which should be returned to the user to HubException type
See
https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.signalr.hubexception?view=aspnetcore-5.0.
2020-12-09 14:46:44 +09:00
Dean Herbert
48129c52d6 Change get-only property for now 2020-12-09 12:38:24 +09:00
Dean Herbert
427d41bab5 Add missing licence headers 2020-12-09 12:17:37 +09:00
Dean Herbert
0eb5b16454 Remove Empty() implementation for RoomSettings until otherwise necessary 2020-12-09 12:12:03 +09:00
Dean Herbert
1013749a83 Change user id type to int 2020-12-09 12:10:47 +09:00
Dean Herbert
fd4fa963ac Standardise exception naming 2020-12-09 12:07:19 +09:00
Dean Herbert
2046cbe2d9 Add missing exceptions to server xmldoc 2020-12-09 12:05:50 +09:00
Dean Herbert
ff5150a14d Fix typo in IMultiplayerClient xmldoc 2020-12-09 12:03:52 +09:00
Dean Herbert
02f5fda330 Add missing final newline in file 2020-12-08 21:15:10 +09:00
Dean Herbert
aa68ae4ff2 Change locking mechanism for multiplayer rooms to use using-disposal pattern
Was required to lock over `await` calls server-side.
2020-12-08 20:43:18 +09:00
Dean Herbert
d76fabedf9 Add note about LoadRequested only being sent to a subset of room users 2020-12-08 20:43:18 +09:00
Dean Herbert
021a116093 Add extra xmldoc covering the fact that MatchStarted is received by all users 2020-12-08 20:43:18 +09:00
Dean Herbert
df908f90b2 Add exception to be thrown when an operation is requested requiring host when not host 2020-12-08 20:43:18 +09:00
Dean Herbert
2433838d58 Add methods covering match start / end 2020-12-08 20:43:18 +09:00
Dean Herbert
2aedd82e27 Document room states and remove unnecessary WaitingForResults state 2020-12-08 20:43:18 +09:00
Dean Herbert
147db0abe2 Fix client naming and xmldoc 2020-12-08 20:43:18 +09:00
Dean Herbert
60550b73f7 Add missing states and xmldoc for all states' purposes 2020-12-08 20:43:18 +09:00
Dean Herbert
8eccfa476c Add loading states 2020-12-08 20:43:18 +09:00
Dean Herbert
345352be67 Mark PerformUpdate as an instant handle method (doesn't really help with anything) 2020-12-08 20:43:18 +09:00
Dean Herbert
11a7057289 Add notification flow for user state changes in room 2020-12-08 20:43:18 +09:00
Dean Herbert
dbe048cdc6 Add client method for notifying about host changes 2020-12-08 20:43:18 +09:00
Dean Herbert
a4ca8d2998 Ensure multiplayer rooms are instantiated with a room ID 2020-12-08 20:43:18 +09:00
Dean Herbert
71de7ce0a3 Add missing methods to server interface 2020-12-08 20:43:18 +09:00
Dean Herbert
5f5c0d5533 Return room model when joining 2020-12-08 20:43:18 +09:00
Dean Herbert
5d2ca7fc39 Make remaining model classes nullable and serializable 2020-12-08 20:43:18 +09:00
Dean Herbert
2365d65610 Move business logic out of MultiplayerRoom 2020-12-08 20:43:18 +09:00
Dean Herbert
42b1e9d6a4 Add xmldoc coverage of MultiplayerRoom 2020-12-08 20:43:18 +09:00
Dean Herbert
4f449ba821 Rename idle state 2020-12-08 20:43:18 +09:00
Dean Herbert
5a231cef15 Add thread safety for external operations on MultiplayerRoom 2020-12-08 20:43:18 +09:00
Dean Herbert
327799c263 Rename multiplayer server file to match class 2020-12-08 20:43:18 +09:00
Dean Herbert
b3bdaaa7b5 Move exceptions to common code 2020-12-08 20:43:18 +09:00
Dean Herbert
e193f8214d Remove unnecessary room id from leave room request 2020-12-08 20:43:18 +09:00
Dean Herbert
882ace6efe Make MultiplayerRoomUser equatable 2020-12-08 20:43:18 +09:00
Dean Herbert
baf16cfbc3 Add room settings related model and event flow 2020-12-08 20:43:18 +09:00
Dean Herbert
6e5846d91b Fix serialization failure due to missing set 2020-12-08 20:43:18 +09:00
Dean Herbert
ff52a5ddc6 Add callbacks for join/leave events to notify other room occupants 2020-12-08 20:43:18 +09:00
Dean Herbert
ca86524c92 Add locking on join/leave operations 2020-12-08 20:43:18 +09:00
Dean Herbert
fdf025942b Ensure room is locked when mutating users 2020-12-08 20:43:18 +09:00
Dean Herbert
8ebdb5723b Add models for users and rooms 2020-12-08 20:43:18 +09:00
Dean Herbert
f4ccbbd092 Add basic server implementation 2020-12-08 20:43:18 +09:00
Dean Herbert
daed27460c Add simple user state class 2020-12-08 20:43:18 +09:00
Dean Herbert
be4a668e0b Add basic structure for multiplayer state and model components 2020-12-08 20:43:18 +09:00
smoogipoo
f599427080 Implement TimeshiftFilterControl 2020-12-07 22:04:35 +09: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
37d550f42a
Merge pull request #11035 from smoogipoo/add-playlist-length 2020-12-03 18:39:54 +09:00
Dean Herbert
3550e5b30f Add length display to room screen as well 2020-12-03 16:42:06 +09:00
smoogipoo
d5dccbc3d7 Fix spectator not being thread-safe 2020-12-02 19:13:09 +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
Bartłomiej Dach
610ed99ae3 Add null checks to unguarded resolved-as-null fields 2020-11-14 14:52:58 +01: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
a3c67aabe2 Merge branch 'master' into spectator-listing 2020-11-03 19:56:25 +09:00
Dean Herbert
ed30756c19 Add test coverage for new display (and remove live version for now) 2020-11-02 20:41:14 +09:00
Dean Herbert
a89aeaf1ce Add very basic connection status logging for spectator streaming client 2020-11-02 17:32:10 +09:00
Bartłomiej Dach
23d9fa4dfa Merge branch 'master' into spectator-replay-watcher 2020-11-01 15:53:37 +01:00
Bartłomiej Dach
5903c3be90 Fix inaccurate xmldoc 2020-11-01 14:39:10 +01: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
Dean Herbert
87be7d162b
Merge branch 'master' into spectator-replay-watcher 2020-10-30 00:25:17 +09: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
c1e7cd6e47 Stop replay playback when frames are starved 2020-10-27 18:58:37 +09:00
Dean Herbert
154ccf1b49 Expose events from streaming client 2020-10-27 18:58:37 +09:00
Dean Herbert
68719bb23d Rename other variables to match 2020-10-27 10:59:24 +09:00
Bartłomiej Dach
7392876b5f Fix mania crashing due to spectator client handling frames with unconverted beatmap 2020-10-27 00:35:25 +01:00
Dean Herbert
dfe07271de Add very basic latency handling to spectator test 2020-10-26 16:31:39 +09:00
Dean Herbert
b86347dc81 Merge branch 'master' into spectator 2020-10-26 13:39:07 +09:00
Dean Herbert
9caa7ff64d Remove debug endpoint 2020-10-26 13:38:05 +09:00
Dean Herbert
e20a986401 Add ruleset to state 2020-10-23 17:24:19 +09:00
Dean Herbert
e99cf369fa Don't worry about EndPlaying being invoked when not playing 2020-10-23 13:33:23 +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
54d666604b Fix incorrect order of flag settings 2020-10-22 22:56:23 +09:00
Dean Herbert
9f2f8d8cc7 Fix missing licence headers 2020-10-22 19:41:10 +09:00
Dean Herbert
147d502da1 Fix initial play state not being kept locally if not connected 2020-10-22 19:30:07 +09:00
Dean Herbert
ee2513bf4b Add batch sending 2020-10-22 19:17:19 +09:00
Dean Herbert
34e889e66e Don't watch every user in normal gameplay (but allow so in test) 2020-10-22 18:38:03 +09:00
Dean Herbert
1ab6f41b3b Add basic send and receive test 2020-10-22 18:10:27 +09:00
Dean Herbert
c834aa6051 Use APIMod for mod serialization 2020-10-22 17:48:15 +09:00
Dean Herbert
0611b30258 Drop webpack 2020-10-22 17:48:15 +09:00
Dean Herbert
05697dfe68 Add spectator state object support 2020-10-22 17:48:15 +09:00
Dean Herbert
2021945a8c Add retry/error handling logic 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
175fd512b0 Send frames to streaming client from replay recorder 2020-10-22 17:48:15 +09:00
Dean Herbert
93db75bd41 Begin shaping the spectator streaming component 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
db4dd3182b Add xmldoc to spectator interfaces 2020-10-22 14:46:21 +09:00
Dean Herbert
b39a4da6bc Add initial classes for spectator support 2020-10-22 14:46:21 +09:00
Dean Herbert
da573c7487 Remove unused usings 2020-10-22 14:44:10 +09:00
Dean Herbert
3fe6f77444 Fix cases of multiple bdl methods 2020-10-22 14:30:49 +09:00
Dean Herbert
9753dab93b Remove IOnlineComponent and change existing components to use bindable flow 2020-10-22 14:19:12 +09:00
Dean Herbert
002ade51fc
Merge pull request #9816 from voidedWarranties/duplicate-multi-room 2020-10-19 19:02:03 +09:00
Dean Herbert
6d22f0e196 Use existing copy method and update xmldoc 2020-10-19 17:15:13 +09:00
Dean Herbert
61a43770bd Merge branch 'master' into duplicate-multi-room 2020-10-19 16:58:45 +09:00
Dean Herbert
d6efa3069a Merge branch 'master' into fix-login-placeholder-inheritance 2020-10-19 16:25:44 +09:00
Berkan Diler
fe3a23750c Use char overloads for string methods 2020-10-16 11:52:29 +02:00
Dan Balasescu
73edb87363
Merge pull request #10303 from peppy/more-textbox-entry
Add textbox entry for speed multiplier and volume
2020-10-01 20:42:14 +09:00
Dean Herbert
61e62929ee Apply changes in line with framework event logic update 2020-10-01 13:06:01 +09:00
smoogipoo
297168ecc4 Fix scores sometimes not being re-standardised correctly 2020-09-29 19:06:09 +09:00
Dean Herbert
ef44c7d063
Merge branch 'master' into score-recalc 2020-09-10 18:30:41 +09:00
smoogipoo
bbef7ff720 Fix leaderboard loading spinner disappearing too early 2020-09-09 20:19:07 +09:00
smoogipoo
37a659b2af Refactor/add xmldocs 2020-09-09 17:36:47 +09:00
smoogipoo
117c7ec6b2 Merge branch 'master' into score-recalc 2020-09-09 14:38:36 +09:00
smoogipoo
bff652a26f Persist nulls to the top score bindable 2020-09-02 14:29:46 +09:00
smoogipoo
9e3b809cab Rename to user_score to match API 2020-09-01 15:42:47 +09:00
smoogipoo
d22de26afb Add whitespace 2020-08-31 20:08:36 +09:00
smoogipoo
6ed191786f Add support for position 2020-08-31 20:01:59 +09:00
smoogipoo
77698ec31e Add support for showing own top score in timeshift 2020-08-31 19:54:57 +09:00
smoogipoo
d1ceb81797 Rename request 2020-08-31 19:54:41 +09:00
smoogipoo
ed74c39b55 Move UserTopScoreContainer into base leaderboard 2020-08-31 19:54:22 +09:00
smoogipoo
d7bbb362bf Separate bindables 2020-08-28 22:51:19 +09:00
smoogipoo
1e5e5cae0c Add support for standardised -> classic changes 2020-08-28 21:34:34 +09:00
smoogipoo
4d15f0fe52 Implement basic score recalculation 2020-08-28 19:16:46 +09:00
Poliwrath
97637bc747 remove new.ppy.sh from MessageFormatter 2020-08-26 02:50:02 -04:00
Joseph Madamba
4d6b52a0d6
Simply condition
Co-authored-by: Dean Herbert <pe@ppy.sh>
2020-08-17 23:08:51 -07:00
Joehu
e0383f6100 Change format of rank tooltip 2020-08-17 22:07:04 -07:00
Joehu
848f3bbf51 Show tooltip of leaderboard score rank when 1000 or higher 2020-08-17 21:09:55 -07:00
voidedWarranties
9e4b9188e1 Cache LoungeSubScreen, separate method, rename option 2020-08-15 13:06:16 -07:00
voidedWarranties
3a97ee4712 Context menu for duplicating multi rooms 2020-08-09 16:16:01 -07:00
Dean Herbert
4189e918a3
Merge branch 'master' into news 2020-08-03 14:16:45 +09:00
Dan Balasescu
d63f040477
Merge branch 'master' into multi-position 2020-07-31 23:10:25 +09:00
Dean Herbert
909b38a019
Merge branch 'master' into multi-pagination 2020-07-31 22:41:24 +09:00
smoogipoo
b361761d86 Add position display in contracted score panels 2020-07-31 22:02:25 +09:00
smoogipoo
f1e721e396 Rewrite test scene and add more tests 2020-07-31 21:39:50 +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
smoogipoo
eadef53e68 Add more annotations 2020-07-31 17:43:40 +09:00
smoogipoo
88e179d8aa Split out index-only response 2020-07-31 17:40:58 +09:00
Dean Herbert
9e6d562872 Send in initial score request instead 2020-07-29 13:18:40 +09:00
smoogipoo
ccc377ae6a Remove unused enum 2020-07-28 21:45:12 +09:00
smoogipoo
db91d1de50 Use response params in next page request 2020-07-28 21:45:12 +09:00
Andrei Zavatski
b821d619b5 Merge remote-tracking branch 'refs/remotes/ppy/master' into news 2020-07-25 09:13:12 +03:00
smoogipoo
b7790de66f Fix incorrect sort param 2020-07-22 20:24:48 +09:00
smoogipoo
568fb51ce2 Remove RoomPlaylistScores intermediate class 2020-07-22 20:24:42 +09:00
smoogipoo
f8401a76a2 Use show/index requests in results screen 2020-07-22 19:40:00 +09:00
smoogipoo
334fb7d475 Add additional params to index request 2020-07-22 18:54:41 +09:00
smoogipoo
c75955e381 Add responses to MultiplayerScore 2020-07-22 18:52:25 +09:00
smoogipoo
634efe31f8 Inherit ResponseWithCursor 2020-07-22 18:51:54 +09:00
smoogipoo
ec33a6ea87 Add additional responses 2020-07-22 18:47:40 +09:00
smoogipoo
d9633fee64 Rename request 2020-07-22 18:47:09 +09:00
smoogipoo
e423630b7c Rename RoomScore -> MultiplayerScore 2020-07-22 18:37:00 +09: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
Joehu
db6a9c9717 Move null check to menu item addition 2020-07-12 22:06:17 -07:00
Joehu
ac7252e152 Fix context menu not masking outside of leaderboard area 2020-07-12 22:04:00 -07:00
Joehu
9c039848bc Simplify and add null check 2020-07-12 12:04:53 -07:00
Andrei Zavatski
3601a2d93f Merge remote-tracking branch 'refs/remotes/ppy/master' into news 2020-07-12 14:45:48 +03:00
Joehu
25d2d9ba5c Convert getMods reference to method group 2020-07-11 16:24:57 -07:00
Joehu
0d26ad9ddb Fix user top score not having a context menu 2020-07-11 16:22:01 -07:00
Joehu
9b4bed2ab2 Add ability to select mods from a specific score 2020-07-11 16:02:47 -07:00
smoogipoo
fe585611e7 Fix + simplify web request 2020-07-10 19:54:09 +09:00
Dean Herbert
64e8dce1ad Highlight spotlight rooms with a different colour 2020-07-10 19:38:33 +09:00
smoogipoo
926279e39b Implement category dropdown for multiplayer 2020-07-10 17:26:42 +09:00
smoogipoo
1bcd673a55 Fix crash when switching rooms quickly 2020-07-10 12:09:34 +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
caf94df0d0 Merge branch 'master' into multiplayer-beatmap-checksum 2020-06-05 19:16:05 +09:00
Dean Herbert
f6d9f0597b Add implicit join logic for multiplayer rooms 2020-06-03 21:28:29 +09:00
Dean Herbert
1ba3f0ac14 Fix chat history not being loaded for multiplayer matches 2020-06-03 17:31:55 +09:00
smoogipoo
8aa8d2c880 Resolve NREs 2020-06-03 16:59:37 +09:00
smoogipoo
f3b5149648 Move some suggestions to warnings, resolve issues 2020-06-03 16:48:44 +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
f989f1aa00 Change event flow to avoid firing store delete events on update 2020-05-27 16:08:47 +09:00
Dean Herbert
052ad79fc6 Convert dangerous events to IBindables 2020-05-19 16:44:22 +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
33a608fd15 Merge branch 'master' of https://github.com/ppy/osu into present-recommended
 Conflicts:
	osu.Game/Screens/Select/SongSelect.cs
2020-05-01 11:06:20 +03:00
Dean Herbert
c73d45bc01 Reduce initial channel load overhead by only loading history on active channel 2020-04-29 15:23:28 +09:00
Endrik Tombak
657bf5ad86 Merge branch 'master' of https://github.com/ppy/osu into present-recommended 2020-04-25 10:13:57 +03:00
Lucas A
e136ecec5f Create ClickablePlaceholder and make of use it where applicable. 2020-04-23 14:01:47 +02:00
Lucas A
b1b3e01abd Apply review suggestion. 2020-04-23 14:01:47 +02:00
Lucas A
ea29f7c344 Use an OsuAnimatedButton in LoginPlaceholder to get the correct animations. 2020-04-23 14:01:47 +02: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
Dan Balasescu
477d519df3
Merge branch 'master' into beatmap-listing-expanded 2020-04-20 17:18:18 +09:00
Dean Herbert
07b8ef83c9 Add /np to help line 2020-04-19 22:15:07 +09:00
Dean Herbert
1dd471dfcc Add /np (now playing) command support in chat 2020-04-19 15:13:25 +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
smoogipoo
ed3e0a01e1 Re-namespace into song select 2020-04-07 15:31:22 +09:00
smoogipoo
ed17a1c990 Improve visual display 2020-04-07 15:30:06 +09:00
smoogipoo
933314d724 Remove unnecessary method 2020-04-07 14:50:11 +09:00
smoogipoo
c46ea7bdef Add disposal, prevent memory leaks 2020-04-07 14:49:24 +09:00
Santeri Nogelainen
da59baa779 Add line break 2020-04-04 22:42:13 +03:00
Santeri Nogelainen
163de36777 Merge remote-tracking branch 'upstream/master' 2020-04-04 22:29:15 +03:00
Santeri Nogelainen
1e8badb14a Move all logic to TopLocalRank and remove CarouselBeatmapRank 2020-04-04 22:28:36 +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
Santeri Nogelainen
faa2b49be4 Fix namespace for CarouselBeatmapRank, make UpdateableRank in TopLocalRank readonly 2020-03-28 18:13:39 +02:00
Santeri Nogelainen
1c711147f3 Move all carousel rank logic into separate classes (TopLocalRank and CarouselBeatmapRank) 2020-03-28 17:22:01 +02:00
Dean Herbert
1b6342438f Hide scrollbars in tournament chat display 2020-03-23 12:05:16 +09:00
unknown
2340142dc1 Merge branch 'master' of https://github.com/ppy/osu into linkify-metadata 2020-03-18 14:18:53 +08:00
smoogipoo
e586249db7 Expose GetRankName from DrawableRank 2020-03-17 16:25:51 +09:00
smoogipoo
d77b0acd90 Move rank colour to OsuColour 2020-03-17 16:25:41 +09:00
TheWildTree
acd280c855 Add System channel type and use it for the ChannelSelectorTab 2020-03-15 22:13:26 +01:00
Dan Balasescu
afcbc5b789
Merge branch 'master' into fix-cross-thread-operation 2020-03-11 12:45:18 +09:00
Dean Herbert
ed837d3115 Use framework extension method for FromHex 2020-03-11 10:18:41 +09:00
Dean Herbert
ad7cda8735 Fix download failures causing a non-safe drawable change 2020-03-10 20:11:06 +09:00
Dean Herbert
0102aaf32a Move chat expand/contract logic local to tournament 2020-03-08 18:11:57 +09:00
Dean Herbert
aed52179f0 Fix weird reverse logic 2020-03-08 15:32:22 +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
Dean Herbert
4294ed4b64 Better align fonts to weights 2020-03-04 11:45:19 +09:00
Dean Herbert
276f6da483
Merge branch 'master' into better-room-participants 2020-02-28 16:42:31 +09:00
smoogipoo
085968dd7f Rename recent participants 2020-02-27 20:00:53 +09:00
smoogipoo
97c07281d8 Make ParticipantsList use the new participants property 2020-02-27 19:24:13 +09:00
smoogipoo
99442ec9c3 Implement single-room multiplayer room polling 2020-02-27 19:23:50 +09:00
smoogipoo
3f5c4633bc Remove workarounds for CreateRoomRequest shortcomings 2020-02-27 16:41:00 +09:00
Dean Herbert
db1e5abad7
Merge pull request #7786 from EVAST9919/subcomments-alter-new
Add ability to load long comment trees in CommentsContainer
2020-02-21 21:18:33 +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
Dean Herbert
92f6f0207c Rename LoadingAnimation to LoadingSpinner 2020-02-21 15:33:31 +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
smoogipoo
c8b81bcf3c Use equality comparison rather than hash set 2020-02-16 16:23:46 +09:00
smoogipoo
17e3470441 Replace hashcode override with local equality comparer 2020-02-16 00:23:52 +09:00
Dean Herbert
a51fdfb95e
Merge pull request #7839 from smoogipoo/match-subscreen-redesign
Redesign match subscreen to add playlist support
2020-02-15 21:11:39 +09:00
Dean Herbert
d0122b935e Transfer metadata to ensure present on creating a new match 2020-02-15 19:40:59 +09: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
7de7748607 Remove unnecessary nullability 2020-02-14 22:02:10 +07:00
recapitalverb
2bd2cd1d3f Use OsuConfigManager from ctor instead 2020-02-14 21:59:33 +07:00
recapitalverb
c46d828716 Preserve permitNulls 2020-02-14 20:59:51 +07:00
recapitalverb
a7c2fd078f Fix remaining cases 2020-02-14 20:27:21 +07:00
recapitalverb
c753cb46c5 Use [Resolved] wherever possible 2020-02-14 20:14:00 +07:00
Dean Herbert
a75715607b Move drawable load to asynchronous context 2020-02-14 15:41:46 +09:00
Dean Herbert
720ceca78a Final tidy-up pass 2020-02-14 15:38:47 +09:00
Dean Herbert
edf9cfc863 API can't be null on load 2020-02-14 15:36:06 +09:00
Dean Herbert
6f1cecd86f Move LoadComplete up in method 2020-02-14 15:35:39 +09:00
Dean Herbert
7e6c194d4a Add missing xmldoc 2020-02-14 15:34:46 +09:00
Dean Herbert
4d5abab2ee Remove unnecessary content private storage 2020-02-14 15:29:50 +09:00
Dean Herbert
76cfe1f42c Merge branch 'master' into online-container 2020-02-14 15:18:27 +09:00
Lucas A
049b0d93d1 Add back default content fade transitions 2020-02-13 21:40:25 +01:00
Lucas A
dac0148c94 Apply review suggestions. 2020-02-13 20:08:14 +01:00
Dean Herbert
e181a95c85
Remove unused using 2020-02-13 22:28:37 +09:00
Dean Herbert
4a04b434a9
Merge branch 'master' into remove-current-item 2020-02-13 21:41:23 +09:00
Dean Herbert
b9a296d3f9
Merge branch 'master' into remove-current-item 2020-02-13 19:34:15 +09:00
Dean Herbert
28ca1a5bcc
Merge branch 'master' into participants-bindable 2020-02-13 19:31:50 +09:00
smoogipoo
bc1c4f6b58 Add missing null-allowance 2020-02-13 19:04:23 +09:00
smoogipoo
bce9c8f3f3 Make room participants into a bindable list 2020-02-13 18:59:15 +09:00
smoogipoo
75bef15583 Remove "current" multiplayer room item 2020-02-13 18:48:28 +09:00
smoogipoo
91edadfe9d Make playlist beatmap and ruleset into bindables 2020-02-13 18:12:47 +09:00
Andrei Zavatski
5201c1c87b Use new algorithm for comments tree creation 2020-02-13 02:21:13 +03:00
Lucas A
b9e10cb498 Privatize ViewTarget 2020-02-11 18:10:46 +01:00
Andrei Zavatski
26afe0f31e Add ability to load long comment trees in CommentsContainer 2020-02-10 15:43:11 +03:00
Lucas A
30e0a34e50 Wrap Content into a container for animating visibility. 2020-02-08 17:11:31 +01:00
Lucas A
7ca9f4dc20 Apply review suggestions 2020-02-08 17:11:31 +01:00
Lucas A
d3dc0b63ff Remove string concatenation from ctor 2020-02-08 17:07:26 +01:00
Lucas A
6d51b344ab Display a loading animation when the user is connecting 2020-02-08 17:07:20 +01:00
Craftplacer
1c1b5aa939 Merge branch 'chat-mention' of https://github.com/Craftplacer/osu into chat-mention 2020-02-08 10:45:41 +01:00
Craftplacer
41915df1f3 Change comment 2020-02-07 16:52:53 +01:00
Craftplacer
dd86443264 Make isMentioning static 2020-02-07 16:51:37 +01:00
Craftplacer
7cd228db07 Change notifyOnChat to notifyOnPM 2020-02-07 16:50:22 +01:00
Bartłomiej Dach
5875f2158c Properly rename event handler 2020-02-05 19:20:16 +01:00
Craftplacer
9378b216e6 Lowercase the N inside channel_NewMessagesArrived 2020-02-05 19:01:51 +01: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
recapitalverb
42060139f8
Merge branch 'master' into display-accuracy 2020-02-04 12:51:48 +07:00
Craftplacer
f16b90a152 Remove username data from PrivateMessageNotification 2020-02-03 23:56:23 +01:00
Craftplacer
4eedd82032 Don't unnecessarily expose properties 2020-02-03 23:03:27 +01:00
Andrei Zavatski
e531570352 Merge remote-tracking branch 'refs/remotes/ppy/master' into spotlights_api 2020-02-03 19:34:35 +03:00
recapitalverb
9898a926b2 Use ScoreInfo.DisplayAccuracy everywhere 2020-02-03 22:11:36 +07:00
unknown
2274d70dac apply suggestions 2020-01-31 06:41:50 +08:00
unknown
c5995acfff linkify metadata 2020-01-30 12:30:25 +08:00
Andrei Zavatski
d20c48d151 Resolve possible UserVotes issues 2020-01-30 00:53:05 +03:00
Andrei Zavatski
d1ead83c6c Merge remote-tracking branch 'refs/remotes/ppy/master' into no-comments-placeholder 2020-01-30 00:48:43 +03:00
smoogipoo
76af8bea5d Fix percentage-formatted displays containing a space 2020-01-29 19:51:24 +09:00
Andrei Zavatski
dc10e58b4f Add tests for CommentsPage 2020-01-29 06:44:39 +03:00
Craftplacer
48231317d2 Make IsMentioning private 2020-01-29 02:07:08 +01:00
Craftplacer
5e91a3f0f8 Use IndexOf 2020-01-29 01:59:52 +01:00
Craftplacer
65644731e0 Make field readonly 2020-01-25 17:03:39 +01:00
Craftplacer
f9def83552 Make IsMentioning public to allow it to be used for testing 2020-01-25 16:44:45 +01:00
Craftplacer
e0ef672549 Use binded list 2020-01-25 16:43:51 +01:00
Craftplacer
00da45ead4 Matching strings instead of splitting 2020-01-25 14:40:53 +01:00
Craftplacer
158b969052 Remove XML doc from HandleMessages 2020-01-25 14:40:16 +01:00
Dean Herbert
7c62cc3ac3 Merge remote-tracking branch 'smoogipoo/void-mouse-up-returns' into update-framework 2020-01-22 22:57:52 +09: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
Craftplacer
c6f450f932 Resolve code analysis errors 2020-01-22 11:23:27 +01:00
Craftplacer
3d2625836a Remove static from getWords method 2020-01-22 10:50:27 +01:00
Craftplacer
771155e882 No notification "debouncing" 2020-01-22 10:48:55 +01:00
Craftplacer
e4accb3344 Remove IsActive property
as it never really made sense to have it in the first place
2020-01-22 10:47:51 +01:00
Craftplacer
73d4b6a6be Remove redundant lambda signature parentheses
:/
2020-01-22 00:53:49 +01:00
Craftplacer
d29694d788 Add additional comment to explain the code order 2020-01-22 00:41:46 +01:00
Craftplacer
88ea1138b6 Compile regex 2020-01-22 00:31:44 +01:00
Craftplacer
795051e256 Prevent channel duplicates 2020-01-22 00:29:12 +01:00
Craftplacer
5978e2c0e2 Redo how instances of PM notifications are removed 2020-01-22 00:28:59 +01:00
Craftplacer
699547e1a2 Also exclude last read message 2020-01-22 00:28:08 +01:00
Craftplacer
9fd494b057 Fix order where messages are checked in 2020-01-22 00:27:46 +01:00
Craftplacer
47a92a13b0 Change code comments 2020-01-22 00:13:07 +01:00
Craftplacer
4d6ff31134 Wrap getWords() with anyCaseInsensitive() 2020-01-21 23:43:21 +01:00
Craftplacer
63c8ae8211 Use IDs for checking against message author 2020-01-21 23:42:15 +01:00
smoogipoo
bfb056c612 Apply input method signature refactorings 2020-01-20 18:17:21 +09:00
Craftplacer
be2a88c8a5 Remove left over config entry 2020-01-19 18:40:17 +01:00
Craftplacer
7d1fc388ce Resolve code quality errors 2020-01-19 18:34:48 +01:00
Craftplacer
4b871f61e3 Use Humanizer for counting PMs in text 2020-01-19 18:23:12 +01:00
Craftplacer
4feae82434 Split HandleMessages method 2020-01-19 17:55:17 +01:00
Craftplacer
86ecaf223d Improve getWords() 2020-01-19 17:36:38 +01:00
Craftplacer
dd5478fe1f Remove highlighted/mentioned words 2020-01-19 17:26:43 +01:00
Craftplacer
8a9c90c5e6 Resolve CA errors #2 2020-01-18 16:18:17 +01:00
Craftplacer
64fe9692ed Resolve CA errors 2020-01-18 15:57:51 +01:00
Craftplacer
8ddd36596e Revert useless changes varying from properties, naming changes etc. 2020-01-18 15:40:55 +01:00
Craftplacer
f55cf03bd0 Remove unnecessary changes after rework 2020-01-18 14:17:26 +01:00
Lucas A
e1f172e3f8 Fix CI issues 2020-01-17 19:29:42 +01:00
Lucas A
f00938971e Apply review suggestions 2020-01-17 18:54:00 +01: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
Craftplacer
5d244f48f7 Use instance list instead of exposing NotifcationOverlay's notifications 2020-01-17 00:00:10 +01:00
Craftplacer
2b5d541857 Merge remote-tracking branch 'upstream/master' into chat-mention 2020-01-16 23:15:39 +01:00
Craftplacer
1b53c0ff74 Remove populated property, and other changes 2020-01-16 23:15:30 +01: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
Dean Herbert
c190c68659 Add safety for channel with no messages 2020-01-13 12:22:44 +09:00
Lucas A
8f6c6ad77a Fix class name not corresponding to filename 2020-01-12 17:43:44 +01:00
Craftplacer
8cc2d70df0 Reduce API calls by checking what message was last marked as read 2020-01-12 16:24:14 +01:00
Lucas A
e9a5298484 Allow setting the displayed text on LoginPlaceholder 2020-01-12 15:50:35 +01:00
Craftplacer
ccaf4e48a1 Remove using directive 2020-01-11 20:04:58 +01:00
Craftplacer
5d5c635b1b Merge branch 'api-chat-read' of https://github.com/Craftplacer/osu into api-chat-read 2020-01-11 19:47:40 +01:00
Craftplacer
2ea1367a88 Remove message parameter and make it mark the entire channel as read 2020-01-11 19:47:35 +01:00
Craftplacer
7aac6deb71
Merge branch 'master' into api-chat-read 2020-01-11 19:18:50 +01:00
Craftplacer
f8a11e50b6 Remove redundant ToString() calls
as string interpolation does this automatically..
2020-01-11 18:00:34 +01:00
Craftplacer
d9c57baa89 Add test case for mismatch of channels 2020-01-11 17:48:03 +01:00
Craftplacer
50e357a799 Change method parameters, add detailed error message and method docs 2020-01-11 17:42:02 +01:00
Craftplacer
cd679707ed
Prevent channel duplicates
Co-Authored-By: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2020-01-11 17:16:11 +01:00
Lucas A
e1eda89ea6 Implement OnlineContainer 2020-01-11 10:15:59 +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
Dean Herbert
ab9603b06a Merge remote-tracking branch 'upstream/master' into #7146 2020-01-09 17:08:12 +08:00
Dean Herbert
d33a507d96
Implement a login placeholder (#7438)
Implement a login placeholder
2020-01-08 16:55:41 +08:00
Dean Herbert
6dd45e52ef Move text definition inside class 2020-01-08 17:22:51 +09:00
Lucas A
7f92cefe10 Apply review suggestions 2020-01-07 19:06:47 +01:00
smoogipoo
4a7f5f98df Cleanup methods/events 2020-01-06 17:20:09 +09:00
Lucas A
21e6351c53 Allow DI for LoginOverlay to resolve to null in non-graphical environments (fix tests) 2020-01-05 14:33:44 +01:00
Lucas A
3d747835dc Fix CI issues 2020-01-04 21:09:40 +01:00
Lucas A
5fd5665467 Use implementation on song select leaderboards. 2020-01-04 19:59:25 +01:00
Lucas A
474b8fc8fd Add LoginPlaceholder 2020-01-04 19:56:42 +01:00
Lucas A
3bd3ebad49 Move placeholders to a dedicated namespace 2020-01-04 19:56:34 +01:00
Craftplacer
cd91cc860d Resolve "Redundant lambda signature parentheses" 2020-01-04 01:06:38 +01:00
Craftplacer
4f36bc0fd3 Add error log message for debugging 2020-01-04 00:49:35 +01: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
Willy Tu
e23c71be80 Update Resolved and Cached attribute issues 2020-01-03 11:34:26 -08: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
Craftplacer
0d812bce9f WIP changes for code review 2019-12-26 03:32:40 +01:00
Willy Tu
6abbd33b51 Fixed CI issues 2019-12-19 21:57:14 -08:00
Willy Tu
8ab26e8889 Update Tests with dependencies on LeaderboardScore. Added its dependency on DialogOverlay for the tests. Added test for deleting individual local score 2019-12-19 21:29:54 -08:00
Willy Tu
d4d4ddc624 Remove new line for CodeFactor 2019-12-18 22:42:26 -08:00
Willy Tu
643911ada9 Fix code format for CI 2019-12-18 22:41:07 -08:00
Willy Tu
ed07b779b1 Update to use score.ID identify local scores 2019-12-18 21:54:02 -08:00
Willy Tu
27163a5133 Removed unnecessary code for deleting individual local score. 2019-12-18 21:04:10 -08:00
Willy Tu
531ac16743 Update Scoreboard Refresh Method for deleting individual scores 2019-12-18 19:22:42 -08:00
Willy Tu
d1fcadc700 Merge branch 'master' of github.com:ppy/osu into #7146 2019-12-18 19:16:54 -08:00
Dean Herbert
756d847ad8 Fix user not getting an initial status 2019-12-18 14:07:03 +09:00
wltu
8aeef3f59a Added refresh scoreboard upon deleting local score and formatted the code 2019-12-17 12:56:30 -08:00
wltu
bb2b1475cd Merge branch 'master' of https://github.com/ppy/osu into #7146 2019-12-17 12:54:47 -08:00
Craftplacer
7bdfd2e23c All copyright goes to peppy 2019-12-17 07:04:55 +01:00
Craftplacer
b6c31e7764 Remove ignore list, move code to MessageNotifier and add it to DI
This also adds countable private message notifications.
2019-12-17 06:59:27 +01:00
Huo Yaoyuan
40b43b85f1 CA1715: use prefix for generic parameters. 2019-12-17 13:00:25 +08: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
Willy Tu
bef9637fdf Implemented delete local score individually. Currently does not refresh the score screen after the delete is compelete. 2019-12-16 19:25:28 -08:00
Craftplacer
15c25c571d Merge remote-tracking branch 'upstream/master' into chat-mention 2019-12-16 00:59:06 +01:00
Craftplacer
e8180ab153 Add ToString() method to message for better debugging 2019-12-16 00:45:55 +01:00
Willy Tu
ad077042ba Created ContextMenu for scores by adding OsuContextMenuContainer as a child of LeaderboardScore and a Drawable that extended the IHasContextMenu interface to the MenuContainer. Tried to the LeaderboardScore extend IHASContextMenu itself, but it is not working yet. 2019-12-15 02:18:12 -08:00
Dan Balasescu
e288706802
Merge branch 'master' into rankings-overlay-refactor 2019-12-11 19:09:29 +09:00
Dean Herbert
77b9989e11 Fix some weird private field names 2019-12-11 14:10:35 +09:00
Dean Herbert
55c938e5da Fix bindable usage 2019-12-10 18:08:24 +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
Huo Yaoyuan
374ef6ff83 Merge branch 'master' into sharpen 2019-11-20 17:30:58 +08:00
Huo Yaoyuan
f05b83d7d4 Use typeparamref. 2019-11-17 20:48:23 +08:00
Huo Yaoyuan
87d40cf8d0 Resolve equals usages. 2019-11-13 22:35:50 +08: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
Huo Yaoyuan
bbeab6fa76 Use auto property. 2019-11-12 19:53:25 +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
Huo Yaoyuan
e9b8cbb516 Apply other styles. 2019-11-11 20:27:04 +08:00
Huo Yaoyuan
ccc8aa6fa4 Apply brace style. 2019-11-11 20:13:13 +08:00
iiSaLMaN
6ecea0e4c1 Fix DummyAPIAccess being potentially incorrect 2019-11-06 18:15:49 +03:00
Andrei Zavatski
0f53725005 Merge remote-tracking branch 'refs/remotes/ppy/master' into rankings-tables 2019-11-06 13:03:34 +03:00
Dan Balasescu
23ad516348
Merge branch 'master' into game-handles-links 2019-11-05 12:33:32 +09:00
Dean Herbert
1a7b803d4d Change colour to green to match web implementation 2019-11-04 08:39:51 +09: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
Ganendra Afrasya
ce3b34a768 Fix UserTopScoreContainer is also tinted 2019-11-01 23:00:55 +07:00
Ganendra Afrasya
d9a91100fb Add tint to user's score container background 2019-11-01 22:47:23 +07:00
Dean Herbert
898520935e Move link handling code to OsuGame
This allows for future calls from arguments / associations
2019-11-01 11:40:51 +09:00
Dean Herbert
d1c6e3f620 Add test for scroll to end when max history is exceeded 2019-10-29 14:32:52 +09:00
Dan Balasescu
c2f6cd9c24
Merge branch 'master' into comments-vote-pill 2019-10-25 19:19:44 +09:00
Bartłomiej Dach
661dfbefaf Change containment check to overlap
Due to scenarios wherein a formatted link ended up as part of a larger
raw link after parsing, change the containment check to an overlap check
and add appropriate tests for these edge cases.
2019-10-25 00:42:58 +02:00
Bartłomiej Dach
cbd99cc767 Resolve link-in-link edge case
Testing with #6542 surfaced a crash scenario, caused by formatted links
that had URLs in the display text, for example

    [mean example - https://osu.ppy.sh](https://osu.ppy.sh)

In that case the outer Markdown link would get picked up once, and then
reduced to the link text when looking for other links, leading to it
being picked up again the second time when the raw link is found.

Add a check in the raw link parsing path that ensures that the found
URL is not a part of a bigger, pre-existing link.
2019-10-24 15:52:55 +02:00
Bartłomiej Dach
24b7160522 Add support for parsing Markdown inline links
Extend the Markdown parsing regex to allow parsing so-called inline
links. Within the parenthesis () part of the Markdown URL syntax,
introduce a new capturing group:

    (
      \s+              // whitespace between actual URL and inline title
      (?<title>        // start of "title" named group
        ""             // opening double quote (doubled inside @ string)
        (
          [^""]        // any character but a double quote
          |            // or
          (?<=\\)      // the next character should be preceded by a \
          ""           // a double quote
        )*             // zero or more times
        ""             // closing double quote
      )
    )?                 // the whole group is optional

This allows for parsing the inline links as-provided by web. Correctness
is displayed by the passing tests.
2019-10-24 15:52:55 +02:00
Dean Herbert
40c202c394
Merge branch 'master' into comments-vote-pill 2019-10-23 15:41:54 +09:00
Dean Herbert
c3375071ad Fix formatting issue 2019-10-23 00:26:47 +09:00
Dean Herbert
e9aa7f3218 Subclass and use yellow for stand-alone chat display 2019-10-23 00:24:19 +09:00
Andrei Zavatski
bb7af1e39c Fix some margin/padding issues 2019-10-22 01:45:04 +03:00
Andrei Zavatski
d19041fa53 Implement DaySeparator class 2019-10-22 01:30:37 +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
5274f69872 Merge remote-tracking branch 'refs/remotes/ppy/master' into rankings-tables 2019-10-02 13:00:29 +03:00
Dan Balasescu
b161aa22c3
Merge branch 'master' into simplify-exit-logic-of-screens 2019-10-02 18:13:57 +09:00
Ganendra Afrasya
b6dd610af8 Apply reviews 2019-10-01 23:18:03 +07:00
Joehu
5f700f2ae9 Simplify exit logic of screens with textboxes using back button receptor 2019-10-01 08:26:34 -07:00
Ganendra Afrasya
208b9a4eba Add new virtual float for username to timestamp padding 2019-10-01 20:47:53 +07: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
e2f7d4bc62 Remove unnecessary ToMetric avoidance 2019-09-19 15:45:43 +09:00
Dean Herbert
098e89cb66 Improve state reset flow 2019-09-19 15:23:33 +09:00
Dean Herbert
4967ffd8e5 Move inside leaderboard 2019-09-19 14:52:31 +09:00
Dean Herbert
2e0a85c2f6 Merge remote-tracking branch 'upstream/master' into songselect-best-user-score 2019-09-19 12:57:30 +09:00
Joehu
77ac186cf8 Add spacing to mod icons on leaderboards 2019-09-11 16:08:01 -07:00
iiSaLMaN
a1c580f27e Create "none selected" placeholder state 2019-09-05 05:56:21 +03:00
Bartłomiej Dach
08350a1aca Add parenthesis handling to old link format
Allow users to put both balanced round parentheses, as well as
unbalanced escaped ones, in old style link text. The implementation
is the same as for Markdown and new style links, except for swapping
all instances of

    \[\]

to

    \(\)

for obvious reasons (different type of parenthesis requiring escaping).
Tests also included.
2019-09-04 00:21:27 +02:00
Bartłomiej Dach
f04add6d9e Add bracket handling to Markdown link format
Allow users to put both balanced brackets, as well as unbalanced
escaped ones, in Markdown link text. The implementation is the exact
same as in the case of new format links.

For completion's sake, tests also included.
2019-09-04 00:07:00 +02:00
Bartłomiej Dach
24d4f0372c Refactor link parsing regexes to use named groups
For the sake of readability, consistency and to make further changes
easier, introduce named groups (?<text>) and (?<url>) to all link
parsing regexes which have parts containing the desired link text
and (optionally) URL.

The introduction of the named groups additionally simplifies
handleMatches() and makes all calls to it consistent.
2019-09-04 00:06:52 +02:00
Bartłomiej Dach
a8f16503e2 Add backslash escaping to new link format
For users to be able to add square brackets inside of links using
the new format, the regular expression used for parsing those links
contained a balancing group, which can be used for matching pairs
of tokens (in this case, opening and closing brackets, in that order).
However, this means that users could not post links with unmatched
brackets inside of them (ie. ones that contain single brackets, or
a closing bracket and then an opening one). Allow for escaping opening
and closing brackets using the backslash character.

The change substitutes this old fragment of the regex in the display
text group:

    [^\[\]]*        // any character other than closing/opening bracket

for this one:

    (((?<=\\)[\[\]])|[^\[\]])*

The second pattern in the alternative remains the same; the first one
performs the escaping, as follows:

    (
        (?<=\\)     // positive lookbehind expression:
                    // this match will succeed, if the next expression
                    // is preceded by a single backslash
        [\[\]]      // either an opening or closing brace
    )

Since the entire display group is matched, unfortunately the lookbehind
expression does not actually strip the backslashes, so they are
manually stripped in handleMatches.

As demonstrated in the unit tests attached, this also allows balanced
brackets to be mixed with escaped ones.
2019-09-03 23:18:39 +02: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