Open
Conversation
…reamline successor retrieval
… successor retrieval
Silarn
reviewed
May 1, 2026
Silarn
approved these changes
May 1, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refactor mod update check
Reworks
nxmUpdatesAvailablefor clarity, performance, and correctness, andfixes a long-standing bug in the install merge flag along the way.
Behavior changes
first, falling back to filename if not present.
updateAvailable()short-circuit now flags any obsolete status (OLD,REMOVED, ARCHIVED, ARCHIVED_HIDDEN), not just OLD/REMOVED.
downloadable inactive successor (skipping REMOVED) instead of falling
back to a separate mod-info call.
requestModInfofollow-up is now only triggered when the mod has noidentifiable installation file at all (manually-assigned mod_id).
setLastNexusUpdatenow fires for every mod processed.Bug fix
InstallationManager::doInstallhad a deadbool merge = falsethat wasnever wired to
result.merged(), causing every install (including mergeinstalls) to clear
installedFileson disk. Fixed.Internal changes
ModInfoRegular::m_InstalledFileIDsswitched fromstd::settostd::vectorso install order is preserved (most recent install last).Public
installedFiles()API still returnsstd::setfor to not break plugin API.ModInfoRegular::nexusFileId()accessor returns the file_id of themost recent install.
filesByIdandupdatesByOldIdhash indexes replacing nested linear scans.Update check behaviour: