Dean Herbert
f7fa9c90d6
Add test coverage of 2FA flow
2023-11-16 18:18:40 +09:00
Dean Herbert
0e4244a692
Add APIAccess
flow for 2fa
2023-11-16 18:18:15 +09:00
Dean Herbert
85e303ec54
Add two factor step to api state flow
2023-11-16 18:18:15 +09:00
Joseph Madamba
c8d276281a
Fix flags not showing on kudosu rankings
...
The `country` attribute is optional and not included in the kudosu rankings response so use `country_code` instead.
2023-11-07 16:09:48 -08:00
Joseph Madamba
387de7ec24
Add ability to view kudosu rankings
2023-11-07 15:58:17 -08:00
Bartłomiej Dach
2dc2469507
Merge pull request #25303 from peppy/last-played-import-score-update
...
Update the last played date of a beatmap when importing a replay by the local user
2023-10-30 10:12:27 +01:00
Dean Herbert
66fa09ba66
Merge pull request #25287 from frenzibyte/fix-user-profile-support-banners
...
Update user profile overlay to show more than one tournament banner
2023-10-30 17:32:20 +09:00
Bartłomiej Dach
a000c06900
Merge branch 'master' into last-played-import-score-update
2023-10-30 09:29:07 +01:00
Dean Herbert
96dd7b3333
Update the last played date of a beatmap when importing a replay by the local user
2023-10-30 15:44:16 +09:00
Dean Herbert
a8c3f59845
Clean up type display for web requests in logs
2023-10-30 15:07:35 +09:00
Salman Ahmed
ec9ae12bbd
Update API response model to accept array of tournament banners
2023-10-29 01:43:49 +03:00
Bartłomiej Dach
c3e9f5184f
Fix SoloScoreInfo
not copying over legacy score ID when converting to ScoreInfo
2023-10-26 15:09:34 +02:00
Bartłomiej Dach
900530080f
Make SoloScoreInfo
implement IScoreInfo
2023-10-26 14:58:35 +02:00
Bartłomiej Dach
ca4b09f8ef
Merge branch 'master' into score-encoding-cleanup
2023-10-26 09:04:05 +02:00
Dean Herbert
e081fa48a2
Fix various other inspections
2023-10-17 17:48:51 +09:00
Bartłomiej Dach
fb2293821a
Allow watching replay from multi/playlist results screens
2023-10-16 11:20:02 +02:00
Dean Herbert
c78b5112c6
Fix OAuth refresh attempt when no network available causing full logout (part 2)
...
This time for `SocketException`s. I seem to recall looking at this and
deciding there was a reason to not catch socket exceptions, but on
revisiting it seems sane to do so.
This covers a fail case like reported:
```
2023-10-06 03:24:17 [verbose]: Request to https://lazer.ppy.sh/oauth/token failed with System.Net.Http.HttpRequestException: No such host is known. (lazer.ppy.sh:443)
2023-10-06 03:24:17 [verbose]: ---> System.Net.Sockets.SocketException (11001): No such host is known.
2023-10-06 03:24:17 [verbose]: at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
```
Closes https://github.com/ppy/osu/issues/24890 (again).
2023-10-06 18:24:22 +09:00
Dean Herbert
3c62521e69
Fix OAuth refresh attempt when no network available causing full logout
2023-09-24 10:50:07 +09:00
Dean Herbert
56b5f52e83
Update all dependencies (except for Moq)
2023-09-16 15:37:31 +09:00
Bartłomiej Dach
99d5ff9efb
Switch download requests to new API endpoint
...
This API endpoint is intended for usage with the entire `solo_scores`
machinery and ID schema, rather than the legacy `*_scores_high` ID
schema. It also supports automagically falling back to downloading
legacy replays if a stable-imported score is requested for download
(internally this happens via `legacy_score_id` in the `data` json).
This change will allow replays to be downloaded, but it will still not
yield 100% correct behaviour, as there is further work to be done in
that respect. The download tracker is expecting score hashes to arrive
from web to verify the integrity of the incoming download, but the API
does not expose such a facility right now; we will have to decide as to
whether we want to add one web-side, or whether we want to disable the
checking client-side.
2023-08-28 13:50:52 +02:00
Dean Herbert
6001f7e5c7
Rename "dummy" local user to something more descriptive
...
This created weird cases in logs which are very hard to understand. The
one which really got me was this:
```
[runtime] 2023-08-13 07:48:27 [verbose]: Invalidating working beatmap cache for unknown artist - unknown title (Dummy)
```
Which looks like a dummy working beatmap was invalidated, but it turns
out that's just the local user which was populated when creating a new
local beatmap.
2023-08-16 13:52:27 +09:00
Dean Herbert
1abce098b4
Apply nullability to login form related classes
2023-06-26 13:26:07 +09:00
Dean Herbert
ac0c988d49
Fix weirdly named test method and add xmldoc
2023-06-26 13:21:29 +09:00
Joseph Madamba
25c9bf4061
Improve and refactor LoginPanel
test scene to use LoginOverlay
2023-06-25 11:39:32 -07:00
Bartłomiej Dach
e3a89a6273
Fix remaining obvious CI inspections
2023-06-24 16:07:01 +02:00
Dean Herbert
0ab0c52ad5
Automated pass
2023-06-24 01:00:03 +09:00
Bartłomiej Dach
1672608a87
Document why things were done in DummyAPIAccess
2023-06-22 23:08:30 +02:00
Liam DeVoe
21bed336c6
adjust DummyAPIAccess to more closely match APIAccess
...
wrt logging in and out
2023-06-22 16:01:12 -04:00
Joseph Madamba
9ae864c219
Fix beatmap info length tooltip not showing actual drain length
2023-06-17 15:00:32 -07:00
Dean Herbert
4685ba83e1
Apply NRT to MemoryCachingComponent
classes
2023-06-09 19:00:05 +09:00
Salman Ahmed
9f842ccdc0
Supply Accept-Language
header in API requests
2023-06-08 02:59:34 +03:00
Salman Ahmed
ab790ec96a
Expose currently selected language from IAPIProvider
2023-06-08 02:59:34 +03:00
Salman Ahmed
62cb6a98ca
Remove redundant nullable suppression directives
2023-06-07 08:20:41 +03:00
Dean Herbert
b28d7b1a92
Fix non-block namespace
2023-05-03 18:51:02 +09:00
cdwcgt
26f2d9047d
code style fix
2023-03-23 01:11:44 +09:00
cdwcgt
8518d15b8d
use endpoint
2023-03-23 01:00:38 +09:00
Joseph Madamba
3b5d573db1
Display tournament banner on user profile
2023-02-08 17:16:09 -08:00
Bartłomiej Dach
f5459909f9
Merge branch 'master' into comment-editor-3
2023-01-17 21:31:08 +01:00
Joseph Madamba
85c1932851
Mark Converts
as nullable
2023-01-15 12:46:41 -08:00
Joseph Madamba
e7ab543799
Add ability to view converted beatmaps on beatmap set overlay
2023-01-14 10:26:21 -08:00
ansel
fbb674d8e9
Rename parent comment id field
2023-01-14 20:15:19 +03:00
ansel
e9995410e8
Merge branch 'master' into comment-editor-3
2023-01-14 02:32:06 +03:00
StanR
660bf748d5
Fix GroupBadge
crashing on null
group colour
2023-01-14 02:23:08 +03:00
Dean Herbert
a7327b02a2
Add API level support for error message and redirect during registration flow
2023-01-13 15:32:53 +09:00
Dean Herbert
5658c3a123
Enable NRT on account creation classes
2023-01-13 15:29:25 +09:00
StanR
5441c02a1a
Implement user group badges
2023-01-11 07:11:38 +03:00
Bartłomiej Dach
9b68932eb4
Merge branch 'master' into beatmap-info-nominators
2023-01-08 14:35:07 +01:00
Joseph Madamba
9d32fde592
Mark current nominations and related users as nullable
2023-01-07 11:04:42 -08:00
Joseph Madamba
0f6735564e
Move and rename nomination response model to singular
2023-01-07 10:54:48 -08:00
ansel
58bf7349ee
Fix request
2023-01-07 02:59:32 +03:00
ansel
768a33bb64
Add request class
2023-01-06 23:31:19 +03:00
Salman Ahmed
e449d8dda0
Fix friends list duplicating on connection failure
2023-01-06 22:39:46 +03:00
Joseph Madamba
7f970f3cd8
Display nominators on beatmap set overlay
2023-01-06 11:33:39 -08:00
Dean Herbert
96e81e7f41
Switch on NRT and add IEquatable
to GetScoresRequest
2023-01-04 01:41:21 +08:00
Bartłomiej Dach
cb2b0d4178
Remove redundant type specs
2022-12-26 23:12:53 +01:00
Berkan Diler
c7ca4bbba5
Use generic Enum methods
2022-12-26 20:36:39 +01:00
Bartłomiej Dach
48dc2332fd
Refactor test to be easier to work with
2022-12-22 19:59:35 +01:00
Dean Herbert
27c497145f
Fix the MOTHERLOAD of undetected issues that are now visible thanks to net6.0
2022-12-16 18:16:26 +09:00
Joseph Madamba
56e94e49a3
Display nominated ranked beatmaps in user profile
2022-12-06 23:36:11 -08:00
Dean Herbert
b7f0310070
Merge pull request #21353 from peppy/no-initial-presence
...
Stop requesting messages as part of initial chat presence
2022-11-30 16:15:23 +09:00
Dan Balasescu
7bc8908ca9
Partial everything
2022-11-27 00:00:27 +09:00
Dean Herbert
462a213ffc
Add TODO note about handling initial silences
2022-11-21 15:23:04 +09:00
Dean Herbert
5c640d15a0
Stop requesting messages as part of initial chat presence
2022-11-21 15:17:54 +09:00
Dean Herbert
d17c091d63
Move constant to a better location
2022-11-18 15:47:31 +09:00
Dan Balasescu
219d049edf
Merge pull request #21140 from maromalo/long-standard
...
Standardise scores to `long` type
2022-11-18 15:26:33 +09:00
Dan Balasescu
57b8495c7a
Merge branch 'master' into long-standard
2022-11-18 14:24:04 +09:00
Dean Herbert
964ceddf83
Fix API queue only being flushed once while in a failing state
2022-11-18 14:21:37 +09:00
Dean Herbert
f343ba6111
Add xmldoc for chat ack request
2022-11-13 00:10:06 +09:00
Dean Herbert
22d8a1160e
Fix last silence ID being updated too often, causing most silences to be missed
2022-11-13 00:10:06 +09:00
maromalo
1911120afe
Merge branch 'master' into long-standard
2022-11-12 09:52:11 -03:00
Dean Herbert
dde09d409b
Merge branch 'master' into chat-silences
2022-11-12 21:00:56 +09:00
Dean Herbert
19876ca0fb
Merge branch 'master' into websocket-chat-2
2022-11-11 23:53:42 +09:00
Dan Balasescu
cf03001c83
Better handling for joining channels with only ID
2022-11-07 11:52:07 +09:00
maromalo
b7ef9b176d
Make score type consistent
2022-11-06 19:59:27 -03:00
Dan Balasescu
66bbe34116
Move polling clients to osu.Game.Tests namespace
2022-11-04 18:52:57 +09:00
Dan Balasescu
58396d49dc
Fix handling of local echo deduplication
2022-11-04 18:44:22 +09:00
Salman Ahmed
ac8fb4f9b2
Fix beatmap cards still potentially showing twice in listing
2022-11-04 03:23:34 +03:00
Dean Herbert
e6c45b8ab5
Merge branch 'master' into comment-report
2022-11-03 15:35:42 +09:00
Dean Herbert
4f8e912f06
Fix APINotification
parsing failing
2022-11-02 17:53:19 +09:00
Dan Balasescu
063a8bdf9e
Remove messages from silenced users
2022-11-02 17:13:14 +09:00
Dan Balasescu
5b25ef5f2f
Construct notifications client via IAPIProvider
2022-11-01 21:34:34 +09:00
Dean Herbert
17f482bfc3
Merge branch 'master' into websocket-chat-2
2022-10-31 16:11:58 +09:00
Dan Balasescu
efa8256911
Use more verbatim strings
2022-10-28 16:32:17 +09:00
Dan Balasescu
b3219526a5
Populate beatmap ruleset in SoloScoreInfo.ToScoreInfo()
2022-10-28 14:42:45 +09:00
Dean Herbert
dcff8a193c
Use better method of forcing serialisation
2022-10-28 01:26:10 +09:00
Dean Herbert
3c4ba6e9fc
Fix SoloScoreInfo.Rank
not being serialised if rank is D
2022-10-27 19:02:32 +09:00
Dan Balasescu
6cca3a3dc8
Add new API requests
2022-10-27 14:55:24 +09:00
Dean Herbert
af84f708b7
Avoid serialising some more properties of SoloScoreInfo
unless present
2022-10-21 19:30:35 +09:00
ansel
e1785f73a2
Make report's comment not optional
2022-10-16 20:14:05 +03:00
ansel
7251d41deb
Add request class
2022-10-14 16:15:28 +03:00
ansel
7645fe20f5
Merge branch 'master' into comment-deletion
2022-09-28 17:55:22 +03:00
ansel
58d9509ce6
Apply NRT to Comment
2022-09-27 22:45:05 +03:00
ansel
5282c8b8c6
Fix CQ
2022-09-27 19:40:18 +03:00
ansel
5da7cb5397
Make comment ID public for test
2022-09-27 19:02:18 +03:00
ansel
1721b8e47a
Add request class
2022-09-27 16:25:26 +03:00
Dan Balasescu
1811647e34
Make room requests handler handle GetBeatmapRequest
2022-09-27 20:30:41 +09:00
Dean Herbert
de6709d12c
Fix rank_history
serialisation order dependence
...
```csharp
[network] 2022-09-26 18:18:39 [verbose]: Processing response from https://dev.ppy.sh/api/v2/me/ failed with Newtonsoft.Json.JsonSerializationException: Error setting value to 'rankHistory' on 'osu.Game.Online.API.Requests.Responses.APIUser'.
[network] 2022-09-26 18:18:39 [verbose]: ---> System.NullReferenceException: Object reference not set to an instance of an object.
[network] 2022-09-26 18:18:39 [verbose]: at osu.Game.Online.API.Requests.Responses.APIUser.set_rankHistory(APIRankHistory
value) in /tmp/osu/osu.Game/Online/API/Requests/Responses/APIUser.cs:line 231
```
2022-09-27 12:46:17 +09:00
Salman Ahmed
9a10ecb378
Clarify purpose of APIUserScoreAggregate
2022-09-17 19:37:30 +03:00
Dean Herbert
581a4d2d6d
Use APIBeatmap
for realm migration requiring ShortName
mapping
2022-09-15 16:58:58 +09:00
andy840119
1398a7e11e
Property should accept the nullable state.
2022-09-10 10:46:40 +08:00