Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Collections] - installer options of mods with changed fomod structures not published correctly #15703

Open
IDCs opened this issue May 16, 2024 · 1 comment
Labels

Comments

@IDCs
Copy link
Contributor

IDCs commented May 16, 2024

Describe the bug
Our workshop collection memoization functionality is currently exporting incorrect patches/installer options/file lists when a curator publishes a collection - this is a long standing bug which has remained undetected pre-1.11.x as the installation options is a new feature of 1.11.x.

This can only happen when updating and publishing the collection within the same Vortex session.

To Reproduce

  1. User1 creates a fomod with a specific structure and uploads it to the site.
  2. Curator uploads a collection and adds the fomod.
  3. User2 downloads the collection - everything works fine.
  4. User1 changes the fomod structure significantly (i.e. some installer steps become optional or removed entirely) and uploads his update to the site.
  5. Curator downloads the update and uploads a new revision of his collection. Due to memoization functionality in the collections extension, the same fomod options as in the first version of the mod are uploaded as part of the collection instead of the newer generated options.
  6. User2 updates to the new revision of the collection, the install manager attempts to install the mod but will only generate instructions based on the new fomod's structure, ommitting installer options that are not present in the new fomod.
  7. User2 now has a correct installation of the mod which should work fine depending on the new fomod structure, but our installer option comparisons will fail (although the mod is installed correctly)

Expected behavior

Publishing a new revision should ensure we do not publish incorrect metadata as part of the collection.

Screenshots

"choices": {
        "type": "fomod",
        "options": [
          {
            "name": "Install Type",
            "groups": [
              {
                "name": "Options",
                "choices": [
                  {
                    "name": "No Basic Marker", // <---- Selecting this option will not display the "Marker Accessibility" installer step.
                    "idx": 2
                  }
                ]
              }
            ]
          },
          {
            "name": "Marker Accessibility", // <-------- This should not be here.
            "groups": [
              {
                "name": "Marker Options",
                "choices": [
                  {
                    "name": "Bright White",
                    "idx": 0
                  }
                ]
              }
            ]
          },
          {
            "name": "Thank you for installing",
            "groups": [
              {
                "name": "Thank you",
                "choices": [
                  {
                    "name": "please make sure you have the right requirements!",
                    "idx": 0
                  }
                ]
              }
            ]
          }
        ]
      },

Temporary Workaround for curators

  1. Remove the mod from the collection.
  2. Uninstall the affected mod completely (DO NOT use the re-install functionality as that forwards the installer options)
  3. Install the mod, selecting the wanted options.
  4. Close Vortex
  5. Start Vortex and add the mod to the collection.
  6. Publish a new revision.

Users
The mods that are part of the collection are still installed correctly even though the collection UI is stating that the collection is incomplete - ignore the collection UI and verify the mod installations within the mods page instead.

@IDCs IDCs added the bug 🐛 label May 16, 2024
IDCs added a commit that referenced this issue May 16, 2024
insomnious pushed a commit that referenced this issue May 16, 2024
* improved installer options comparison functionality

part of #15703

* improved patches comparison
insomnious pushed a commit that referenced this issue May 16, 2024
* improved installer options comparison functionality

part of #15703

* improved patches comparison
@insomnious
Copy link
Contributor

To clarify - this fix doesn't change the necessity to check backwards compatibility of curated mods and set the correct 'version' property in the collection.

For example: MyMod version 1 isn't backwards compatible with version 2 as FOMOD installer options were removed. When the collection is curated, the version latest can't be used as the installer options set for v1 won't work on v2. In this case you'd need to use exact so that v1 is always downloaded. If v2 is needed for the collection to work, then v2 will need to be specifically downloaded by the curator and installer options set accordingly before publishing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants