sneedmc/launcher
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
..
icons chore: update license headers 2022-07-10 12:19:15 +02:00
java refactor: restructure tests 2022-09-11 22:29:01 +02:00
launch fix: actually substitute variables in pre/post launch 2022-07-23 17:51:58 +02:00
meta refactor: restructure tests 2022-09-11 22:29:01 +02:00
minecraft refactor: change the way instance names are handled 2022-09-20 18:36:08 -03:00
modplatform fix: move file deletion to the end of the instance update 2022-09-20 18:36:09 -03:00
mojang refactor: restructure tests 2022-09-11 22:29:01 +02:00
net fix: emit signals when aborting NetJob 2022-09-10 09:10:16 -03:00
news chore: update license headers 2022-07-10 12:19:15 +02:00
pathmatcher NOISSUE fix some small build issues 2021-11-03 15:45:42 +01:00
resources change cf icon to a more fancy one 2022-05-21 17:49:52 +02:00
screenshots chore: update license headers 2022-07-10 12:19:15 +02:00
settings refactor: restructure tests 2022-09-11 22:29:01 +02:00
tasks feat: add canAbort() status change in Task 2022-09-20 18:36:09 -03:00
tools Add OpenBSD support 2022-06-02 02:02:42 +10:00
translations chore: update license headers 2022-07-10 12:19:15 +02:00
ui fix(ui): hook up abort status signal in ProgressDialog 2022-09-20 18:36:09 -03:00
updater refactor: switch to new versioning scheme 2022-08-12 14:22:24 +02:00
Application.cpp Added Launch Demo button. 2022-09-15 18:44:18 -03:00
Application.h Added Launch Demo button. 2022-09-15 18:44:18 -03:00
ApplicationMessage.cpp chore: update license headers 2022-07-10 12:19:15 +02:00
ApplicationMessage.h NOISSUE Some happy little refactors 2021-11-20 16:22:22 +01:00
BaseInstaller.cpp NOISSUE Flatten gui and logic libraries into MultiMC 2021-07-25 19:50:44 +02:00
BaseInstaller.h NOISSUE Flatten gui and logic libraries into MultiMC 2021-07-25 19:50:44 +02:00
BaseInstance.cpp chore: add helper function for copying managed pack data between insts. 2022-09-20 18:32:36 -03:00
BaseInstance.h chore: add helper function for copying managed pack data between insts. 2022-09-20 18:32:36 -03:00
BaseVersion.h NOISSUE Flatten gui and logic libraries into MultiMC 2021-07-25 19:50:44 +02:00
BaseVersionList.cpp chore: update license headers 2022-07-10 12:19:15 +02:00
BaseVersionList.h NOISSUE more refactoring 2021-11-21 23:36:55 +01:00
CMakeLists.txt feat: add override helper functions 2022-09-20 18:36:08 -03:00
Commandline.cpp chore: update license headers 2022-07-10 12:19:15 +02:00
Commandline.h NOISSUE Flatten gui and logic libraries into MultiMC 2021-07-25 19:50:44 +02:00
DefaultVariable.h NOISSUE Flatten gui and logic libraries into MultiMC 2021-07-25 19:50:44 +02:00
DesktopServices.cpp Fix 2022-03-28 20:55:03 +02:00
DesktopServices.h NOISSUE Flatten gui and logic libraries into MultiMC 2021-07-25 19:50:44 +02:00
Exception.h NOISSUE Flatten gui and logic libraries into MultiMC 2021-07-25 19:50:44 +02:00
ExponentialSeries.h NOISSUE Flatten gui and logic libraries into MultiMC 2021-07-25 19:50:44 +02:00
FileSystem.cpp fix: use std::wstring for Windows filenames 2022-09-12 13:07:24 -03:00
FileSystem.h Trash instances instead of deleting (when possible) (#549) 2022-07-30 14:42:33 -03:00
Filter.cpp NOISSUE Flatten gui and logic libraries into MultiMC 2021-07-25 19:50:44 +02:00
Filter.h NOISSUE Flatten gui and logic libraries into MultiMC 2021-07-25 19:50:44 +02:00
GZip.cpp chore: update license headers 2022-07-10 12:19:15 +02:00
GZip.h NOISSUE Flatten gui and logic libraries into MultiMC 2021-07-25 19:50:44 +02:00
HoeDown.h NOISSUE Flatten gui and logic libraries into MultiMC 2021-07-25 19:50:44 +02:00
install_prereqs.cmake.in Restore the previously deleted line. 2021-12-12 16:45:18 +00:00
InstanceCopyTask.cpp refactor: change the way instance names are handled 2022-09-20 18:36:08 -03:00
InstanceCopyTask.h NOISSUE Flatten gui and logic libraries into MultiMC 2021-07-25 19:50:44 +02:00
InstanceCreationTask.cpp fix: move file deletion to the end of the instance update 2022-09-20 18:36:09 -03:00
InstanceCreationTask.h fix: move file deletion to the end of the instance update 2022-09-20 18:36:09 -03:00
InstanceImportTask.cpp feat(ui): improve info dialog before updating an instance 2022-09-20 18:36:09 -03:00
InstanceImportTask.h fix: hook up setAbortStatus in instance import tasks 2022-09-20 18:36:09 -03:00
InstanceList.cpp fix: some abort-related issues 2022-09-20 18:36:09 -03:00
InstanceList.h refactor: change the way instance names are handled 2022-09-20 18:36:08 -03:00
InstancePageProvider.h refactor: adapt rest of the codebase to the new resource model 2022-08-20 10:47:58 -03:00
InstanceTask.cpp refactor: change the way instance names are handled 2022-09-20 18:36:08 -03:00
InstanceTask.h refactor: change the way instance names are handled 2022-09-20 18:36:08 -03:00
JavaCommon.cpp fix: add missing full-stop to message 2022-07-16 21:26:23 +02:00
JavaCommon.h feat: resolve JARs dynamically 2022-07-03 17:31:01 +02:00
Json.cpp chore: update license headers 2022-07-10 12:19:15 +02:00
Json.h chore: update license headers 2022-07-10 12:19:15 +02:00
KonamiCode.cpp NOISSUE Flatten gui and logic libraries into MultiMC 2021-07-25 19:50:44 +02:00
KonamiCode.h NOISSUE Flatten gui and logic libraries into MultiMC 2021-07-25 19:50:44 +02:00
LaunchController.cpp fix: show 'demo' instead of 'offline' in log when in demo mode 2022-09-15 18:44:18 -03:00
LaunchController.h Added Launch Demo button. 2022-09-15 18:44:18 -03:00
Launcher.in refactor: filter values in environment variables 2022-07-19 18:07:58 +02:00
LoggedProcess.cpp Fix use of Qt 5.14 enum 2022-08-09 00:17:53 -05:00
LoggedProcess.h Use C locale codec for decoding 2022-08-13 10:39:05 -05:00
main.cpp chore: update license headers 2022-07-10 12:19:15 +02:00
MessageLevel.cpp NOISSUE continue debranding... 2021-10-21 00:47:53 +02:00
MessageLevel.h NOISSUE continue debranding... 2021-10-21 00:47:53 +02:00
MMCStrings.cpp NOISSUE Flatten gui and logic libraries into MultiMC 2021-07-25 19:50:44 +02:00
MMCStrings.h NOISSUE Flatten gui and logic libraries into MultiMC 2021-07-25 19:50:44 +02:00
MMCTime.cpp NOISSUE Add license headers to source files created by me 2021-12-18 00:14:25 +00:00
MMCTime.h NOISSUE Add license headers to source files created by me 2021-12-18 00:14:25 +00:00
MMCZip.cpp refactor: move general info from Mod to Resource 2022-08-20 10:41:59 -03:00
MMCZip.h refactor!: bump to C++17 and C17 2022-07-20 14:22:10 +02:00
ModDownloadTask.cpp change: mod metadata improvements 2022-07-17 11:33:43 -03:00
ModDownloadTask.h feat: remove existing mod when updating/redownloading it 2022-07-17 11:33:42 -03:00
NullInstance.h feat: lazy-load MinecraftInstance settings 2022-07-06 17:17:54 -03:00
ProblemProvider.h NOISSUE Flatten gui and logic libraries into MultiMC 2021-07-25 19:50:44 +02:00
QObjectPtr.h refactor: simplify smart pointers more 2022-08-05 11:38:46 -03:00
RecursiveFileSystemWatcher.cpp NOISSUE Flatten gui and logic libraries into MultiMC 2021-07-25 19:50:44 +02:00
RecursiveFileSystemWatcher.h NOISSUE Flatten gui and logic libraries into MultiMC 2021-07-25 19:50:44 +02:00
RWStorage.h NOISSUE Flatten gui and logic libraries into MultiMC 2021-07-25 19:50:44 +02:00
SeparatorPrefixTree.h NOISSUE Flatten gui and logic libraries into MultiMC 2021-07-25 19:50:44 +02:00
SkinUtils.cpp NOISSUE continue refactoring things to make tests pass 2021-11-21 23:21:12 +01:00
SkinUtils.h NOISSUE Flatten gui and logic libraries into MultiMC 2021-07-25 19:50:44 +02:00
UpdateController.cpp Add OpenBSD support 2022-06-02 02:02:42 +10:00
UpdateController.h NOISSUE Flatten gui and logic libraries into MultiMC 2021-07-25 19:50:44 +02:00
Usable.h NOISSUE Some happy little refactors 2021-11-20 16:22:22 +01:00
Version.cpp Changes required to support FreeBSD 2021-12-12 11:39:36 +00:00
Version.h chore: update license headers 2022-07-10 12:19:15 +02:00
VersionProxyModel.cpp chore: update license headers 2022-07-10 12:19:15 +02:00
VersionProxyModel.h NOISSUE Flatten gui and logic libraries into MultiMC 2021-07-25 19:50:44 +02:00
WatchLock.h NOISSUE Flatten gui and logic libraries into MultiMC 2021-07-25 19:50:44 +02:00