Commit Graph

585 Commits

Author SHA1 Message Date
b2663d9399 Update xmldoc to suggest that GracefullyExit may be overridden 2022-06-19 01:14:48 +09:00
56abe54fe6 Redirect graceful exiting to standard exit flow
Rather than doing a completely forced exit as we were, this will now
follow a more standard flow with the ability for the user to abort along
the way. This is more in line with how I wanted this to work.

Note that this means a confirmation is now shown. It has been discussed
in the past that this confirmation should only show when there's an
ongoing action implies the user may want to cancel the exit. For now I
think this is fine.

Addresses
https://github.com/ppy/osu/discussions/18399#discussioncomment-2811311
2022-06-18 23:43:46 +09:00
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
651862fee0 Merge branch 'master' into database-migration-reliability 2022-06-16 17:19:58 +02:00
8ea3042435 Move file extensions specification to common class 2022-06-16 18:00:27 +09:00
4526f8c07d Move database backup creation to async thread where possible 2022-06-16 17:01:17 +09:00
17dbb599d1 Don't backup collection database
This is no longer required due to recent changes which mean the
collection database will retain beatmap references even if they aren't
loaded locally (see https://github.com/ppy/osu/pull/18619).
2022-06-16 16:48:53 +09:00
1acbb87aa6 Ensure AvailableMods.Value is never null 2022-06-15 17:40:16 +02:00
30382b0445 Fill out GetModsFor() xmldoc and annotate items as non-null 2022-06-15 17:40:15 +02:00
e74b563b91 Add protection against arbitrary exceptions from GetModsFor() 2022-06-15 17:31:46 +02:00
6e5e506fb4 Add protection against rulesets returning null mods 2022-06-15 17:31:46 +02:00
54a32bde44 Don't report sentry errors from builds targetting a different server 2022-06-03 16:29:55 +09:00
f111d33b25 Merge pull request #18339 from peppy/editor-timing
Add first pieces of editor timing UI
2022-05-23 11:12:22 +09:00
007582afb9 Remove unused usings resulting from namespace move 2022-05-22 23:55:33 +09:00
eabf578282 Use interface to convey beat sync information 2022-05-22 22:44:54 +09:00
218642c300 Update unsafe file write usages 2022-05-16 18:05:27 +09:00
9dce329e99 Remove build suffix from version when reporting to sentry 2022-05-11 10:38:35 +09:00
b2a57c34bb Move implementation to base 2022-05-10 19:10:34 +09:00
4d22f26266 Rename property and improve xmldoc 2022-05-10 19:07:07 +09:00
cac6d5569c Fix incorrect variable reference in log output 2022-05-10 19:07:00 +09:00
bcd91ac743 Move exception soft-handling logic to OsuGameBase 2022-05-10 10:02:32 +03:00
975883da5c Move all usages of client.realm filename to a single const 2022-03-30 13:34:48 +09:00
b04ca111c6 Allow realm subscriptions to be initiated from a non-update thread 2022-03-24 23:41:07 +09:00
21beb8774d Change to lambda method 2022-03-14 13:54:54 +09:00
4ae6cba080 Expose UseDevelopmentServer as virtual 2022-03-14 13:49:38 +09:00
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
98aaf83177 Add a centralised constant for the osu URL schema protocol 2022-02-18 15:57:37 +09:00
7a69de0060 Split out realm portion of RulesetStore 2022-02-16 17:13:31 +09:00
214b2724de Merge branch 'master' into input-settings
# Conflicts:
#	osu.Game/OsuGameBase.cs
#	osu.iOS/OsuGameIOS.cs
2022-02-12 11:48:46 +01:00
44f2d8a448 Allow game folder migration to fail gracefully when cleanup cannot completely succeed 2022-02-10 19:30:26 +09:00
5e47ce333c Change SafeAreaOverrideEdges to be get-only and protected 2022-02-04 16:10:49 +03:00
915d63f6de Limit safe area bottom override to iOS only 2022-02-04 18:58:29 +09:00
8fc4d0c6f5 Add override edge rule to overflow above home indicator on iOS 2022-02-04 18:20:17 +09:00
52fdf0349f Add safe area support via ScalingContainer 2022-02-04 16:37:05 +09:00
16e0cc6a2b Remove IIpcHost param from ScoreManager
No longer used since 3e3b9bc963.
2022-02-01 21:35:40 +01:00
08948f60f3 Move backups to "backups" subfolder to make them easier to find 2022-01-27 14:39:13 +09:00
fc58b202b1 Fix crash when trying to migrate collection database that doesn't exist 2022-01-25 15:45:23 +09:00
6eb2c28e41 Rename RealmContextFactory to RealmAccess 2022-01-24 20:38:07 +09:00
855ef3fa92 Create backup before any realm contexts are used 2022-01-22 11:52:46 +09:00
5be41a189b Expose EF context factory for use in external migration logic 2022-01-21 14:56:28 +09:00
5df46d0a54 Remove all calls to Realm.Refresh to fix blocking overhead from subscriptions
Turns out this is not required if realm is aware of a
`SynchronizationContext`. See
https://github.com/realm/realm-dotnet/discussions/2775#discussioncomment-2005412
for further reading.
2022-01-20 20:23:18 +09:00
fad66d7682 Backup collections alongside main databases when migrating to realm 2022-01-19 16:31:36 +09:00
8c120c6bfb Merge pull request #16491 from peppy/realm-integration/safer-migration
Improve safety and logging of realm migration process
2022-01-19 12:23:48 +09:00
02baad30d7 Merge branch 'master' into global-bindable-thread-safety 2022-01-18 18:12:00 +09:00
8b8940439e Fix starting game with non-default ruleset failing 2022-01-18 16:22:15 +09:00
b1a75ce480 Permanently delete client.db after migration completes 2022-01-18 14:17:43 +09:00
b9ec860cf2 Ensure global beatmap/ruleset are always mutated from the update thread
This came up while testing the new realm thread, where `MusicController`
would fall over when `OsuTestScene` changes the global beatmap from an
async load thread (causing a cross-thread realm access).

We don't want to have to schedule every usage of these bindables, so
this seems like a good constraint to put in place.
2022-01-18 13:29:24 +09:00
f3eaa95041 Move input handler settings creation to OsuGameBase 2022-01-15 14:53:41 +01:00
ded1d87739 Move RulesetStore construction earlier in process so rulesets are available for EF migration 2022-01-13 18:23:18 +09:00
e0c59f4b3c Localise EF context factory usage to migration only 2022-01-12 17:49:11 +09:00