limo-app / limo

A simple Qt based mod manager
GNU General Public License v3.0
122 stars 3 forks source link

Fomod installer fails quietly #12

Closed phen0mX closed 2 months ago

phen0mX commented 3 months ago

Trying to install this fomod. "Succeeds" and leaves a clean log:

2024-08-25 19:36:55 [Info]: Downloading "Consistent Weapon Mod Descriptions-85957-1-6-1718210638.zip" with size: 30.49KiB... 2024-08-25 19:36:55 [Info]: Download complete 2024-08-25 19:36:55 [Info]: Importing mod '/var/mnt/crucial/Mods/New Vegas/_download/Consistent Weapon Mod Descriptions-85957-1-6-1718210638.zip' 2024-08-25 19:36:55 [Info]: Mod imported

But the mod stays uninstalled and further mod installation is completely blocked. This includes drag&drop and nxm links. Only restarting Limo can resolve the blockage.

Also the context menu is completely greyed out, except for "Browse Files": Bildschirmfoto vom 2024-08-25 19-57-57

limo-app commented 3 months ago

Can reproduce. This is both a bug with Limo and possibly with the mod itself. The FOMOD dialog did not find any files to install, so the installation was aborted. The fact that this is currently silent is a bug, which i have fixed. However, the underlying issue is that the ModuleConfig.xml file for that mod seems to be malformed. There is a checkbox Remove Stat Values in the dialog that sets a flag if checked. If you check that the mod is installed correctly. If not, your issue occurs. This is because the mods fomod file differentiates two cases: If the flag is set to Active: Install file A, if the flag is set to an empty string: Install file B. But if you don't check the checkbox, this flag does not exist at all.

The fomod spec does not define default values for flags, so they should not be expected to be an empty string. That being said, i could technically fix this by assuming flags set to empty strings are not set. This depends on how most mod authors would understand this to work.

phen0mX commented 3 months ago

Maybe apply the workaround, so users are able to use malformed fomods. But pop a warning to warn the user and maybe the mod author that this fomod shows potentially undefined/incorrect behaviour?

limo-app commented 3 months ago

I suppose assuming that an unset flag contains an empty string is reasonable and i will add the warning you mentioned. FOMOD can be a hassle to get correct, since the spec leaves so many things undefined and as a result i have found that a lot of mod authors make small mistakes that have to be accommodated somehow without breaking things for authors that follow the standard.

phen0mX commented 3 months ago

Exiting out of a fomod installation (the one from my other issue, coincidently) also leads to the blocked UI described in this issue.

limo-app commented 3 months ago

Exiting out of a fomod installation (the one from my other issue, coincidently) also leads to the blocked UI described in this issue.

Good catch. These are essentially the same bug and i will push a fix later today.

limo-app commented 3 months ago

Both of these should be fixed in 1d7129d.

limo-app commented 2 months ago

The fixes are now live as part of 1.0.5 on Flathub. Closing