1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-14 17:32:54 +08:00
Commit Graph

1525 Commits

Author SHA1 Message Date
Dean Herbert
4685ba83e1 Apply NRT to MemoryCachingComponent classes 2023-06-09 19:00:05 +09:00
Bartłomiej Dach
ca25ac446b
Be slightly more specific with error message 2023-06-09 11:20:12 +02:00
Dean Herbert
53f935714e Inline binary reading to avoid polluting RealmAccess with nested class 2023-06-09 17:34:27 +09:00
Dean Herbert
a9071e7afd try-catch more 2023-06-09 17:33:59 +09:00
Dan Balasescu
67562a3856 Catch errors during score parsing 2023-06-09 14:35:29 +09:00
Dan Balasescu
facf7de053 Parse ScoreInfo.IsLegacyScore from replays 2023-06-08 21:38:10 +09:00
Bartłomiej Dach
1f4e79d79d
Merge pull request #23711 from timiimit/add-last-edit-time
Store timestamp of beatmap's last edit time in local database
2023-06-07 16:57:24 +02:00
Salman Ahmed
62cb6a98ca Remove redundant nullable suppression directives 2023-06-07 08:20:41 +03:00
Dean Herbert
e0e013cca1
Fix incorrect realm schema comment
Co-authored-by: timiimit <32331609+timiimit@users.noreply.github.com>
2023-06-06 22:17:05 +09:00
Dean Herbert
878cdb2ed3 Bump schema version 2023-06-06 15:11:37 +09:00
Dean Herbert
18eb15bfa5 Gracefully handle failures in cleaning up pending file deletions 2023-05-31 19:39:43 +09:00
Bartłomiej Dach
2e81cae201
Move comment to more correct place 2023-05-30 23:18:34 +02:00
Dean Herbert
a0be526266 Adjust realm backup procedure to hard fail if running out of attempts
Previously, if the backup procedure failed, startup would continue and
the user's realm database may be deleted. I think in such a fail case
I'd rather the game didn't startup so the user gets in touch (or reads
the log files themselves) rather than potentially losing data.
2023-05-30 13:04:34 +09:00
Dean Herbert
79694897be Ensure a potential exception from cleanupPendingDeletions doesn't mark realm corrupt
The whole restructure here is to move the nested call out of the
`try-catch`. I noticed this while looking at a corrupt database issue a
user reported (https://github.com/ppy/osu/discussions/23694).

It's not the first time we've seen a corrupt database error where the
"corrupt" version works just fine on a second attempt.

Maybe this isn't the issue and it's just a transitive file access violation
but it definitely feels like this should be fixed regardless.
2023-05-30 13:00:17 +09:00
Dan Balasescu
d2380bd840 Remove usages of [ExcludeFromDynamicCompile] 2023-05-08 18:12:56 +09:00
Bartłomiej Dach
510484011c
Mark exporter extensions as untranslatable 2023-05-06 19:42:28 +02:00
Bartłomiej Dach
3f63fd7f4d
Reorder increment to make progress update less weird 2023-05-06 19:39:52 +02:00
Bartłomiej Dach
bb17b684b0
Rename flag 2023-05-06 19:38:41 +02:00
Bartłomiej Dach
a56a5d563c
Unify error message wording 2023-05-06 19:38:05 +02:00
Bartłomiej Dach
3afe198d1d
Remove weird single-use private method 2023-05-06 19:34:22 +02:00
Bartłomiej Dach
e0823ffd03
Move lower and xmldoc GetFilename(TModel) 2023-05-06 19:29:08 +02:00
Bartłomiej Dach
5e64d25b2a
Make UserFileStorage readonly again 2023-05-06 19:26:51 +02:00
Dean Herbert
64d7e0d896 Rename outputStream variable to match base class 2023-05-07 00:24:30 +09:00
Dean Herbert
d2591368a6 More xmldoc fixes 2023-05-06 23:53:35 +09:00
Dean Herbert
0d095c4bb7 Remove non-Live pathway 2023-05-06 23:10:18 +09:00
Dean Herbert
e75ff33d62 Remove redundant xmldoc and reword some remaining 2023-05-06 23:10:09 +09:00
cdwcgt
71864fbb93
remove meanless comment 2023-05-05 21:29:06 +09:00
cdwcgt
4393e53b43
ExportToStream should be public 2023-05-05 21:28:43 +09:00
Dean Herbert
747f912af5 Fix incorrect cancellation logic 2023-05-05 21:08:01 +09:00
Dean Herbert
5d78561aa3 Remove weird catch logic 2023-05-05 21:05:57 +09:00
Dean Herbert
2a3e03695c Simplify ExportAsync, remove weird dedupe logic and unnecessary return success code 2023-05-05 21:05:52 +09:00
Dean Herbert
4ccfebc02b Simplify ExportToStreamAsync implementation 2023-05-05 21:01:10 +09:00
Dean Herbert
fc2d2de34c Fix notification text not including export filename 2023-05-05 16:53:27 +09:00
Dean Herbert
9cafb20fcb Move file missing logging to a better location, and log actual filenames to logs 2023-05-05 16:53:16 +09:00
Dean Herbert
4ec98b0578 Improve xmldoc and fix silly progress text in LegacyArchiveExporter 2023-05-05 16:45:45 +09:00
Dean Herbert
0158102467 Rename class back to original name so I can read the diff 2023-05-05 16:19:10 +09:00
cdwcgt
dd69089117
code quality 2023-04-09 15:51:31 +09:00
cdwcgt
5d64c1b7bf
exception handling 2023-04-09 15:09:18 +09:00
cdwcgt
ce6a87b4a3
Merge remote-tracking branch 'upstream/master' into export 2023-04-09 15:02:47 +09:00
cdwcgt
fc55b96e77
remove CompletionText in Constructor
this will never used

Co-Authored-By: Dean Herbert <pe@ppy.sh>
2023-04-09 14:27:42 +09:00
cdwcgt
49193a2bdd
CompletionText
Co-Authored-By: Dean Herbert <pe@ppy.sh>
2023-04-09 22:25:47 +09:00
cdwcgt
de21b4a2f7
use Live<TModel>
Use RealmAccess only when needed
2023-04-09 22:21:15 +09:00
cdwcgt
1f4da35c8d
notification nullable fix 2023-04-09 22:13:53 +09:00
cdwcgt
13b522e825
repair usage of CancellationToken
Co-Authored-By: n0099 <n@n0099.net>
2023-04-09 22:09:53 +09:00
Cootz
556964eae0
Merge branch 'master' into BitmapUpdatesOnScore 2023-03-16 12:16:42 +03:00
Cootz
7107834b9e Fix truncating bug 2023-03-07 15:43:03 +03:00
Cootz
5191204569 Bring truncating logic back to Export method 2023-03-07 15:39:43 +03:00
cdwcgt
1d5c87039e typo 2023-02-26 15:28:43 +09:00
cdwcgt
e8092bff46 logic fix? 2023-02-26 15:28:24 +09:00
cdwcgt
fdf9544688 cancel handle 2023-02-26 15:28:10 +09:00
cdwcgt
a20e2685be make static name fix 2023-02-25 20:11:08 +09:00
cdwcgt
78201c4649 log to database 2023-02-23 22:17:35 +09:00
cdwcgt
60bdae41b6 make static 2023-02-23 22:17:13 +09:00
cdwcgt
9e1eb50d9b use log 2023-02-23 20:21:04 +09:00
cdwcgt
ba345e5591 delete notify post when duplicate export 2023-02-23 20:10:50 +09:00
Cootz
90aa4288d0 Reduce the allowed length by 5 to account for (99) suffix. Move truncating logic to GetFilename. Update tests. 2023-02-21 18:35:53 +03:00
cdwcgt
d20e1df603 wrong xmldoc
because of 6900d0120a
2023-02-21 20:54:06 +09:00
cdwcgt
04dcd661e0 async logic fix 2023-02-21 20:53:02 +09:00
cdwcgt
0667b83960 Path.GetExtension() will not get null 2023-02-19 02:56:53 +09:00
cdwcgt
229b31520f remove () 2023-02-19 02:42:33 +09:00
cdwcgt
fba99b344c Accidentally deleted using
wtf
2023-02-19 02:41:08 +09:00
cdwcgt
79715fe37b catch when zipWriter dispose
ObjectDisposedException also appear when zipwriter dispose after user request cancel
2023-02-19 02:24:07 +09:00
cdwcgt
8446e7d841 comment 2023-02-19 02:17:24 +09:00
cdwcgt
2a6ea99e6a store exportingModels for all exporter
No one wants to export multiple copies of the same model at the same time, right?
2023-02-19 02:09:59 +09:00
cdwcgt
30985f192e catch ObjectDisposedException 2023-02-19 02:06:07 +09:00
cdwcgt
d611603742 catch OperationCanceledException 2023-02-19 01:45:09 +09:00
cdwcgt
309e9b24e2 split LegacyArchiveExporter 2023-02-19 01:18:27 +09:00
cdwcgt
843d841f5a GetFilename and something other
https://github.com/ppy/osu/pull/21739
2023-02-17 22:23:50 +09:00
cdwcgt
29d6483e17 ConfigureAwait for awaited task 2023-02-17 22:19:24 +09:00
cdwcgt
e84e011d5d Merge branch 'master' into export 2023-02-17 22:15:19 +09:00
cdwcgt
eac0aa79a3 cancellationToken pass, notification adujust 2023-02-17 22:09:09 +09:00
Cootz
e3bdb3d852 Align links in one line 2023-02-17 15:32:36 +03:00
Cootz
fd1beaef87 Fix typo 2023-02-17 15:24:27 +03:00
Cootz
a3b440493a Update xml doc 2023-02-17 15:23:43 +03:00
Cootz
ceed3606cd
Remove redundant comment
Co-authored-by: Dean Herbert <pe@ppy.sh>
2023-02-17 13:46:06 +03:00
Dean Herbert
8c772a723f Expose constant publicly rather than reexposing business 2023-02-17 13:34:19 +09:00
Dean Herbert
96b1498932 Rename max length variable to make sense (it's a filename limit, not path) 2023-02-17 13:33:22 +09:00
Cootz
f1da213bea Add tests 2023-02-16 16:26:57 +03:00
Cootz
387a6f1330 Move logic to Export method 2023-02-15 22:43:43 +03:00
Cootz
fb06a77e2b
Merge branch 'master' into fix-exporting-a-skin-with-too-long-file-name 2023-02-15 22:29:38 +03:00
Cootz
1f586c129c fix applied 2023-02-15 22:15:44 +03:00
Dean Herbert
e71dfd7555 Fix skin export failing if a directory exists with the proposed filename 2023-02-15 16:11:16 +09:00
Dean Herbert
c50ea89bc9 Simplify migration to not rely on old/dynamic schema 2023-02-08 14:24:06 +09:00
Cootz
4ba915268c Change a comment into RealmAccess 2023-02-08 05:46:47 +03:00
PC
7e127dafe2 Update reference 2023-02-07 11:52:47 +03:00
Cootz
a1ee3df453 Improve local variable naming 2023-02-07 03:16:25 +03:00
Cootz
d23e787bc1 Update schema_version 2023-02-05 21:55:50 +03:00
Cootz
4598112586 Add OriginalBeatmapHash to ScoreInfo. Update db schema_version, migration 2023-02-05 21:46:38 +03:00
Susko3
f8537c1cbe Delegate file deletion to ImportTask to allow overriding it 2023-01-22 22:19:04 +01:00
Dean Herbert
cde45cdd3e
Merge pull request #21739 from integerrr/score-export-date
Append date to score export filename
2023-01-10 23:33:38 +09:00
Dean Herbert
a22b7298c6
Adjust english slightly 2023-01-10 22:27:36 +09:00
Salman Ahmed
0d6b9ebc0f Display number of failing models during batch-import 2023-01-10 13:32:10 +03:00
integer
f971405c8c append time as well 2023-01-10 00:02:31 +00:00
Salman Ahmed
5ee0665eac
Merge branch 'master' into pause-imports-during-gameplay 2023-01-09 20:09:17 +03:00
Salman Ahmed
8a05223591 Check cancellation token if importer was resumed while sleeping 2023-01-09 20:07:46 +03:00
Salman Ahmed
a1fbfe4b8b Specifiy importer name during pause/resume in logs 2023-01-09 19:53:41 +03:00
Dean Herbert
811a562608 Don't use bindables to avoid potential cross-usage contamination 2023-01-10 01:10:20 +09:00
Dean Herbert
62ffb4fe78 Pause imports during active gameplay 2023-01-09 18:54:11 +09:00
Endrik Tombak
15eebd1f50 Only show message about Songs folder 2023-01-09 11:47:13 +02:00
Bartłomiej Dach
04d4b4a6ce
Rename and xmldoc hard link creation method 2022-12-28 22:04:05 +01:00
Bartłomiej Dach
2c346eae0d
Revert inlining of hard link creation into condition
Just feels bad. Mixing data access with actual underlying logic.
2022-12-28 21:19:28 +01:00
BlauFx
c6da7248ba Remove unnecessary directive 2022-12-28 14:40:32 +01:00
BlauFx
53bca947d1 Move duplicated code into its own method 2022-12-28 14:34:27 +01:00
BlauFx
b2aa2e1602 Add hardlink support for Linux 2022-12-28 13:32:49 +01:00
integer
272288c9aa fix code style and naming 2022-12-25 21:50:56 +00:00
integer
d392d1a5c0 override a sub-method instead of the whole Export() 2022-12-24 22:18:42 +00:00
integer
498d00935b limit date appending to LegacyScoreExporter only 2022-12-23 23:01:04 +00:00
Dean Herbert
ba54551313 Merge branch 'master' into guard-url-protocols 2022-12-16 18:23:16 +09:00
Dean Herbert
27c497145f Fix the MOTHERLOAD of undetected issues that are now visible thanks to net6.0 2022-12-16 18:16:26 +09:00
cdwcgt
5912dfd443
using declaration
reshaper
2022-12-15 23:42:49 +09:00
cdwcgt
cd8420bc66
Handle the case where the file cannot be found 2022-12-15 23:34:40 +09:00
cdwcgt
dadadaff65
remove try catch 2022-12-15 23:20:29 +09:00
cdwcgt
f5226bd50b
use ZipWriter
Export directly to stream instead of creating a archive
so we can cancel this anytime
2022-12-15 23:12:25 +09:00
cdwcgt
ec251664a7
use ThrowIfCancellationRequested instead of CancelRequested 2022-12-15 22:45:36 +09:00
cdwcgt
6900d0120a
change abstract implement 2022-12-15 21:39:48 +09:00
Dean Herbert
6bf1477939
Fix some hard links not being created due to missing directory structure
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-12-15 14:17:28 +09:00
Dean Herbert
b8904fe747 Move ImportParameters to better home 2022-12-13 21:41:26 +09:00
Dean Herbert
cb16d62700 Hook up ImportParameter flow with IModelImporter caller methods 2022-12-13 21:29:32 +09:00
Dean Herbert
6bb612ce69 Move hard link availability check to helper class 2022-12-13 20:20:42 +09:00
Dean Herbert
bbf931c746 Move hard link helper functions to their own class 2022-12-13 19:55:18 +09:00
Dean Herbert
1d4230993d Hook up parameter with RealmFileStore to complete the chain 2022-12-13 19:55:18 +09:00
Dean Herbert
cf2719d4c0 Convert batchImport parameter to parameters class to allow further import configuration 2022-12-13 19:55:18 +09:00
Dean Herbert
d8de99bbe4 Check for hard link support in first run overlay 2022-12-12 13:44:09 +09:00
Dean Herbert
3b1920c060 Add code to check whether a file is a hard link 2022-12-12 13:44:09 +09:00
Dean Herbert
f27603dd6d Use hard links instead of file copy when available 2022-12-12 13:44:09 +09:00
cdwcgt
e02b8cb199
Group export methods into their respective managers 2022-12-11 18:30:24 +09:00
cdwcgt
a87bcccc42
xmldoc 2022-12-11 17:00:53 +09:00
cdwcgt
2d57633409
rename method name and add xmldoc 2022-12-11 17:00:52 +09:00
cdwcgt
fa30f3348f
onComplete should private 2022-12-11 17:00:51 +09:00
cdwcgt
951302fe61
ExportAsync use TModel 2022-12-10 00:43:03 +09:00
cdwcgt
405985ec5b
remove Component
exportStorage to private
notification should post when export instead of class being constructed
2022-12-09 23:57:03 +09:00
cdwcgt
19afce6776
Fix overwriting existing files
https://github.com/ppy/osu/pull/21468
2022-12-09 23:41:07 +09:00
cdwcgt
a1fc33668c
Merge branch 'master' into export 2022-12-09 23:40:26 +09:00
Dean Herbert
819fd5f950 Fix incorrect resolution of GameHost in LegacyImportManager 2022-12-07 17:53:14 +09:00
Piggey
75cf7bd1d2 change GetNextBestFilename()'s parameters 2022-12-01 18:44:02 +01:00
Piggey
8f59aad91c unnecessary includes 2022-11-30 18:37:50 +01:00
Piggey
8b856f1c89 make LegacyExporter use NamingUtils.GetNextBestFilename() 2022-11-30 18:32:53 +01:00
Piggey
b99ddc2acf use .Select() to trim the file extension from filename 2022-11-30 15:36:08 +01:00
Piggey
660ad913ec oh wait this affects all of the legacy exporters 2022-11-30 11:06:44 +01:00
Dawid Sośnia
f0b8b53e81
Merge branch 'ppy:master' into fix-exported-replay-overwrite 2022-11-30 10:54:12 +01:00
Piggey
5e74c4e3b7 override LegacyScoreExporter.Export() to not overwrite files 2022-11-30 10:52:41 +01:00
Piggey
f5d85f5774 make ExportStorage protected 2022-11-30 10:51:42 +01:00
cdwcgt
6adac853e8
Spite sync method ExportToStream
`uuid` to `model`
2022-11-27 09:58:54 +09:00
Dan Balasescu
7bc8908ca9 Partial everything 2022-11-27 00:00:27 +09:00
cdwcgt
162f0bb95e
filename can be private 2022-11-21 19:06:04 +09:00
cdwcgt
564f136945
add xmldoc 2022-11-21 19:04:05 +09:00
cdwcgt
9c6421a462
log the error 2022-11-21 19:00:10 +09:00
cdwcgt
e37d30a373
refactor based on reviews
removed LegacyExportManager

Separated the method of CreateZip method and the default export method
2022-11-21 18:58:01 +09:00
cdwcgt
ed53168267
typo fix 2022-11-21 17:42:11 +09:00
cdwcgt
60ef88844c
Recover accidentally deleted codes 2022-11-21 17:09:56 +09:00
cdwcgt
2653bd2f99
Make notification cannot cancel when Saving Zip Archive
This operation cannot be stopped(if not dispose stream).
so make it cannot cancel
2022-11-19 12:57:56 +09:00
cdwcgt
28867fbbb1
Add comment 2022-11-19 12:34:35 +09:00
cdwcgt
fc4a6cb125
working with test 2022-11-19 01:02:35 +09:00
cdwcgt
4b29941b47
add LegacyExportManager 2022-11-18 20:00:00 +09:00
Dan Balasescu
5ceb7ecc41
Remove unused using 2022-11-17 13:56:27 +09:00
Dean Herbert
1050d7da34 Use more generic exception type (issue reported AggegateException) 2022-11-17 13:36:16 +09:00
Dean Herbert
adab9f0e48 Catch and gracefully handle file/directory enumeration failures during stable import
Closes https://github.com/ppy/osu/issues/21214.
2022-11-17 13:34:42 +09:00
cdwcgt
e1a21e0cf9
create a task to export to avoid block main thread
Code quality and remove some #nullable disable
2022-11-17 01:08:06 +09:00
Bartłomiej Dach
f775741d65
Merge branch 'master' into fix-filename-char-filtering 2022-10-29 12:42:10 +02:00
Dean Herbert
66ed77ac91 Rename and add documentation to function 2022-10-28 18:04:28 +09:00
Dean Herbert
42eafe318c Remove various simple obsoletions 2022-10-28 13:20:58 +09:00
Dan Balasescu
3ac3c33cc3
Merge pull request #20712 from peppy/reduce-import-transaction-scope
Reduce the scope of realm transactions during import operations
2022-10-12 16:56:21 +09:00
Dean Herbert
390ff8b9da Reduce the scope of realm transactions during import operations 2022-10-11 21:58:28 +09:00
Dean Herbert
a44ba579c5 Fix beatmap update button not respecting user "prefer no video" setting
Closes #20701.
2022-10-11 14:27:40 +09:00
Dean Herbert
64ee210825 Add realm migration to update skin names 2022-09-18 00:12:43 +09:00
Dan Balasescu
e95983cdb4
Merge branch 'master' into fix-skin-flow 2022-09-16 20:15:51 +09:00
Dean Herbert
581a4d2d6d Use APIBeatmap for realm migration requiring ShortName mapping 2022-09-15 16:58:58 +09:00
Dean Herbert
40a60f7145 Remove all entity framework code and migrations 2022-09-15 16:58:58 +09:00
Dean Herbert
9226f0abbc Implement equality correctly in Live 2022-09-13 19:16:25 +09:00
Dean Herbert
0fcd9e02f6 Fix skin dropdown not updating correctly when skin is changed externally 2022-09-13 14:01:40 +09: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
Dan Balasescu
8cbd344330 Improve performance when cancelling import with debugger attached 2022-09-05 11:28:13 +09:00
Dean Herbert
09aa3e065d Move colouring to full icon content rather than background 2022-08-30 18:06:48 +09:00
Dean Herbert
b8fda1a16f Apply NRT to notification classes
and tidy things up a bit.
2022-08-30 15:57:10 +09:00
its5Q
0cc6a76c17 Fix crash with legacy import from incomplete installs 2022-08-28 14:13:38 +10:00
Dan Balasescu
d947a6cb59 Add Realm migration 2022-08-24 17:28:41 +09:00
Dean Herbert
e1e6be039a Don't create destination stream if backup source doesn't exist 2022-08-17 18:20:47 +09:00
Dean Herbert
fca076b988 Fix edge case of realm backup cascading failure 2022-08-17 17:17:22 +09:00
Dan Balasescu
e689d4be96
Merge pull request #19530 from peppy/store-modified-time
Add `BeatmapInfo.LastUpdate` to track the time of local changes
2022-08-16 20:20:41 +09:00
Dean Herbert
1a7ddc0040 Fix re-importing existing collections not correctly adding new items 2022-08-16 16:43:05 +09:00
Dean Herbert
11f38e539f Rename property to LastLocalUpdate 2022-08-16 16:01:19 +09:00
Dean Herbert
c7db4a532c Merge branch 'master' into store-modified-time 2022-08-16 15:53:51 +09:00
Dan Balasescu
98c7138803
Merge pull request #19586 from peppy/realm-versioning-for-debug
Version realm files for debug executions
2022-08-10 21:17:51 +09:00
Dan Balasescu
f9c6dc314b
Merge pull request #19678 from peppy/fix-file-comparisons-many-places
Fix audio track not correctly advancing when changing between certain beatmaps
2022-08-10 20:38:14 +09:00
Dan Balasescu
69cbf4185b Match class name to file 2022-08-10 19:53:40 +09:00
Dean Herbert
ac99c1ad69 Migrate the majority of existing file lookups to use new extension methods 2022-08-10 16:01:16 +09:00
Dean Herbert
ddffa9b1bd Fix crash when attempting to import on mobile platforms
Regressed with NRT application to this file. It's probably the first
time we've actually hit this due to an optional DI that is actually not
available outside of tests.
2022-08-10 15:32:43 +09:00
Dean Herbert
6459dbd9e5 Fix collection import not showing progress notification 2022-08-08 14:56:16 +09:00
Dean Herbert
c31e257a1f Clean up pending deletion presets on startup 2022-08-07 15:16:33 +09:00
Dean Herbert
4544df5978 Leave client.realm around to handle pull requests without this change merged 2022-08-05 18:27:29 +09:00
Dean Herbert
ad3d00b1dc Don't add version suffixes when running unit tests 2022-08-05 18:23:41 +09:00
Dean Herbert
3c84b1a389 Change order of application to use original client.realm last 2022-08-05 17:48:51 +09:00
Dean Herbert
84a3fbd25c Version realm files for debug executions
To make it easier for developers to test out pull requests which bump
the realm schema version, realm files are now stored with the schema
version in the filename.

Note that this means any changes made to a newer version will not be
applied to previous ones.
2022-08-05 17:36:49 +09:00
Dean Herbert
d3954fc583 Use existing localised error message 2022-08-03 20:15:46 +09:00
Salman Ahmed
7354f9e6ba Remove localisation for now 2022-08-01 22:05:52 +03:00
Dean Herbert
d7a06abcab Add BeatmapInfo.LastUpdate to track the time of local changes 2022-08-02 00:53:07 +09:00
Salman Ahmed
3ff0327d91 Display readable message when reaching download limit 2022-08-01 14:22:54 +03:00
Bartłomiej Dach
345f103119
Migrate mod preset column to use realm 2022-07-31 23:53:45 +02:00
Dean Herbert
6ad86ce5b7 Run collection import process asynchronously
Actually required to avoid deadlocking..
2022-07-31 01:06:57 +09:00
Dean Herbert
80ffa2cf20 Move collection database rather than deleting post-migration for safety 2022-07-31 00:54:00 +09:00