Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v2.13.4 #1180

Merged
merged 34 commits into from
Mar 8, 2025
Merged

v2.13.4 #1180

merged 34 commits into from
Mar 8, 2025

Conversation

mohnjiles
Copy link
Contributor

Added

  • Added support for RTX 5000-series GPUs in ComfyUI, Forge, and reForge
  • Added "Rebuild .NET Project" command to SwarmUI installs - available via the 3-dots menu -> Package Commands -> Rebuild .NET Project

Changed

  • Upgraded ComfyUI CUDA torch to 12.6
  • Upgraded Lykos account connection to use OAuth 2.0 device flow
  • (Internal) Updated Avalonia to 11.2.5

Fixed

Supporters

Visionaries

  • Huge thanks to our amazing Visionary-tier Patrons, Waterclouds and Corey T! We're truly grateful for your continued generosity and support!

Pioneers

  • Special appreciation to our fantastic Pioneer-tier Patrons: tankfox, Mr. Unknown, Szir777, Tigon, NowFallenAngel, and our newest addition, Al Gorithm! Thank you all for your incredible commitment and ongoing encouragement!

mohnjiles and others added 30 commits February 4, 2025 02:51
Fix models with same name overwriting each other on download & update…

(cherry picked from commit 894c1abec99c2b655916d8143d0d0b36e8c534d9)

# Conflicts:
#	CHANGELOG.md
#	StabilityMatrix.Avalonia/Services/ModelImportService.cs
[dev to main] backport: Fix models with same name overwriting each other on download & update… (980)
…ions

fix install location path combining

(cherry picked from commit c4c5a7dece163fb06d73fd9fcc576643fe647ece)

# Conflicts:
#	CHANGELOG.md
[dev to main] backport: fix install location path combining (982)
Add blackwell torch/vision versions for comfyUI & fix unet path for l…

(cherry picked from commit ef90eb2f8e2ddfda32b9047d71a8cbca870349c1)

# Conflicts:
#	CHANGELOG.md
[dev to main] backport: Add blackwell torch/vision versions for comfyUI & fix unet path for l… (984)
Fix crash when symlink target doesn't exist & fix width of package names

(cherry picked from commit b6c731e1413d204c54a87ff1de1cfda516209573)
[dev to main] backport: Fix crash when symlink target doesn't exist & fix width of package names (986)
(cherry picked from commit ebfff1b1cc8438669b04a84781997428de2c36fd)

# Conflicts:
#	StabilityMatrix.Avalonia/Languages/Resources.ja-JP.resx
#	StabilityMatrix.Avalonia/Languages/Resources.pt-BR.resx
#	StabilityMatrix.Avalonia/Languages/Resources.resx
#	StabilityMatrix.Avalonia/Languages/Resources.zh-Hans.resx
[dev to main] backport: Openid accounts support (979)
Fix Patreon OAuth disconnect 401 error due to using V1 api

(cherry picked from commit 3dbab8296be6a11c4a71d9b789bc1f166d72e98c)
update to avalonia 11.2.5 and some packages fixes n stuff

(cherry picked from commit 17f068b39741dd97145f2ecef4c16cee6967fe4b)

# Conflicts:
#	CHANGELOG.md
#	StabilityMatrix.Core/Models/Packages/SDWebForge.cs
[dev to main] backport: Fix Patreon OAuth disconnect 401 error due to using V1 api (992)
Use cu128 nightly torch index instead of w-e-w wheels

(cherry picked from commit 7ab289c8c8875aa5a69b2264d42b6d7eab01934b)

# Conflicts:
#	StabilityMatrix.Core/Models/Packages/SDWebForge.cs
[dev to main] backport: update to avalonia 11.2.5 and some packages fixes n stuff (993)
[dev to main] backport: Use cu128 nightly torch index instead of w-e-w wheels (996)
Fix borked autoupdate

(cherry picked from commit dbb24d0d78111f5a6ce90fbf6214e5c45ef33c6a)
Copy link

@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.

Hello @mohnjiles, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

Summary of Changes

This pull request updates Stability Matrix to version 2.13.4. It includes several additions, changes, and fixes, primarily focusing on improving GPU support, upgrading dependencies, and resolving user-reported issues. The update also includes updates to the Lykos account connection, upgrading it to use OAuth 2.0 device flow.

Highlights

  • GPU Support: Adds support for RTX 5000-series GPUs in ComfyUI, Forge, and reForge.
  • Lykos Account Upgrade: Upgrades the Lykos account connection to use OAuth 2.0 device flow for enhanced security and a streamlined experience.
  • Dependency Updates: Upgrades ComfyUI CUDA torch to 12.6 and Avalonia to 11.2.5 (internal).
  • Bug Fixes: Addresses several issues, including model overwriting, ROCm torch indexes, incorrect model browser behavior, and crashes due to broken symlinks.
  • SwarmUI Enhancements: Adds a "Rebuild .NET Project" command to SwarmUI installs and fixes issues related to Python options and Zluda recognition.

Changelog

Click here to see the changelog
  • .config/dotnet-tools.json
    • Adds 'refitter' as a dotnet tool.
  • .husky/task-runner.json
    • Adds a task to run 'refitter' for LykosAuthApi during pre-commit.
  • CHANGELOG.md
    • Adds changelog entries for v2.13.4, including added features, changes, and bug fixes.
    • Mentions supporters in Visionaries and Pioneers tiers.
  • CONTRIBUTING.md
    • Adds instructions for building the project, including running/debugging, building single-file releases for Windows, macOS, and Linux.
    • Adds instructions for installing Husky.Net and pre-commit hooks, and for regenerating OpenApi clients using Refitter.
    • Minor edits to style guidelines.
  • Directory.Build.props
    • Updates AvaloniaVersion to 11.2.5.
  • Directory.Packages.props
    • Adds OpenIddict.Client and OpenIddict.Client.SystemNetHttp package versions.
    • Minor formatting change.
  • StabilityMatrix.Avalonia/App.axaml.cs
    • Adds support for OAuth 2.0 device flow using OpenIddict.
    • Adds new API clients (ILykosAuthApiV1 and ILykosAuthApiV2) and configures them with retry policies and token authentication.
    • Adds conditional compilation for LykosAccountApiBaseUrl in debug mode.
    • Adds OAuthDeviceAuthViewModel to DesignData.
    • Adds OAuth login to main window.
  • StabilityMatrix.Avalonia/Assets/brands-lykos-oauth-icon.svg
    • Adds a new SVG icon for Lykos OAuth.
  • StabilityMatrix.Avalonia/DesignData/DesignData.cs
    • Adds DesignData for OAuthDeviceAuthViewModel.
  • StabilityMatrix.Avalonia/Helpers/ClipboardCommands.cs
    • Adds a helper class for clipboard commands.
  • StabilityMatrix.Avalonia/Languages/Resources.*.resx
    • Updates translations for new resource strings.
  • StabilityMatrix.Avalonia/Languages/Resources.Designer.cs
    • Adds new resource strings for OAuth, Lykos account upgrade notice, and other UI elements.
    • Adds 'Go to Settings' action.
  • StabilityMatrix.Avalonia/Services/AccountsService.cs
    • Implements Lykos account login and logout using OAuth 2.0 device flow.
    • Adds methods for managing Lykos account tokens and refreshing access tokens.
    • Updates the RefreshLykosAsync method to handle ClaimsPrincipal and display name.
    • Removes old Lykos Auth API calls.
  • StabilityMatrix.Avalonia/Services/IAccountsService.cs
    • Adds methods for Lykos account login and logout using OAuth 2.0 device flow.
    • Marks old Lykos Auth API calls as obsolete.
  • StabilityMatrix.Avalonia/Services/ModelImportService.cs
    • Fixes model overwriting issue by generating unique file names during import.
  • StabilityMatrix.Avalonia/ViewModels/CheckpointsPageViewModel.cs
    • Fixes crash when broken symlinks exist in model directories.
  • StabilityMatrix.Avalonia/ViewModels/Dialogs/InferenceConnectionHelpViewModel.cs
    • Fixes ComfyUI-Zluda not being recognized as an option for Inference.
  • StabilityMatrix.Avalonia/ViewModels/Dialogs/OAuthConnectViewModel.cs
    • Fixes OAuth connection failed dialog not showing.
  • StabilityMatrix.Avalonia/ViewModels/Dialogs/OAuthDeviceAuthViewModel.cs
    • Adds a new ViewModel for OAuth Device Authentication.
  • StabilityMatrix.Avalonia/ViewModels/Dialogs/OAuthGoogleLoginViewModel.cs
    • Adds IconUri property for Google OAuth icon.
  • StabilityMatrix.Avalonia/ViewModels/Dialogs/OAuthLoginViewModel.cs
    • Adds IconUri property and GeneratePkceSha256ChallengePair method.
  • StabilityMatrix.Avalonia/ViewModels/Dialogs/RecommendedModelsViewModel.cs
    • Updates ILykosAuthApi to ILykosAuthApiV1.
  • StabilityMatrix.Avalonia/ViewModels/Dialogs/SelectModelVersionViewModel.cs
    • Fixes model browser sometimes downloading to ModelsLora or ModelsStableDiffusion folders instead of the correct folder.
    • Fixes incorrect Unet folder path for ComfyUI users on Linux/macOS.
  • StabilityMatrix.Avalonia/ViewModels/MainWindowViewModel.cs
    • Adds account migration notice and logic to navigate to settings.
    • Updates Lykos account status check.
  • StabilityMatrix.Avalonia/ViewModels/PackageManager/PackageCardViewModel.cs
    • Adds UsesVenv and ExtraCommands properties.
    • Fixes PackageCardViewModel not showing extra commands.
  • StabilityMatrix.Avalonia/ViewModels/Settings/AccountSettingsViewModel.cs
    • Implements Lykos account connection using OAuth 2.0 device flow.
    • Updates ILykosAuthApi to ILykosAuthApiV2.
    • Adds LykosAccountManageUrl property.
    • Updates Lykos account status check.
  • StabilityMatrix.Avalonia/ViewModels/Settings/UpdateSettingsViewModel.cs
    • Updates Lykos account status check.
  • StabilityMatrix.Avalonia/Views/Dialogs/OAuthDeviceAuthDialog.axaml
    • Adds a new View for OAuth Device Authentication.
  • StabilityMatrix.Avalonia/Views/Dialogs/OAuthDeviceAuthDialog.axaml.cs
    • Adds a new View for OAuth Device Authentication.
  • StabilityMatrix.Avalonia/Views/Dialogs/OAuthLoginDialog.axaml
    • Adds IconUri binding.
  • StabilityMatrix.Avalonia/Views/PackageManager/MainPackageManagerView.axaml
    • Fixes SwarmUI showing Python options in the 3-dots menu.
    • Adds Package Commands menu item.
  • StabilityMatrix.Avalonia/Views/Settings/AccountSettingsPage.axaml
    • Updates UI for Lykos account connection using OAuth 2.0 device flow.
  • StabilityMatrix.Core/Api/ILykosAuthApiV1.cs
    • Marks ILykosAuthApi as obsolete and renames it to ILykosAuthApiV1.
  • StabilityMatrix.Core/Api/LykosAuthApi/.refitter
    • Adds refitter configuration file for LykosAuthApiV2.
  • StabilityMatrix.Core/Api/LykosAuthApi/Generated/Refitter.g.cs
    • Adds generated code for ILykosAuthApiV2.
  • StabilityMatrix.Core/Api/LykosAuthTokenProvider.cs
    • Updates LykosAuthTokenProvider to use OAuth 2.0 device flow.
    • Updates ILykosAuthApi to ILykosAuthApiV2.
  • StabilityMatrix.Core/Api/OpenIdClientConstants.cs
    • Adds OpenIdClientConstants for Lykos Account.
  • StabilityMatrix.Core/Api/TokenAuthHeaderHandler.cs
    • Adds RequestFilter and ResponseFilter properties.
  • StabilityMatrix.Core/Helper/HardwareInfo/GpuInfo.cs
    • Adds IsBlackwellGpu method.
  • StabilityMatrix.Core/Helper/HardwareInfo/HardwareHelper.cs
    • Adds HasBlackwellGpu method.
  • StabilityMatrix.Core/Models/Api/Lykos/LykosAccountStatusUpdateEventArgs.cs
    • Adds Principal, Id, DisplayName, and Email properties.
  • StabilityMatrix.Core/Models/Api/Lykos/LykosAccountTokens.cs
    • Marks LykosAccountTokens as obsolete.
  • StabilityMatrix.Core/Models/Api/Lykos/LykosAccountV1Tokens.cs
    • Adds LykosAccountV1Tokens record.
  • StabilityMatrix.Core/Models/Api/Lykos/LykosAccountV2Tokens.cs
    • Adds LykosAccountV2Tokens record.
  • StabilityMatrix.Core/Models/ExtraPackageCommand.cs
    • Adds ExtraPackageCommand class.
  • StabilityMatrix.Core/Models/Packages/BasePackage.cs
    • Adds UsesVenv and GetExtraCommands properties.
  • StabilityMatrix.Core/Models/Packages/ComfyUI.cs
    • Upgrades ComfyUI CUDA torch to 12.6.
    • Adds support for RTX 5000-series GPUs in ComfyUI, Forge, and reForge.
    • Adds Blackwell GPU support.
  • StabilityMatrix.Core/Models/Packages/FluxGym.cs
    • Updates sd-scripts git pull.
  • StabilityMatrix.Core/Models/Packages/SDWebForge.cs
    • Adds Blackwell GPU support.
  • StabilityMatrix.Core/Models/Packages/StableSwarm.cs
    • Adds a "Rebuild .NET Project" command to SwarmUI installs.
    • Fixes ComfyUI-Zluda not being recognized as an option for SwarmUI.
    • Sets UsesVenv to false.
    • Adds support for ComfyUI-Zluda.
  • StabilityMatrix.Core/Models/Secrets.cs
    • Adds LykosAccountV2 property and HasLegacyLykosAccount method.
  • StabilityMatrix.Core/Models/Settings/TeachingTip.cs
    • Adds LykosAccountMigrateTip.
  • StabilityMatrix.Core/StabilityMatrix.Core.csproj
    • Adds OpenIddict.Client and OpenIddict.Client.SystemNetHttp package references.
  • StabilityMatrix.Core/Updater/UpdateHelper.cs
    • Updates ILykosAuthApi to ILykosAuthApiV2.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.


A new version arrives, the code takes flight,
With fixes and features, shining so bright.
OAuth's embrace, a secure delight,
Guiding Stability Matrix through day and night.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@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

The pull request includes several updates and fixes, including support for new GPUs, upgrades to CUDA torch and Lykos account connections, and various bug fixes. The changes seem well-organized and address the issues described in the pull request description.

Summary of Findings

  • Obsolete API Usage: The code still uses the obsolete ILykosAuthApi interface. It should be fully migrated to ILykosAuthApiV2 to ensure compatibility and take advantage of the new features.
  • Blackwell GPU Support: The addition of Blackwell GPU support is great, but the code could be simplified by extracting the Blackwell check into a reusable method.
  • Missing Zluda Check: The code checks for ComfyUI but not ComfyUI-Zluda in some places. It should check for both to ensure compatibility with Zluda.

Merge Readiness

The pull request is almost ready for merging. However, the use of the obsolete ILykosAuthApi should be addressed before merging. The other comments are suggestions for improvement and can be addressed in future iterations. I am unable to approve this pull request, and recommend that others review and approve this code before merging.

var isBlackwell =
SettingsManager.Settings.PreferredGpu?.IsBlackwellGpu() ?? HardwareHelper.HasBlackwellGpu();

if (isBlackwell && torchVersion is TorchIndex.Cuda)

Choose a reason for hiding this comment

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

medium

Consider extracting this Blackwell GPU check into a reusable method to avoid repetition.

        if (IsBlackwellGpu(SettingsManager.Settings.PreferredGpu) && torchVersion is TorchIndex.Cuda)

@mohnjiles mohnjiles merged commit e359545 into LykosAI:main Mar 8, 2025
3 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Mar 8, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
2 participants