Commit Graph

2402 Commits

Author SHA1 Message Date
1814a325d8 Move GetSettingUnderlyingValue to a SettingSource extension method 2022-03-15 14:54:00 +09:00
cc87563d57 Merge branch 'master' into chat-mention-highlight 2022-03-11 17:51:22 +03:00
a31611bdec Improve channel switching flow in HighlightMessage 2022-03-10 23:07:15 +03:00
8086f73451 Revert "Add functionality to switch to successfully joined channel"
This reverts commit c72e8a8b5e.
2022-03-10 23:07:15 +03:00
c72e8a8b5e Add functionality to switch to successfully joined channel 2022-03-10 21:28:38 +03:00
c61397cc22 Fix whitespace/inspection 2022-03-10 16:22:27 +09:00
13a4058efd Merge pull request #17191 from peppy/fix-mod-conversion-exceptions
Change `ToMod` to return an `UnknownMod` rather than throw if a mod isn't available
2022-03-10 16:20:50 +09:00
022dd88aef Merge branch 'master' into chat-mention-highlight 2022-03-10 14:23:23 +09:00
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
b07a1e8d09 Fix unable to copy playlist rooms without first opening 2022-03-09 15:38:00 +09:00
512536f5fe Fix unconditional null in Equals implementation 2022-03-08 23:25:51 +09:00
da7c6f1772 Merge branch 'master' into chat-mention-highlight 2022-03-08 21:15:12 +09:00
b0f40d9e45 Remove user from SubmittableScore
This wasn't being used by osu-web, and included far too much unnecessary
data. Of note, `pp` and `ruleset_id` are also not strictly required, but
there's no harm in sending them so I've left them be for now.
2022-03-08 18:38:24 +09:00
f8e5570e41 Fix Message equality not passing on equal references 2022-03-08 03:20:20 +03:00
7f47be4680 Refactor message highlighting logic to rely on a Channel data bindable 2022-03-08 03:19:37 +03:00
5764c53c17 OpenChannelNotification -> HighlightMessageNotification 2022-03-08 03:16:07 +03:00
32d242dd62 Hook up message notifications to chat message highlighting logic 2022-03-07 05:10:49 +03:00
6673e456c5 Merge pull request #17090 from miniriley2012/wiki-locale-fix
Fix wiki links containing locale not loading when opened from chat.
2022-03-04 19:36:14 +09:00
8491bab77c Replace string locale with Language 2022-03-04 00:57:13 -06:00
d4a2645510 Add localisation support for leaderboard error text 2022-03-02 14:14:44 +09:00
c342030b2c Add specific placeholder message for custom rulesets rather than showing network error 2022-03-02 14:10:59 +09:00
67082b8c5d Remove verbose logging from SpectatorClient for now 2022-02-25 22:25:36 +09:00
e947c97e10 Merge branch 'master' into spectator-reliability 2022-02-25 20:20:30 +09:00
8eef1774d5 Use Logger.Log instead of console 2022-02-25 20:18:22 +09:00
80fc13fc1f Merge pull request #16976 from peppy/dont-expose-mark-as-read-errors-to-user
Don't expose "mark as read" errors to the user via notifications
2022-02-24 23:20:34 +09:00
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
35302aa297 Merge pull request #16980 from smoogipoo/fix-union-workaround-resolver
Fix SignalR union workaround resolver failing on multiple union'd types
2022-02-24 22:24:48 +09:00
c5b1e5cbf8 Fix union resolver failing on multiple derived types 2022-02-24 20:27:22 +09:00
d69446ff6e Merge pull request #16979 from smoogipoo/fix-playlists-partial-mod
Fix playlists not allowing entry with partial mods
2022-02-24 19:37:10 +09:00
2acaffd5e7 Fix APIMod storing bindables instead of value 2022-02-24 17:01:12 +09:00
c6d78b9325 Fix several oversights in data linking causing drawable rooms not updating as expected 2022-02-24 16:12:15 +09:00
b4a54b38e7 Remove redundant parameter specification 2022-02-24 16:02:16 +09:00
3f6bdc5585 Don't expose "mark as read" errors to the user via notifications
This can happen if the user leaves the channel before the request is
fired. You can't mark a channel as read when you're not in the channel.

Addresses https://github.com/ppy/osu/discussions/16973.
2022-02-24 15:40:07 +09:00
29d77a29aa Merge branch 'master' into startup-protocol-handling 2022-02-23 21:10:27 +01:00
3f2ef030e4 Group SpectatorClient private fields together 2022-02-24 02:31:55 +09:00
5ffdd57895 Rename weirdly named parameter 2022-02-24 02:28:13 +09:00
694c6ad872 Fix frames potentially getting lost due to non-matching Schedule usage 2022-02-24 02:28:13 +09:00
47b84295a6 Fix bundle send logic not correctly waiting for task completion (due to nested schedule) 2022-02-24 02:23:48 +09:00
cff6f85472 Add note about reconnection being insufficient currently 2022-02-24 02:23:48 +09:00
5ff4d3f8e5 Add support to SpectatorClient to resend failed frame bundles 2022-02-24 02:21:29 +09:00
53bbd00675 Also make APIUser opt-in and remove the remaining serialization exclusion rule 2022-02-23 17:12:38 +09:00
43c83d2de1 Add note about why RoomID is nulled in DeepClone 2022-02-23 17:10:11 +09:00
f14a9af801 Make Room opt-in rather than opt-out for json serialization 2022-02-23 17:10:10 +09:00
28c9c5ab6a Remove unnecessary ShouldSerialize rules in Room 2022-02-23 17:10:10 +09:00
7bdcb5952e Fix handling badly-formatted osu:// urls 2022-02-23 00:36:56 +01:00
1a358698fb Merge branch 'master' into startup-protocol-handling 2022-02-22 22:42:16 +01:00
ed008267d7 Fix one more case of escaping not being present
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-02-22 16:45:18 +09:00
ca0a041153 Fix missing escaping causing test failures
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-02-22 16:45:04 +09:00
61b3280de1 Add missing property copies in Room.CopyFrom implementation 2022-02-22 15:47:00 +09:00
71ae425fb2 Merge branch 'master' into rooms-request-faster 2022-02-22 15:45:05 +09:00