Cards - Take migration info into consideration; Add "Used plugins/zipmods" #235
No reviewers
Labels
No labels
bug
dependencies
duplicate
enhancement
good first issue
help wanted
invalid
mod updater
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
IllusionMods/KKManager!235
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "mig"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Also improves card loading speed.
Pull Request Overview
This PR enhances card dependency tracking by adding support for zipmod GUID migration and introducing new properties to track all used plugins and zipmods (not just missing ones). The changes optimize the dependency checking logic by using HashSet-based lookups instead of repeated LINQ queries.
UsedPluginsandUsedZipmodsproperties to track all dependencies, not just missing onesReviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
@ -84,3 +94,4 @@CheckIfRequiredModsExist(card, allPlugins, allZipmods, existingPluginGuids, existingZipmodGuids);}catch (TargetInvocationException ex){The condition logic for checking MigrationType.StripAll is inconsistent with the code comment on line 86. The comment states 'No easy way to check StripAll so just assume the required zipmod is present', but the code includes StripAll without checking if the new GUID exists. Consider either: (1) removing the StripAll case from the condition to match the comment's intent, or (2) updating the comment to clarify that StripAll migrations are always included regardless of target GUID existence.
@ -84,3 +94,4 @@CheckIfRequiredModsExist(card, allPlugins, allZipmods, existingPluginGuids, existingZipmodGuids);}catch (TargetInvocationException ex){The migrated GUIDs query could enumerate MigrationList multiple times. Consider adding
.ToList()afterSelectMany(x => x.Manifest.MigrationList)to materialize the collection before filtering, or use a single pass with aforeachloop that directly adds toexistingZipmodGuids. This would prevent potential multiple enumerations if MigrationList properties return IEnumerable without caching.