Skip to content

v2.15.8#1642

Merged
mohnjiles merged 16 commits into
mainfrom
main
May 17, 2026
Merged

v2.15.8#1642
mohnjiles merged 16 commits into
mainfrom
main

Conversation

@mohnjiles
Copy link
Copy Markdown
Contributor

Added

  • Added support for the civitai.red (mature-content) domain — NSFW CivitAI links now open and copy as civitai.red URLs, and pasting a civitai.red URL into the CivitAI model browser search works the same as a civitai.com URL

Changed

  • The CivitAI base model type filter now uses CivitAI's official /api/v1/enums endpoint, with fallbacks to the previous technique and a built-in list, so the filter stays populated even if the CivitAI response format changes or the service is unreachable

Fixed

  • Fixed #1608 - Crash when cdn fetch fails due to error notification not being shown on UI Thread - thanks to @NeuralFault!
  • Fixed CivitAI model browsing breaking during Discovery API outages — the browser now falls back to the direct CivitAI API when Discovery returns a server error, authentication failure, or times out
  • Fixed SwarmUI user settings (theme, output format, server configuration, etc.) and any user-added backend entries being overwritten when the install flow ran over an existing install — Settings.fds and Backends.fds are now merged with their existing contents instead of being rewritten from a stale template
  • Fixed pip requirements handling for environment-marker dependencies - thanks to @NeuralFault!
  • Fixed ComfyUI-Zluda inheriting --enable-manager from the base ComfyUI launch options, which blocked the bundled custom-node manager from initializing - thanks to @NeuralFault!

Supporters

🌟 Visionaries

Heaps of gratitude to our Visionaries — Waterclouds, bluepopsicle, Ibixat, Droolguy, snotty, LG, and whudunit — for sticking with us release after release. Your encouragement, your patience while we chase down those last bugs, and the sheer fact of you being here keeps us showing up at the keyboard. We're so glad you're part of this little corner of the internet with us. And big warm welcomes again to our newest Visionaries MrMxyzptlk12836, Psilocyfer18731, KalAbaddon, RustCupcake, and moon_milky2843 — make yourselves at home, you're among friends! 💛

🚀 Pioneers

And the Pioneer crew — what a lineup. A massive thank-you to Szir777, [USA]TechDude, takyamtom, SinthCore, Commissar Lord Death, Ahmed S, SeraphOfSalem, and Jisuren — your steady presence, kind words, and patience as we've shifted things around mean more than you know. A heartfelt welcome back to Tigon, who's returned to the Pioneer ranks after a little time away — so glad you're back. 🎉 And a special hello to jweg79, who's been quietly supporting us for a while and just decided to step up and join the Pioneer crew this round — so happy to have you here. To our newest Pioneers, an enormous welcome: rwx14662, Hurbie53, ahnhj.al, drew.lukas, Firelight, joeto332987, Tuskaruho, Cjloha, Alligator1907, Bitti, damianpointdexter, and tmdcks! We're absolutely thrilled to have you with us. (And to our anonymous Pioneer out there too, our thanks reaches you — we see you. 💛)

mohnjiles and others added 16 commits April 19, 2026 20:23
…nd-swarm-settings

Improve CivitAI browser resilience and stop overwriting SwarmUI user settings

(cherry picked from commit 3a9a8a307737bf43250deb2906cdfe49de98e528)

# Conflicts:
#	CHANGELOG.md
[dev to main] backport: Improve CivitAI browser resilience and stop overwriting SwarmUI user settings (1239)
…Matrix-Dev-main-to-main-cebec16

Merge LykosAI/StabilityMatrix-Dev/main into main
shoutout chagenlog

(cherry picked from commit 5d4b4682a1fc2f2ec8008dc26e561e27a06fe1b2)

# Conflicts:
#	CHANGELOG.md
merge conflict fix
[dev to main] backport: shoutout chagenlog (1246)
Fixed ComfyUI-Zluda not inheriting --enable-manager from the base ComfyUI launch options…

(cherry picked from commit 343ade45ea75f64238646baaee9597a007b837d1)

# Conflicts:
#	CHANGELOG.md
fix chagenlog
[dev to main] backport: Fixed ComfyUI-Zluda not inheriting --enable-manager from the base ComfyUI launch options… (1248)
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces support for the civitai.red domain and enhances the reliability of CivitAI model browsing by implementing API fallbacks and a multi-tiered base model type filtering system. It also resolves an issue where SwarmUI settings were overwritten during re-installation by merging configuration files instead of replacing them. Feedback from the review points out a duplicate entry in the changelog and suggests a performance optimization for string conversions within the model normalization logic.

Comment thread CHANGELOG.md
- Fixed CivitAI model browsing breaking during Discovery API outages — the browser now falls back to the direct CivitAI API when Discovery returns a server error, authentication failure, or times out
- Fixed SwarmUI user settings (theme, output format, server configuration, etc.) and any user-added backend entries being overwritten when the install flow ran over an existing install — `Settings.fds` and `Backends.fds` are now merged with their existing contents instead of being rewritten from a stale template
- Fixed pip requirements handling for environment-marker dependencies - thanks to @NeuralFault!
- Fixed [#1608](https://github.com/LykosAI/StabilityMatrix/issues/1608) - Crash when cdn fetch fails due to error notification not being shown on UI Thread - thanks to @NeuralFault!
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This entry for issue #1608 is a duplicate of the one on line 14. Please remove it.

Comment on lines +195 to +217
private static List<string> NormalizeBaseModelTypes(
IEnumerable<string>? baseModels,
bool includeAllOption
)
{
var normalized = (baseModels ?? [])
.Where(s => !string.IsNullOrWhiteSpace(s))
.Where(s => !s.Equals("odor", StringComparison.OrdinalIgnoreCase))
.Distinct(StringComparer.OrdinalIgnoreCase)
.OrderBy(s => s)
.ToList();

normalized.RemoveAll(s =>
s.Equals(CivitBaseModelType.All.ToString(), StringComparison.OrdinalIgnoreCase)
);

if (includeAllOption)
{
normalized.Insert(0, CivitBaseModelType.All.ToString());
}

return normalized;
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

CivitBaseModelType.All.ToString() is called multiple times, including inside a RemoveAll predicate. It is more efficient to evaluate this once and store it in a local variable.

    private static List<string> NormalizeBaseModelTypes(
        IEnumerable<string>? baseModels,
        bool includeAllOption
    )
    {
        var allOptionString = CivitBaseModelType.All.ToString();
        var normalized = (baseModels ?? [])
            .Where(s => !string.IsNullOrWhiteSpace(s))
            .Where(s => !s.Equals("odor", StringComparison.OrdinalIgnoreCase))
            .Distinct(StringComparer.OrdinalIgnoreCase)
            .OrderBy(s => s)
            .ToList();

        normalized.RemoveAll(s =>
            s.Equals(allOptionString, StringComparison.OrdinalIgnoreCase)
        );

        if (includeAllOption)
        {
            normalized.Insert(0, allOptionString);
        }

        return normalized;
    }

@mohnjiles mohnjiles merged commit 9934870 into LykosAI:main May 17, 2026
3 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators May 17, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

App crashes silently on startup when internet is connected (System.InvalidOperationException: Call from invalid thread)

2 participants