Bartłomiej Dach
0e52797f29
Prefer not deleted models when picking model instances for reuse when importing
...
This fell out while investigating why the issue with online IDs
mismatching in the `.osu` could be worked around by importing the map
three times in total when starting from it not being available locally.
Here follows an explanation of why that "helped".
Import 1:
- The beatmap set is imported normally.
- Online metadata population sees the online ID mismatch and resets it
on the problematic beatmap.
Import 2:
- The existing beatmap set is found, but deemed not reusable
because of the single beatmap having its ID reset to -1.
- The existing beatmap set is marked deleted, and all the IDs of
its beatmaps are reset to -1.
- The beatmap set is reimported afresh.
- Online metadata population still sees the online ID mismatch
and resets it on the problematic beatmap.
Note that at this point the first import *is still physically present
in the database* but marked deleted.
Import 3:
- When trying to find the existing beatmap set to see if it can be
reused, *the one pending deletion and with its IDs reset -
- the remnant from import 1 - is returned*.
- Because of this, `validateOnlineIds()` resets online IDs
*on the model representing the current reimport*.
- The beatmap set is reimported yet again.
- With the online ID reset, the online metadata population check for
online ID mismatch does not run because *the IDs were reset to -1*
earlier.
Preferring undeleted models when picking the model instance for reuse
prevents this scenario.
2024-10-30 08:18:44 +01:00
Dean Herbert
36a30cf077
Add note about using hard links in the future
2024-09-06 16:01:47 +09:00
Dean Herbert
d3c66e2404
Add basic flow for mounting beatmaps for external editing
2024-07-10 18:29:51 +09:00
Dean Herbert
a3d239c11a
Remove unused method
2024-04-29 18:48:07 +08:00
Berkan Diler
6adf0ac01e
Use new LINQ Order() instead of OrderBy() when possible
2024-02-08 18:01:00 +01:00
Bartłomiej Dach
5ad962070c
Fix skin editor freezing game if opened during active gameplay
2023-10-27 14:34:30 +02:00
Bartłomiej Dach
0769d0f49f
Merge branch 'master' into fix-batch-import-score-missing-notifications
2023-09-27 17:06:47 +02:00
Dean Herbert
2481c0b64b
Don't show replay import "missing beatmap" notifications during stable import
...
Closes https://github.com/ppy/osu/issues/24926 .
2023-09-27 17:04:43 +09:00
Dean Herbert
d1d82d2b49
Improve notification display when score import fails
2023-09-26 15:00:56 +09:00
Susko3
f8537c1cbe
Delegate file deletion to ImportTask
to allow overriding it
2023-01-22 22:19:04 +01: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
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
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
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
390ff8b9da
Reduce the scope of realm transactions during import operations
2022-10-11 21:58:28 +09:00
Dan Balasescu
8cbd344330
Improve performance when cancelling import with debugger attached
2022-09-05 11:28:13 +09:00
Dean Herbert
c35da62224
Add flow for bypassing local cache lookups when refreshing beatmap metadata
2022-07-28 16:33:51 +09:00
Dean Herbert
8370ca9765
Add ImportAsUpdate
method to IModelImporter
to avoid otehr changes
2022-07-26 15:49:04 +09:00
Dean Herbert
8b6665cb5b
Ensure initial beatmap processing is done inside the import transaction
2022-07-11 02:51:54 +09:00
Dan Balasescu
0bc332e90b
Merge pull request #19029 from peppy/fix-skin-import-duplicate
...
Fix skins potentially being duplicated on batch import
2022-07-08 14:18:14 +09:00
Dean Herbert
c53dd4a703
Fix editor saving not updating BeatmapSetInfo
's hash
2022-07-08 02:33:14 +09:00
Dean Herbert
cf1da1dd18
Fix skins potentially being duplicated on batch import
...
Resolves https://github.com/ppy/osu/discussions/19024#discussioncomment-3099200
2022-07-07 22:39:07 +09:00
Dean Herbert
da61d0547f
Include archive name in import log output
2022-06-27 15:24:25 +09:00
Bartłomiej Dach
26c5b59f6d
Replace usages of string.To{Lower,Upper}()
2022-06-24 11:57:45 +02:00
Dean Herbert
e732c5a2d7
Add PostImport
method matching PreImport
2022-06-20 18:40:23 +09:00
Dean Herbert
45c5013f09
Remove default value of RealmArchiveModelImporter.HandledExtensions
...
Not used anywhere and probably not wanted ever.
2022-06-20 18:40:23 +09:00
Dean Herbert
dbae4c6f5a
PostImport
-> PresentImport
2022-06-20 18:36:29 +09:00
Dean Herbert
882e1c69e5
Move nested task back outside try-catch to avoid double-error
2022-06-20 15:36:44 +09:00
Dean Herbert
dd93c7359e
Update xmldoc for importFromArchive
method
2022-06-20 15:25:43 +09:00
Dean Herbert
92f1a2958c
Rename Import(TModel)
to ImportModel
to differentiate from other import methods
2022-06-20 15:18:07 +09:00
Dean Herbert
a6c8a832aa
Remove Import(ArchiveReader)
and redirect existing usages to Import(ImportTask)
2022-06-20 15:14:57 +09:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Dean Herbert
1f3e1b2d97
Combine BeatmapManager
and BeatmapModelManager
into one class
2022-06-16 18:07:04 +09:00
Dean Herbert
f23ddfe6cc
Move remaining realm classes out of Stores
namespace
2022-06-15 21:56:00 +09:00