ogri-la / strongbox

a World of Warcraft Addon Manager aimed at Linux players
GNU Affero General Public License v3.0
169 stars 7 forks source link

Importing addons directly from Github is not always working #436

Closed torkus closed 2 months ago

torkus commented 2 months ago

It was demonstrated in this ticket that some Github addons are not being correctly detected and installed.

torkus commented 2 months ago

ok, a quick explanation while I'm still lucid:

  1. github api logic was added when classic was brand new
  2. there was no release.json, no naming conventions, lots of guessing
  3. in cases where there is no release.json or hints from the catalogue we still have to do some guessing

one guess/heuristic was to classify a single unclassified addon if there was a single unused game track (game flavour, retail/classic/tbc/wotlk/etc) leftover.

I've extended this logic to say, if there is a single unclassified addon and if there are multiple unused game tracks, and 'retail' is among these unused game tracks, use retail. The addon supports some classic game tracks but not all.

That will handle cases like this: Screenshot at 2024-09-01 18-58-41

where there is a retail, tbc, wrath and classic but no cata and the 'retail' asset doesn't have an explicit 'retail' or 'mainline' in it's name.

The above addon will work if the 'strict' flag is unchecked but the new logic should mop up a bunch of cases to make that not necessary: Screenshot at 2024-09-01 19-01-42

after my work porting the github catalogue and peeking into remote zip files I think this logic could be improved still further but I think I'll push that back into major version 8.

edit: fyi @jake770321

torkus commented 2 months ago

This change was released as part of Strongbox 7.5.0.

If you feel this feature could be improved on or is buggy, please open a new ticket. Thanks again!