Repository navigation
load the plugins into libloot before every sort - #24196
Merged
Merged
Conversation
The sort refreshes the load-order state, holds the game's main master headers-only and fully loads every other plugin it is asked to sort, as the LOOT application does before each of its sorts. The lootSortAsync api no longer runs plugin-details first. ADR 0001 records the decision. fixes LAZ-1141
erri120
reviewed
Sep 15, 2026
Member
There was a problem hiding this comment.
Do we really need this? ADRs are usually for major decisions, things like "what coding language to use" less "why I changed this one method". I don't think this is the right place for the doc, maybe attached to the relevant tickets but not checked into source.
Member
There was a problem hiding this comment.
Counter point - this is an important change that extension developers might be interested in. Easier to have a doc than to search the code changes
Contributor
Author
There was a problem hiding this comment.
I attached the ADR to the linear ticket so we can reference it when needed. Git history will also hold the doc so it's still viewable by the public.
The record moves to LAZ-1141.
IDCs
added this pull request to stack #24207
September 16, 2026 09:26
erri120
approved these changes
Sep 17, 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.
Every plugin sort now runs libloot's pre-sort sequence itself, as the LOOT application does: refresh the load-order state, hold the game's main master headers-only, fully load every other plugin being sorted, then
SortPlugins. Sorts no longer depend on aplugin-detailspass having run first, so the Sort Now button, the ESL conversion, the health-test sort, the cycle-recovery re-sort, the VR extensions' own sorts and the sort deferred behind a deployment all stop failing with "Plugin not loaded". ThelootSortAsyncAPI drops its plugin-details pass. ADR 0001 records the decision and its costs.fixes LAZ-1141