Commit Graph

125 Commits

Author SHA1 Message Date
Bartłomiej Dach 8ffd4aa82c
Fix NRT inspections 2024-08-30 13:41:34 +02:00
Bartłomiej Dach 9a83d7be81
Ensure that `SoloScoreInfo` serialisation result does not contain interface members 2023-12-08 09:27:12 +01:00
Dean Herbert 0ab0c52ad5 Automated pass 2023-06-24 01:00:03 +09:00
Dean Herbert cf2719d4c0 Convert `batchImport` parameter to parameters class to allow further import configuration 2022-12-13 19:55:18 +09:00
Dan Balasescu 7bc8908ca9 Partial everything 2022-11-27 00:00:27 +09:00
Dan Balasescu 21620bee1a Attempt to fix deadlock in test 2022-10-04 15:02:53 +09:00
o-dasher feadac1f79 Cleanup all other leftover binding instantiation 2022-09-25 16:02:40 -04:00
Dean Herbert d561fcb126 Don't trigger fling animation when `Close` is triggered by non-user action 2022-09-12 16:54:25 +09:00
naoei 3e38baca3c Change ruleset mod description types 2022-08-10 16:09:11 -04:00
Dan Balasescu 0de00e9b3f Don't serialise empty mod settings 2022-08-05 14:00:53 +09:00
Dean Herbert 2b9d46d803 Remove unused `RulesetStore` from `BeatmapManager` constructor 2022-07-28 16:19:05 +09:00
Salman Ahmed 1b6ebcfd87 Remove `SubmittableScore` and replace with `SoloScoreInfo` extension method 2022-07-25 13:43:43 +03:00
Dan Balasescu d2a3c2594d Fix inspections 2022-07-20 16:33:52 +09:00
Dean Herbert f6de76e057 Move test to stand-alone class and add full ui testing 2022-07-19 18:50:27 +09:00
Dean Herbert 59d0bac728 Hook up update flow to metadata stream 2022-07-05 21:32:00 +09:00
Dean Herbert 06d59b717c Move beatmap processing tasks to new `BeatmapUpdater` class 2022-06-24 21:02:37 +09:00
Dean Herbert 92f1a2958c Rename `Import(TModel)` to `ImportModel` to differentiate from other import methods 2022-06-20 15:18:07 +09:00
Dan Balasescu f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Dean Herbert f3984d98e6 Remove `RealmArchiveModelManager` from hierarchy 2022-06-16 18:53:13 +09:00
Dean Herbert 1f3e1b2d97 Combine `BeatmapManager` and `BeatmapModelManager` into one class 2022-06-16 18:07:04 +09:00
Dean Herbert 88d5e074a8 Rename `lowPriority` to `batchImport` 2022-06-15 00:46:00 +09:00
Dean Herbert 2f8290831a Skip quick import clause when importing a single item
Closes https://github.com/ppy/osu/issues/18600.
2022-06-15 00:26:34 +09:00
Dean Herbert 9f599a5ab4 Remove unused `lowPriority` flag from one `Import` method 2022-06-14 19:52:30 +09:00
Dan Balasescu 494955aff1 Resolve inspection issues 2022-04-14 13:11:11 +09:00
Dean Herbert e4ef540b5b Fix intermittent failures on `TestBeatmapDownloadingFlow` due to slow realm refresh 2022-03-10 20:33:14 +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
Dean Herbert 9a347af5c7 Add test coverage of `SubmittableScore` serialisation to (roughly) match spec 2022-03-08 17:58:52 +09:00
Dan Balasescu 3a03833912
Merge pull request #16890 from peppy/beatmap-decoder-ruleset-store
Fix `LegacyBeatmapDecoder` not populating correct rulesets
2022-02-25 19:03:43 +09:00
Dan Balasescu 328166f0d5 Add failing test 2022-02-24 17:01:04 +09:00
Dean Herbert 631c23ea3a Merge branch 'master' into beatmap-decoder-ruleset-store 2022-02-18 16:52:33 +09:00
Dean Herbert 0138f22c8d Update existing usages to point to `RealmRulesetStore` 2022-02-16 17:13:54 +09:00
Dan Balasescu bdc3b76df0 Remove beatmap bindable from PlaylistItem 2022-02-15 23:50:08 +09:00
Dan Balasescu 94a974e1c9 Make OnlinePlayBeatmapAvailabilityTracker look up the online beatmap 2022-02-15 23:41:50 +09:00
Dan Balasescu efeba30b9f Remove ruleset and mod bindables from PlaylistItem 2022-02-15 16:28:15 +09:00
Dan Balasescu 9c2d57d707 Add failing test 2022-02-08 19:36:16 +09:00
Bartłomiej Dach 3674ed15ce
Remove unused game host parameter
No longer used since eeccf836ec.
2022-02-01 21:53:21 +01:00
Bartłomiej Dach 75101b1105
Remove unused ruleset ctor params from test beatmap model managers
No longer used since 00e3af3366.
2022-02-01 21:49:41 +01:00
Dean Herbert cd71ec0edd Remove `ILive<>` interface (and use `abstract Live<>` instead) 2022-01-26 13:38:56 +09:00
Dean Herbert 778d2a71b4 Remove `Task` from the inner-most `Import` method in `RealmArchiveModelImporter`
One of my pending work items for post-realm merge.

The lowest-level import task is no longer asynchronous, as we don't want
it to span multiple threads to allow easier interaction with realm.
Removing the `Task` spec simplifies a heap of usages.

Individual usages should decide whether they want to run the import
asynchronously, by either using an alternative override or spooling up a
thread themselves.
2022-01-25 15:30:29 +09:00
Dean Herbert 3e5c9e8436 Fix cases of `Access` instead of `Realm` 2022-01-25 12:58:15 +09:00
Dean Herbert 6eb2c28e41 Rename `RealmContextFactory` to `RealmAccess` 2022-01-24 20:38:07 +09:00
Dean Herbert 114c9e8c1f Update all usages of `CreateContext` to use either `Run` or `Write` 2022-01-21 17:27:08 +09:00
Dean Herbert 4f8d29c1c0 Merge branch 'master' into realm-integration/score-and-beatmaps 2022-01-13 18:25:09 +09:00
Joseph Madamba b245ffefc1 Merge remote-tracking branch 'upstream/master' into fix-remaining-identifier-names 2022-01-12 15:05:07 -08:00
Dean Herbert ca7e11057c Use better method to ensure online availability tracker is in a clean state 2022-01-12 17:49:10 +09:00
Dean Herbert de076678fe Fix some remaining test failures 2022-01-12 17:00:16 +09:00
Dean Herbert 31a3161189 Make tests compile again 2022-01-12 17:00:16 +09:00
Dean Herbert 00e3af3366 Update model manager and many related classes to get things compiling again 2022-01-12 17:00:00 +09:00
Dean Herbert 89d6ffa7f3 Use `RealmContextFactory` instead of EF 2022-01-12 16:39:36 +09:00
Dean Herbert 6a671b0a52 Remove unnecessary assigns of `BeatmapSetInfo.Metadata` 2022-01-12 16:39:36 +09:00