1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-11 17:47:29 +08:00
Commit Graph

1090 Commits

Author SHA1 Message Date
Dean Herbert
739a696467 Ensure reading of existing databases when making backups doesn't create a file 2022-06-16 16:48:06 +09:00
Dean Herbert
f23ddfe6cc Move remaining realm classes out of Stores namespace 2022-06-15 21:56:00 +09:00
Dean Herbert
cca7633e59 Rename variables and remove unnecessary nested call to GetFullPath 2022-06-15 15:05:51 +09:00
Salman Ahmed
22c09ec893 Handle subdirectories during beatmap stable import 2022-06-15 07:33:21 +03:00
Dean Herbert
e96c5ce703 Move and correct xmldoc to interfaces 2022-06-14 20:00:16 +09:00
Dean Herbert
d73c0ca659 Remove unused methods from IModelImporter
All the xmldoc is already present in `RealmArchiveModelImporter` so
nothing is lost here.
2022-06-14 19:42:11 +09:00
Dean Herbert
1b4c89c418 Update realm to latest version
Contains minor changes to async usage in line with upstream API changes.

I believe a feedback issue we were seeing with offset changes (the only
component using async write flow) may have been resolved by these
upstream changes (see [release
notes](https://github.com/realm/realm-dotnet/releases/tag/10.14.0)) but
am not investigating further just yet.
2022-06-03 14:16:10 +09:00
Dean Herbert
45841673f6 Update OnlineLookupCache to use async version of Perform call 2022-05-30 16:13:13 +09:00
Dean Herbert
4633eed78c Merge branch 'master' into localisable-filter-items 2022-05-20 23:55:16 +09:00
Dean Herbert
70bd40ce44 Fix incorrect count of beatmaps available to import 2022-05-19 14:01:24 +09:00
Dean Herbert
1b7ec1be26 Add basic test coverage of new screen 2022-05-17 18:15:14 +09:00
Dean Herbert
30fdbc3de0 Add safety against calling GetStableImportPaths when path doesn't exist 2022-05-17 17:33:54 +09:00
Dean Herbert
4af1a788d1 Add locate stable button / screen 2022-05-17 15:55:53 +09:00
Dean Herbert
13e70eab51 Allow cancellation of count operations and bypassing interactive location logic 2022-05-17 15:55:53 +09:00
Dean Herbert
6448c97929 Allow retrieving count of available stable imports 2022-05-17 15:55:53 +09:00
Dean Herbert
218642c300 Update unsafe file write usages 2022-05-16 18:05:27 +09:00
Dean Herbert
33f024212f Fix realm refetch operations potentially being unsafe
As seen in test failure https://github.com/ppy/osu/runs/6357384721?check_suite_focus=true.
2022-05-10 21:04:30 +09:00
Dean Herbert
043599081b Split out INotificationOverlay to allow for easier testing 2022-04-18 20:14:01 +09:00
Dean Herbert
e315313266 Split out IDialogOverlay to allow for easier testing 2022-04-18 18:36:26 +09:00
Dean Herbert
975883da5c Move all usages of client.realm filename to a single const 2022-03-30 13:34:48 +09:00
Dean Herbert
0433d2fe6a Add safety to realm instance retrieval in RealmAccess 2022-03-29 11:40:58 +09:00
Dean Herbert
ea46e024c1 Avoid deadlock during migration failed exit process 2022-03-29 00:04:13 +09:00
Dean Herbert
b6ae0ebb6f Limit macOS specific log output to macOS platforms specifically 2022-03-28 23:46:07 +09:00
Dean Herbert
a98aac3bf2 Better inform users of migration failure reason when running Apply Silicon build
As mentioned in https://github.com/ppy/osu/discussions/17409#discussioncomment-2445464?
2022-03-28 17:34:36 +09:00
Dean Herbert
b04ca111c6 Allow realm subscriptions to be initiated from a non-update thread 2022-03-24 23:41:07 +09:00
Salman Ahmed
c2063f415d Remove unnecessary MaxCombo migration between unmapped database fields 2022-03-20 16:27:54 +03:00
Dean Herbert
6565c95b17 Remove unused variable 2022-03-08 18:19:54 +09:00
Dean Herbert
0718a55ad0 Add flow to allow recovery after running an older release (with a different realm database version)
As brought up in https://github.com/ppy/osu/discussions/17148
2022-03-08 18:15:28 +09:00
Dean Herbert
2a55c5e02e Add extension method to detect and isolate realm collection-level changes 2022-03-08 14:50:47 +09:00
Bartłomiej Dach
0fbc018a42
Remove redundant string interpolation prefixes 2022-03-03 20:21:09 +01:00
Dean Herbert
35f532fefa Add ability to watch properties via a RealmAccess helper method 2022-03-03 17:42:40 +09:00
Dean Herbert
7d11cfb301 Add detach mapping for BeatmapUserSettings 2022-03-01 20:12:59 +09:00
Dean Herbert
047e801da9 Store and retrieve offset from realm 2022-03-01 20:12:59 +09:00
Dean Herbert
acf8db13ac Store user settings to realm 2022-03-01 18:44:15 +09:00
Dean Herbert
9a117467b5 Add RealmAccess.WriteAsync method 2022-03-01 18:44:05 +09:00
Dean Herbert
7fa5842783 Add global statistics output for all realm reads/writes 2022-03-01 18:31:18 +09:00
Dean Herbert
334fe1f120 Add AsSplitQuery specification to avoid optimisation recommendation log messages 2022-02-15 15:23:17 +09:00
Dean Herbert
8ec28dc8bc Update OsuDbContext in line with EF changes 2022-02-15 15:19:50 +09:00
Dean Herbert
908c31c687 Update stream read operations to use new helper methods 2022-02-11 16:02:25 +09:00
Bartłomiej Dach
dc96c4888b
Add support for creating new blank difficulties 2022-02-02 21:55:33 +01:00
Bartłomiej Dach
a378e78ced
Fix RealmLive unnecessarily passing ID around
Appears to have never been needed. When the `retrieveFromID` method was
created in 81b5717ae7, it didn't use the
`id` parameter for anything either.
2022-02-01 21:35:12 +01:00
Dean Herbert
1a14ccc7ee Run EF migrations before migrating to realm
Turns out that there are more than zero users that are upgrading from
old databases. I think we probably want to support this for now.

Tested against database in https://github.com/ppy/osu/discussions/16700
and one other I had locally, both work correctly.
2022-01-29 23:13:23 +09:00
Dean Herbert
942ea896f1 Skip scores missing beatmaps during realm migration 2022-01-28 01:20:32 +09:00
Dean Herbert
81461be49f Skip beatmap imports where ruleset is not present in realm
Closes #16651.

When a ruleset is not available, the `Find` call would return null. When
a null is passed to the constructor, `BeatmapInfo` would create an "osu"
ruleset, which tries to get stored to realm and fails on duplicate
primary key.

Probably need to add better safeties against this (or change that
constructor...) but this will fix the migration process.

Probably not serious enough to pull the build. This only affects
rulesets like karaoke which have custom beatmaps.
2022-01-28 00:14:20 +09:00
Dan Balasescu
9ff2b9eb95
Merge pull request #16640 from peppy/realm-migration-always-delete
Improve realm migration UX to give users a recovery path on error
2022-01-27 15:43:14 +09:00
Dean Herbert
67ccb87992 Add exception message to discussion template url 2022-01-27 14:56:04 +09:00
Dean Herbert
fb081384e1 Add safety against zip creation potentially failing (probably can't but still) 2022-01-27 14:55:52 +09:00
Dean Herbert
465e7d29fe Avoid showing the external link warning 2022-01-27 14:53:11 +09:00
Dean Herbert
31abb372e5 Automatically zip and show the backup archive to the user 2022-01-27 14:52:58 +09:00
Dean Herbert
b745252962 Show notification when migration fails to give users a recovery path 2022-01-27 14:39:11 +09:00