Improve update procedure #3156
Labels
✨ Enhancement
Issues marked with this label indicate further enhancements to the program, such as new features.
🟢 Low priority
Issues marked with this label are actively being worked on if nothing serious is on the list.
🙏 Wishlist
Issues marked with this label are wishlisted. We'd like to make them happen but they're not crucial.
Checklist
Enhancement purpose
Current update procedure is vastly inefficient on top of being actually risky in terms of files corruption - we move everything out of the picture to
_old
directory, then we extract new files in current place. This is just horrible, we need to load whole archive into memory to even ensure it's possible, on top of the fact that if user kills the process during update, everything breaks.Solution
Extract files to
_new
directory or similar. Kill it among_old
during restart to keep it clean. If user kills process during extraction, no harm done, we'll try again next time. We still risk corruption during short window between moving current files to_old
and_new
to current, but this is much less likely considering it's mostly just metadata changes without moving data physically on the disk.Why currently available solutions are not sufficient?
Current update procedure was written when Archi barely knew how to code, it works, but if you asked me if I'm proud of it, you wouldn't get the answer you expected.
Can you help us with this enhancement idea?
Yes, I can code the solution myself and send a pull request
Additional info
No response
The text was updated successfully, but these errors were encountered: