Closed josiah-roberts closed 2 years ago
I took a look at this, the issue seems to be due to CompressTools attempting to maintain file ownership. To my knowledge, files like .zip don't have any owner or group associated with the files inside them. I'm going to guess that rust is attempting to set these files to 0/0 due to that.
Changing CompressTools to ignore the ownership of the files inside the zip seems to fix the issue. Honestly, it probably makes sense to do this anyways: there's really no reason to preserve the ownership of anything inside the archive when we'd want to have them owned by our user anyways. I'll make a branch and put in a PR.
Okay, as I noted in the PR, it seems that the error which occurs when using the web browser is actually different from the one when extracting the archive. The web browser experiences an issue well before the archive extraction does. https://github.com/atlanticaccent/starsector-mod-manager-rust/pull/159 will fix the archive extraction.
The web browser error, when trying to install nexerelin, is as follows:
Navigation: https://fractalsoftworks.com/forum/index.php?topic=9175.0
Client answered: Download("https://github.com/Histidine91/Nexerelin/releases/download/v0.10.4d/Nexerelin_0.10.4d.zip")
Navigation: https://fractalsoftworks.com/forum/index.php?topic=9175.0
thread 'tokio-runtime-worker' panicked at 'Persist download: PersistError { error: Os { code: 18, kind: CrossesDevices, message: "Invalid cross-device link" }, file: NamedTempFile("/tmp/.tmp3sbLmg") }', src/app.rs:881:47
It may be worth making this ticket specifically about the archive issue and creating a new one for the web browser problem.
Right-clicked the zip -> "download file" Confirmed that I want to install
Edit: appears to happen for all mods.