PrismLauncher/launcher/modplatform
flow d2fdbec41d
fix: move file deletion to the end of the instance update
This makes it harder for problems in the updating process to affect the
current instance. Network issues, for instance, will no longer put the
instance in an invalid state.

Still, a possible improvement to this would be passing that logic to
InstanceStaging instead, to be handled with the instance commiting
directly. However, as it is now, the code would become very spaguetti-y,
and given that the override operation in the commiting could also put
the instance into an invalid state, it seems to me that, in order to
fully error-proof this, we would need to do a copy operation on the
whole instance, in order to modify the copy, and only in the end
override everything an once with a rename. That also has the possibility
of corrupting the instance if done without super care, however, so I
think we may need to instead create an automatic backup system, with an
undo command of sorts, or something like that. This doesn't seem very
trivial though, so it'll probably need to wait until another PR. In the
meantime, the user is advised to always backup their instances before
doing this kind of action, as always.

What a long commit message o.O

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20 18:36:09 -03:00
..
atlauncher fix: simplify abort handling and add missing emits 2022-09-20 18:36:09 -03:00
flame fix: move file deletion to the end of the instance update 2022-09-20 18:36:09 -03:00
helpers feat: add override helper functions 2022-09-20 18:36:08 -03:00
legacy_ftb fix: simplify abort handling and add missing emits 2022-09-20 18:36:09 -03:00
modpacksch fix: simplify abort handling and add missing emits 2022-09-20 18:36:09 -03:00
modrinth fix: move file deletion to the end of the instance update 2022-09-20 18:36:09 -03:00
packwiz refactor: restructure tests 2022-09-11 22:29:01 +02:00
technic fix: simplify abort handling and add missing emits 2022-09-20 18:36:09 -03:00
CheckUpdateTask.h fix: std::list -> QList 2022-07-17 11:33:45 -03:00
EnsureMetadataTask.cpp fix: Mod type enum -> Resource type enum 2022-08-28 14:47:52 -03:00
EnsureMetadataTask.h fix: add some more nullptr checks / protection 2022-08-05 15:10:44 -03:00
ModAPI.h refactor: use function cb instead of class cb in getVersions 2022-08-01 07:33:30 -03:00
ModIndex.cpp refactor: use QIODevice instead of a whole QByteArray for hash calc. 2022-07-24 17:46:53 -03:00
ModIndex.h Merge pull request #939 from flowln/mod_downloader_improve 2022-09-07 08:27:11 -03:00