Dean Herbert
f956955d4d
Combine ScoreInfo
construction helper methods
2022-07-12 18:00:25 +09:00
Dean Herbert
900e0ace8e
Standardise naming and enable NRT
2022-07-12 18:00:25 +09:00
Dean Herbert
1bef2d7b39
Add and consume SoloScoreInfo
2022-07-12 18:00:25 +09:00
andy840119
48047f2e58
Move the null check in the outside.
...
AddCursor() should not accept the null value.
2022-06-30 23:29:49 +08:00
Dean Herbert
569fde4b47
Add messages to all InvalidOperationException
s
...
Without this, they can be very non-descript and hard to track down
2022-06-28 01:34:25 +09:00
Dan Balasescu
b13fa924fd
Merge pull request #18865 from peppy/fix-flaky-chat-test
...
Fix chat tests failing 1/10000 runs
2022-06-27 18:06:00 +09:00
Dean Herbert
13dcaf82ad
Fix chat tests failing 1/10000 runs
...
31a447fda0/osu.Game/Online/Chat/ChannelManager.cs (L412-L414)
Sigh.
2022-06-27 16:50:10 +09:00
Dan Balasescu
f6a6538e96
Add more properties to IBeatmapOnlineInfo
2022-06-27 16:07:15 +09:00
Bartłomiej Dach
26c5b59f6d
Replace usages of string.To{Lower,Upper}()
2022-06-24 11:57:45 +02:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Dean Herbert
eb2d822530
Fix web requests potentially being performed after cancelled
...
Closes https://github.com/ppy/osu/issues/18524 .
2022-06-03 16:04:52 +09:00
Dean Herbert
c18dd8c8fb
Ensure Queue
operations on DummyAPIAccess
are performed on the update thread
2022-05-30 16:32:44 +09:00
Dean Herbert
a2a057440e
Fail requests taretting the fake API with a more deliberate exception
...
I think this feels better than relying on some other method to throw an
exception.
2022-05-30 16:31:54 +09:00
Salman Ahmed
d5027cdfbd
Add FeaturedInSpotlight
property to API beatmapsets
2022-05-14 19:46:13 +03:00
Dean Herbert
319867f73c
Mark GuestUser
as system user via Id
for now
...
Should resolve https://github.com/ppy/osu/issues/18105 .
Checking through usages, it doesn't immediately look like this will
regress any other scenarios.
2022-05-06 17:37:46 +09:00
Salman Ahmed
a9ea0ab91b
Add support for fetching user guest participations
2022-04-22 07:55:39 +03:00
Joseph Madamba
5e5c8e78a6
Use existing web localisation for most hardcoded strings
2022-04-20 16:31:11 -07:00
Salman Ahmed
c858ec2483
Pagination
-> `PaginationParameters
2022-04-19 02:48:34 +03:00
Salman Ahmed
96d4369cc8
Introduce Pagination
and simplify paginated API requests
2022-04-19 02:04:23 +03:00
Salman Ahmed
9d59cd408f
Add concept of "initial items count" in paginated API requests
2022-04-18 22:59:49 +03:00
Dean Herbert
a0692ce477
Add a const
for system users which should never display a profile
2022-03-28 22:22:56 +09:00
Dean Herbert
1814a325d8
Move GetSettingUnderlyingValue
to a SettingSource
extension method
2022-03-15 14:54:00 +09:00
Dan Balasescu
c61397cc22
Fix whitespace/inspection
2022-03-10 16:22:27 +09:00
Dean Herbert
0267aed846
Change ToMod
to return an UnknownMod
rather than throw if a mod isn't available
...
As seen by this kind of crash, having the `.ToMod` method throw can be
very problematic and also hidden (as it is used inside of models in
places where exceptions are not expected to occur).
Given there are tens of usages of this method, returning a placeholder
mod seems like a better idea than outright throwing.
```
An unhandled has occurred.
System.InvalidOperationException:
There is no mod in the ruleset (osu) matching the acronym AS.
at osu.Game.Online.API.APIMod.ToMod(Ruleset ruleset) in /Users/dean/Projects/osu/osu.Game/Online/API/APIMod.cs:line 54
at osu.Game.Scoring.ScoreInfo.<get_Mods>b__117_0(APIMod m) in /Users/dean/Projects/osu/osu.Game/Scoring/ScoreInfo.cs:line 193
at System.Linq.Enumerable.SelectArrayIterator`2.ToArray()
at osu.Game.Scoring.ScoreInfo.get_Mods() in /Users/dean/Projects/osu/osu.Game/Scoring/ScoreInfo.cs:line 193
at osu.Game.Screens.Select.Leaderboards.BeatmapLeaderboard.<>c.<subscribeToLocalScores>b__40_2(ScoreInfo s) in /Users/dean/Projects/osu/osu.Game/Screens/Select/Leaderboards/BeatmapLeaderboard.cs:line 199
at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
at osu.Game.Database.RealmObjectExtensions.Detach[T](IEnumerable`1 items) in /Users/dean/Projects/osu/osu.Game/Database/RealmObjectExtensions.cs:line 180
at osu.Game.Screens.Select.Leaderboards.BeatmapLeaderboard.<>c__DisplayClass40_0.<subscribeToLocalScores>g__localScoresChanged|1(IRealmCollection`1 sender, ChangeSet changes, Exception exception) in /Users/dean/Projects/osu/osu.Game/Screens/Select/Leaderboards/BeatmapLeaderboard.cs:line
209
at Realms.RealmCollectionBase`1.Realms.INotifiable<Realms.NotifiableObjectHandleBase.CollectionChangeSet>.NotifyCallbacks(Nullable`1 changes, Nullable`1 exception)
at Realms.NotifiableObjectHandleBase.NotifyObjectChanged(IntPtr managedHandle, IntPtr changes, IntPtr exception)
```
2022-03-09 17:57:55 +09:00
Riley Quinn
8491bab77c
Replace string locale with Language
2022-03-04 00:57:13 -06:00
Dan Balasescu
16a3bbbcb4
Merge pull request #16944 from peppy/rooms-request-faster
...
Update playlists/multiplayer to use new compact response
2022-02-24 23:20:07 +09:00
Dan Balasescu
2acaffd5e7
Fix APIMod storing bindables instead of value
2022-02-24 17:01:12 +09:00
Dean Herbert
53bbd00675
Also make APIUser
opt-in and remove the remaining serialization exclusion rule
2022-02-23 17:12:38 +09:00
Dean Herbert
71ae425fb2
Merge branch 'master' into rooms-request-faster
2022-02-22 15:45:05 +09:00
Dean Herbert
7f4cc221d2
Add API versioning
2022-02-21 19:02:03 +09:00
Dean Herbert
9d0023c750
Fix incorrect mappings
2022-02-17 21:12:51 +09:00
Dean Herbert
3d5ed24e20
Fix beatmap overlay leaderboards and links not working
...
Completely aware that this isn't how it should be done, but would like
to get this out in a hotfix release today. Maybe changes opinions on
https://github.com/ppy/osu/pull/16890 structure?
2022-02-17 21:05:00 +09:00
Dan Balasescu
5db63a8751
Expose read-only list from request
2022-02-16 11:30:03 +09:00
Dan Balasescu
ccd265ebe7
Handle beatmap lookup requests in TestRoomRequestsHandler
2022-02-15 23:41:50 +09:00
Dan Balasescu
43f1044987
Merge pull request #16850 from frenzibyte/readonly-pinned-scores
...
Add read-only pinned scores view in user profile overlay
2022-02-11 16:15:46 +09:00
Salman Ahmed
92e22c57a7
Introduce private APIRuleset
for online ID equality comparison
2022-02-11 08:27:01 +03:00
Salman Ahmed
9cd88ec2b8
Update API models with score pinning changes
2022-02-10 21:23:38 +03:00
Dean Herbert
a69c7a9de6
Split exceptions back out to give better messaging
2022-02-03 14:09:27 +09:00
Dean Herbert
62fa915193
Standardise exception messages for local-user-logged-out flows
2022-02-03 13:58:55 +09:00
Dan Balasescu
d9a43b4c4c
Fix API requests not completing when offline
2022-02-03 13:16:54 +09:00
Dean Herbert
4f8d29c1c0
Merge branch 'master' into realm-integration/score-and-beatmaps
2022-01-13 18:25:09 +09:00
Joseph Madamba
66773f6d7d
Use comments to disable identifier typos instead
2022-01-12 15:49:28 -08:00
Dean Herbert
4c79145c11
Fix potential mod nullref in APIUserScoreAggregate
's CreateScoreInfo
implementation
2022-01-13 00:28:16 +09:00
Dean Herbert
51251e3204
Fix CI reported warnings
2022-01-12 22:39:00 +09:00
Dean Herbert
2a4bee61dd
Update many score-related classes to move closer to being able to persist to realm
2022-01-12 16:57:27 +09:00
Dean Herbert
fda529de26
Update usages of APIUser
to RealmUser
2022-01-12 16:39:36 +09:00
Joseph Madamba
cdc148f78e
Increase scope of identifier typo disables on special cases
2021-12-29 14:07:36 -08:00
Joseph Madamba
c22a07d9fc
Bump identifier typo inspection and fix remaining identifier names
2021-12-28 11:26:42 -08:00
Joseph Madamba
0bd928b5cd
Fix incorrect naming / apply review
2021-12-27 21:44:19 -08:00
Joseph Madamba
7de43e3aba
Fix most open compound words in identifiers being closed
2021-12-27 20:26:28 -08:00
Joseph Madamba
98524d60a4
Fix clear identifier typos
2021-12-27 20:26:28 -08:00
Dean Herbert
c6d0d6451d
Change IScoreInfo.User
to an interface type
2021-12-10 16:11:49 +09:00
Dean Herbert
bff02bedbf
Rename APIScoreInfo
to APIScore
2021-12-10 16:11:49 +09:00
Dean Herbert
dbb08f7d46
Use OnlineID
for set operations
2021-12-10 16:11:48 +09:00
Salman Ahmed
974987550f
Move API request response size log to correct logging target
2021-12-07 04:01:56 +03:00
Dean Herbert
e75e209053
Cache and consume IRulesetStore
where feasible
2021-12-03 18:16:01 +09:00
Dean Herbert
dad5b06e84
Avoid sending empty parameters in GetBeatmapRequest
2021-12-03 16:23:39 +09:00
Dan Balasescu
af704dfe5b
Merge pull request #15878 from peppy/beatmap-lookup-cache
...
Cache beatmap metadata lookups used by multiplayer
2021-12-01 20:13:21 +09:00
Dean Herbert
81f82c24c3
Use new API endpoint to do batch lookups
2021-12-01 17:45:41 +09:00
Dean Herbert
23e297d414
Log output response sizes
...
Visibility is the first step towards action. Or something.
2021-11-30 19:09:13 +09:00
Dean Herbert
7488ccd5fe
Update all models to implement IHasNamedFiles
2021-11-25 16:41:12 +09:00
Dean Herbert
183b95cbc2
Rename BeatmapSetOnlineStatus
to BeatmapOnlineStatus
...
This variable is used at more than just a set level.
2021-11-24 18:42:49 +09:00
Dean Herbert
bbd3ea5b77
Update all actual usages of RulesetInfo.ID
to use OnlineID
instead
2021-11-24 15:50:26 +09:00
Dean Herbert
f283770f34
Update mock RulesetInfo
usage to set OnlineID
instead of ID
2021-11-24 15:50:26 +09:00
Dean Herbert
71fef241df
Fix recursive equality call on APIBeatmap
and APIBeatmapSet
2021-11-16 14:13:47 +09:00
Dean Herbert
9207b87b76
Add back interface equality but limit to only matching types
2021-11-16 12:35:18 +09:00
Dean Herbert
611b9fe942
Remove now unused implementations of interface equality
2021-11-15 14:50:09 +09:00
Dean Herbert
285b161da7
Update other usages of online ID comparisons to use new extension method
2021-11-15 14:44:08 +09:00
Dean Herbert
54cd1158a4
Add IBeatmapSetInfo
equality support
2021-11-12 18:16:36 +09:00
Dean Herbert
a67e156883
Add IBeatmapInfo
equality support
2021-11-12 18:11:33 +09:00
Bartłomiej Dach
5cb533004d
Add test coverage for favourite button
2021-11-08 11:53:53 +01:00
Dean Herbert
a2dfb5fd8c
Merge pull request #15513 from bdach/beatmap-card/statistics
...
Add statistics display to beatmap card
2021-11-08 14:45:56 +09:00
Dean Herbert
1589b50d6e
Merge branch 'master' into beatmap-card/statistics
2021-11-08 13:28:31 +09:00
Bartłomiej Dach
c0b5b0e909
Add new statistic types to online info
2021-11-07 21:33:41 +01:00
Dean Herbert
0ecf5f201c
Rename User
to APIUser
and move to correct namespace
2021-11-07 11:26:01 +09:00
Dean Herbert
9a7c75508e
Merge branch 'master' into user-class-cleanup
2021-11-05 19:56:18 +09:00
Dean Herbert
6c385ccd29
Move second generic to abstract
model downloader rather than interface type
2021-11-05 17:37:05 +09:00
Dean Herbert
f2700b0a6d
Expose bot state via interface
2021-11-05 13:40:44 +09:00
Dean Herbert
ead64282dd
Split out a couple more nested classes
2021-11-05 13:40:44 +09:00
Dean Herbert
86540d1fb6
Update existing usages of Author
as string
to access Username
directly
2021-11-04 18:57:54 +09:00
Dean Herbert
b9983add15
Rename User
to APIUser
and move to correct namespace
2021-11-04 18:21:31 +09:00
Dean Herbert
eb17d897a3
Finally, remove the To*
methods as they have no usages
2021-11-04 17:09:53 +09:00
Dean Herbert
7bab487621
Remove usage of ToBeatmapInfo
in APIScoreInfo.CreateScoreInfo
2021-11-04 17:09:53 +09:00
Dean Herbert
8f459e6ce8
Fix APIBeatmapSet.Beatmaps
being IEnumerable
, causing stupid issues
2021-11-04 16:44:17 +09:00
Dean Herbert
9c926e5514
Remove BeatmapSetInfo.OnlineInfo
and all usages
2021-11-04 15:23:04 +09:00
Dean Herbert
a97e5fbd89
Merge pull request #15431 from peppy/fix-unauth-api-requests
...
Fix unauthenticated API requests no longer working
2021-11-03 04:35:48 +09:00
Dean Herbert
51e92e1b2d
Check for null/empty instead
2021-11-03 04:09:31 +09:00
Dean Herbert
8d0b32981f
Fix unauthenticated API requests no longer working
2021-11-03 03:30:15 +09:00
Dean Herbert
c85a4dca28
Fix crash when attempting to view global leaderboards
2021-11-03 02:47:33 +09:00
Dean Herbert
3a5aed1182
Ensure APIScoreInfo.Mods
is non-null
2021-11-01 22:59:12 +09:00
Dean Herbert
caa9d8997b
Merge branch 'master' into score-refactor/less-create-score-info
2021-11-01 22:59:11 +09:00
Bartłomiej Dach
5dcff7d8b7
Merge branch 'master' into score-refactor/less-create-score-info
2021-11-01 11:41:20 +01:00
Dean Herbert
b21e0e7efb
Merge branch 'beatmap-refactor/get-and-present' into beatmap-refactor/beatmap-overlays
2021-11-01 18:07:51 +09:00
Dean Herbert
602fe372c2
Merge branch 'score-refactor/isolated-serialisation' into beatmap-refactor/get-and-present
2021-11-01 18:06:53 +09:00
Dean Herbert
722e0d50bb
Fix BeatmapInfo
not being correctly populated in CreateScoreInfo
call
2021-11-01 15:54:39 +09:00
smoogipoo
94dce3f92a
Remove whitespace
2021-11-01 15:43:19 +09:00
Dean Herbert
708b57348d
Change loose api ordering requirement to throw instead
2021-11-01 13:22:16 +09:00
Dean Herbert
269a8df0ec
Fix HasReplay
not being corrrectly implemented by APIScoreInfo
2021-11-01 13:20:37 +09:00
Dean Herbert
a16c8f1ebc
Update all beatmap overlay views to use APIBeatmap
/APIBeatmapSet
2021-10-29 18:50:55 +09:00
Dean Herbert
b8ee7e05f4
Expose more pieces of APIBeatmap
for testing purposes
2021-10-29 18:35:27 +09:00