Browse Source

Updated torch version for A1111, fixed vlad update maybe, updated Fooocus launch args, and fixed OneClickInstallFinished event not firing

pull/438/head
JT 10 months ago
parent
commit
1a8fd000f5
  1. 4
      CHANGELOG.md
  2. 62
      StabilityMatrix.Avalonia/Languages/Resources.fr-FR.resx
  3. 1
      StabilityMatrix.Avalonia/ViewModels/MainWindowViewModel.cs
  4. 5
      StabilityMatrix.Avalonia/ViewModels/Progress/PackageInstallProgressItemViewModel.cs
  5. 19
      StabilityMatrix.Core/Models/Packages/A3WebUI.cs
  6. 43
      StabilityMatrix.Core/Models/Packages/Fooocus.cs
  7. 29
      StabilityMatrix.Core/Models/Packages/VladAutomatic.cs

4
CHANGELOG.md

@ -8,10 +8,14 @@ and this project adheres to [Semantic Versioning 2.0](https://semver.org/spec/v2
## v2.8.0-pre.4 ## v2.8.0-pre.4
### Added ### Added
- Added Recommended Models dialog after one-click installer - Added Recommended Models dialog after one-click installer
- Added new launch argument options for Fooocus
### Changed ### Changed
- Changed one-click installer to match the new package installation style - Changed one-click installer to match the new package installation style
- Automatic1111 packages will now use PyTorch v2.1.2. Upgrade will occur during the next package update or upon fresh installation.
- Updated French translation with the latest changes
### Fixed ### Fixed
- Fixed Environment Variables not being editable - Fixed Environment Variables not being editable
- Fixed potential SD.Next update issues by moving to shared update process
## v2.8.0-pre.3 ## v2.8.0-pre.3
### Added ### Added

62
StabilityMatrix.Avalonia/Languages/Resources.fr-FR.resx

@ -169,10 +169,10 @@
<value>Glisser-déposer les checkpoints ici pour les importer</value> <value>Glisser-déposer les checkpoints ici pour les importer</value>
</data> </data>
<data name="Label_Emphasis" xml:space="preserve"> <data name="Label_Emphasis" xml:space="preserve">
<value>Accentuation</value> <value>Emphase</value>
</data> </data>
<data name="Label_Deemphasis" xml:space="preserve"> <data name="Label_Deemphasis" xml:space="preserve">
<value>Désaccentuation</value> <value>Emphase inverse</value>
</data> </data>
<data name="Label_EmbeddingsOrTextualInversion" xml:space="preserve"> <data name="Label_EmbeddingsOrTextualInversion" xml:space="preserve">
<value>Emebeddings / Inversion textuelle</value> <value>Emebeddings / Inversion textuelle</value>
@ -379,10 +379,10 @@
<value>Déposer le fichier ici pour l&apos;importer</value> <value>Déposer le fichier ici pour l&apos;importer</value>
</data> </data>
<data name="Label_ImportAsConnected" xml:space="preserve"> <data name="Label_ImportAsConnected" xml:space="preserve">
<value>Importer en tant que connecté</value> <value>Importer avec les métadonnées</value>
</data> </data>
<data name="Label_ImportAsConnectedExplanation" xml:space="preserve"> <data name="Label_ImportAsConnectedExplanation" xml:space="preserve">
<value>Recherche de métadonnées connectées sur les nouvelles importations locales</value> <value>Recherche de métadonnées en ligne sur les nouvelles importations locales</value>
</data> </data>
<data name="Label_Indexing" xml:space="preserve"> <data name="Label_Indexing" xml:space="preserve">
<value>Indexation...</value> <value>Indexation...</value>
@ -403,10 +403,10 @@
<value>Accord de licence.</value> <value>Accord de licence.</value>
</data> </data>
<data name="Label_FindConnectedMetadata" xml:space="preserve"> <data name="Label_FindConnectedMetadata" xml:space="preserve">
<value>Trouver des métadonnées connectées</value> <value>Trouver des métadonnées en ligne</value>
</data> </data>
<data name="Label_ShowModelImages" xml:space="preserve"> <data name="Label_ShowModelImages" xml:space="preserve">
<value>Afficher les images du modèle</value> <value>Afficher les vignettes</value>
</data> </data>
<data name="Label_Appearance" xml:space="preserve"> <data name="Label_Appearance" xml:space="preserve">
<value>Apparence</value> <value>Apparence</value>
@ -448,13 +448,14 @@
<value>Intégrations</value> <value>Intégrations</value>
</data> </data>
<data name="Label_DiscordRichPresence" xml:space="preserve"> <data name="Label_DiscordRichPresence" xml:space="preserve">
<value>Présence riche en discorde</value> <value>Activer Statut Discord</value>
</data> </data>
<data name="Label_System" xml:space="preserve"> <data name="Label_System" xml:space="preserve">
<value>Système</value> <value>Système</value>
</data> </data>
<data name="Label_AddToStartMenu" xml:space="preserve"> <data name="Label_AddToStartMenu" xml:space="preserve">
<value>Ajouter la matrice de stabilité au menu de démarrage</value> <value>Ajouter Stability Matrix au menu de démarrage</value>
<comment>updated because &quot;Stability Matrix&quot; was translated in french here haha</comment>
</data> </data>
<data name="Label_AddToStartMenu_Details" xml:space="preserve"> <data name="Label_AddToStartMenu_Details" xml:space="preserve">
<value>Utilise l&apos;emplacement actuel de l&apos;application, vous pouvez relancer cette opération si vous déplacez l&apos;application.</value> <value>Utilise l&apos;emplacement actuel de l&apos;application, vous pouvez relancer cette opération si vous déplacez l&apos;application.</value>
@ -521,6 +522,7 @@
</data> </data>
<data name="Text_OneClickInstaller_SubHeader" xml:space="preserve"> <data name="Text_OneClickInstaller_SubHeader" xml:space="preserve">
<value>Choisissez votre interface préférée et cliquez sur Installer pour commencer.</value> <value>Choisissez votre interface préférée et cliquez sur Installer pour commencer.</value>
<comment>Fuzzy</comment>
</data> </data>
<data name="Label_Installing" xml:space="preserve"> <data name="Label_Installing" xml:space="preserve">
<value>Installation</value> <value>Installation</value>
@ -556,7 +558,8 @@
<value>Vérifier les mises à jour</value> <value>Vérifier les mises à jour</value>
</data> </data>
<data name="Action_Update" xml:space="preserve"> <data name="Action_Update" xml:space="preserve">
<value>Mise à jour</value> <value>Mettre à jour</value>
<comment>switched to verb as it&apos;s action label</comment>
</data> </data>
<data name="Action_AddPackage" xml:space="preserve"> <data name="Action_AddPackage" xml:space="preserve">
<value>Ajouter un paquet</value> <value>Ajouter un paquet</value>
@ -598,7 +601,7 @@
<value>Redémarrage</value> <value>Redémarrage</value>
</data> </data>
<data name="Label_ConfirmDelete" xml:space="preserve"> <data name="Label_ConfirmDelete" xml:space="preserve">
<value>Confirmer Supprimer</value> <value>Confirmer la suppression</value>
</data> </data>
<data name="Text_PackageUninstall_Details" xml:space="preserve"> <data name="Text_PackageUninstall_Details" xml:space="preserve">
<value>Cette opération va supprimer le dossier du paquet et tout son contenu, y compris les images générées et les fichiers que vous avez éventuellement ajoutés.</value> <value>Cette opération va supprimer le dossier du paquet et tout son contenu, y compris les images générées et les fichiers que vous avez éventuellement ajoutés.</value>
@ -640,7 +643,7 @@
<value>Branche</value> <value>Branche</value>
</data> </data>
<data name="Label_AutoScrollToEnd" xml:space="preserve"> <data name="Label_AutoScrollToEnd" xml:space="preserve">
<value>Défilement automatique jusqu&apos;à la fin de la sortie de la console</value> <value>Défilement automatique jusqu&apos;à la dernière sortie de la console</value>
</data> </data>
<data name="Label_License" xml:space="preserve"> <data name="Label_License" xml:space="preserve">
<value>Licence</value> <value>Licence</value>
@ -667,10 +670,10 @@
<value>Installer maintenant</value> <value>Installer maintenant</value>
</data> </data>
<data name="Label_ReleaseNotes" xml:space="preserve"> <data name="Label_ReleaseNotes" xml:space="preserve">
<value>Notes de mise à jour</value> <value>Notes de version</value>
</data> </data>
<data name="Action_OpenProjectEllipsis" xml:space="preserve"> <data name="Action_OpenProjectEllipsis" xml:space="preserve">
<value>Projet ouvert...</value> <value>Ouvrir projet...</value>
</data> </data>
<data name="Action_SaveAsEllipsis" xml:space="preserve"> <data name="Action_SaveAsEllipsis" xml:space="preserve">
<value>Enregistrer sous...</value> <value>Enregistrer sous...</value>
@ -716,7 +719,7 @@
<value>Amélioration de qualité</value> <value>Amélioration de qualité</value>
</data> </data>
<data name="Label_OutputsPageTitle" xml:space="preserve"> <data name="Label_OutputsPageTitle" xml:space="preserve">
<value>Explorateur des générations</value> <value>Explorateur de génération</value>
</data> </data>
<data name="Label_OneImageSelected" xml:space="preserve"> <data name="Label_OneImageSelected" xml:space="preserve">
<value>1 image sélectionnée</value> <value>1 image sélectionnée</value>
@ -792,6 +795,12 @@
<data name="Label_AutoUpdates" xml:space="preserve"> <data name="Label_AutoUpdates" xml:space="preserve">
<value>Mises à jour automatiques</value> <value>Mises à jour automatiques</value>
</data> </data>
<data name="Label_UpdatesPreviewChannelDescription" xml:space="preserve">
<value>Pour les early adopters. Version de preview, plus stable que les versions de développement et plus proche des versions stables. Vos retours vont grandement nous aider à identifier des problèmes et ajuster les éléments de design.</value>
</data>
<data name="Label_UpdatesDevChannelDescription" xml:space="preserve">
<value>Pour les utilisateurs expérimentés. Soyez parmis les premiers à accéder aux builds développement incluants les branches de fonctionnalités dès qu&apos;elles sont disponibles. Il peut y avoir quelques disfonctionnements et bugs au fur et à mesure que nous expérimentons de nouvelles fonctionnalités.</value>
</data>
<data name="Label_Updates" xml:space="preserve"> <data name="Label_Updates" xml:space="preserve">
<value>Mises à jour</value> <value>Mises à jour</value>
</data> </data>
@ -811,6 +820,20 @@
<value>Générale</value> <value>Générale</value>
<comment>A general settings category</comment> <comment>A general settings category</comment>
</data> </data>
<data name="Label_Inference" xml:space="preserve">
<value>Inférence</value>
<comment>The Inference feature page</comment>
</data>
<data name="Label_Prompt" xml:space="preserve">
<value>Instruction</value>
<comment>A settings category for Inference generation prompts</comment>
</data>
<data name="Label_ImageViewer" xml:space="preserve">
<value>Visionneuse d&apos;images</value>
</data>
<data name="Label_AutoCompletion" xml:space="preserve">
<value>Auto-complétion</value>
</data>
<data name="Label_SystemInformation" xml:space="preserve"> <data name="Label_SystemInformation" xml:space="preserve">
<value>Informations système</value> <value>Informations système</value>
</data> </data>
@ -824,6 +847,10 @@
<value>Modules complémentaires</value> <value>Modules complémentaires</value>
<comment>Inference Sampler Addons</comment> <comment>Inference Sampler Addons</comment>
</data> </data>
<data name="Label_SaveIntermediateImage" xml:space="preserve">
<value>Sauvegarder les images intermédiaires</value>
<comment>Inference module step to save an intermediate image</comment>
</data>
<data name="Label_Settings" xml:space="preserve"> <data name="Label_Settings" xml:space="preserve">
<value>Paramètres</value> <value>Paramètres</value>
</data> </data>
@ -854,6 +881,13 @@
<data name="Label_Lossless" xml:space="preserve"> <data name="Label_Lossless" xml:space="preserve">
<value>Sans perte</value> <value>Sans perte</value>
</data> </data>
<data name="Label_Frames" xml:space="preserve">
<value>Images</value>
<comment>What is the context on this one ?</comment>
</data>
<data name="Label_MotionBucketId" xml:space="preserve">
<value>Motion Bucket ID</value>
</data>
<data name="Label_VideoOutputMethod" xml:space="preserve"> <data name="Label_VideoOutputMethod" xml:space="preserve">
<value>Méthode</value> <value>Méthode</value>
</data> </data>

1
StabilityMatrix.Avalonia/ViewModels/MainWindowViewModel.cs

@ -141,7 +141,6 @@ public partial class MainWindowViewModel : ViewModelBase
EventManager.Instance.OneClickInstallFinished += (_, skipped) => EventManager.Instance.OneClickInstallFinished += (_, skipped) =>
{ {
dialog.Hide();
if (skipped) if (skipped)
return; return;

5
StabilityMatrix.Avalonia/ViewModels/Progress/PackageInstallProgressItemViewModel.cs

@ -47,7 +47,10 @@ public class PackageInstallProgressItemViewModel : ProgressItemViewModelBase
if (packageSteps is { Count: > 0 }) if (packageSteps is { Count: > 0 })
{ {
packageModificationRunner.ExecuteSteps(packageSteps).SafeFireAndForget(); packageModificationRunner
.ExecuteSteps(packageSteps)
.ContinueWith(_ => EventManager.Instance.OnOneClickInstallFinished(false))
.SafeFireAndForget();
} }
} }

19
StabilityMatrix.Core/Models/Packages/A3WebUI.cs

@ -190,6 +190,9 @@ public class A3WebUI(
{ {
progress?.Report(new ProgressReport(-1f, "Setting up venv", isIndeterminate: true)); progress?.Report(new ProgressReport(-1f, "Setting up venv", isIndeterminate: true));
var venvPath = Path.Combine(installLocation, "venv");
var exists = Directory.Exists(venvPath);
var venvRunner = await SetupVenv(installLocation, forceRecreate: true).ConfigureAwait(false); var venvRunner = await SetupVenv(installLocation, forceRecreate: true).ConfigureAwait(false);
await venvRunner.PipInstall("--upgrade pip wheel", onConsoleOutput).ConfigureAwait(false); await venvRunner.PipInstall("--upgrade pip wheel", onConsoleOutput).ConfigureAwait(false);
@ -197,14 +200,14 @@ public class A3WebUI(
var requirements = new FilePath(installLocation, "requirements_versions.txt"); var requirements = new FilePath(installLocation, "requirements_versions.txt");
var pipArgs = new PipInstallArgs() var pipArgs = new PipInstallArgs()
.WithTorch("==2.0.1") .WithTorch("==2.1.2")
.WithTorchVision("==0.15.2") .WithTorchVision("==0.16.2")
.WithTorchExtraIndex( .WithTorchExtraIndex(
torchVersion switch torchVersion switch
{ {
TorchVersion.Cpu => "cpu", TorchVersion.Cpu => "cpu",
TorchVersion.Cuda => "cu118", TorchVersion.Cuda => "cu121",
TorchVersion.Rocm => "rocm5.1.1", TorchVersion.Rocm => "rocm5.6",
_ => throw new ArgumentOutOfRangeException(nameof(torchVersion), torchVersion, null) _ => throw new ArgumentOutOfRangeException(nameof(torchVersion), torchVersion, null)
} }
) )
@ -215,7 +218,7 @@ public class A3WebUI(
if (torchVersion == TorchVersion.Cuda) if (torchVersion == TorchVersion.Cuda)
{ {
pipArgs = pipArgs.WithXFormers("==0.0.20"); pipArgs = pipArgs.WithXFormers("==0.0.23.post1");
} }
// v1.6.0 needs a httpx qualifier to fix a gradio issue // v1.6.0 needs a httpx qualifier to fix a gradio issue
@ -227,6 +230,12 @@ public class A3WebUI(
// Add jsonmerge to fix https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/12482 // Add jsonmerge to fix https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/12482
pipArgs = pipArgs.AddArg("jsonmerge"); pipArgs = pipArgs.AddArg("jsonmerge");
if (exists)
{
pipArgs = pipArgs.AddArg("--upgrade");
pipArgs = pipArgs.AddArg("--force-reinstall");
}
await venvRunner.PipInstall(pipArgs, onConsoleOutput).ConfigureAwait(false); await venvRunner.PipInstall(pipArgs, onConsoleOutput).ConfigureAwait(false);
progress?.Report(new ProgressReport(-1f, "Updating configuration", isIndeterminate: true)); progress?.Report(new ProgressReport(-1f, "Updating configuration", isIndeterminate: true));

43
StabilityMatrix.Core/Models/Packages/Fooocus.cs

@ -75,6 +75,43 @@ public class Fooocus(
Description = "Override the output directory", Description = "Override the output directory",
Options = { "--output-directory" } Options = { "--output-directory" }
}, },
new LaunchOptionDefinition
{
Name = "Language",
Type = LaunchOptionType.String,
Description = "Change the language of the UI",
Options = { "--language" }
},
new LaunchOptionDefinition
{
Name = "Auto-Launch",
Type = LaunchOptionType.Bool,
Options = { "--auto-launch" }
},
new LaunchOptionDefinition
{
Name = "Disable Image Log",
Type = LaunchOptionType.Bool,
Options = { "--disable-image-log" }
},
new LaunchOptionDefinition
{
Name = "Disable Analytics",
Type = LaunchOptionType.Bool,
Options = { "--disable-analytics" }
},
new LaunchOptionDefinition
{
Name = "Disable Preset Model Downloads",
Type = LaunchOptionType.Bool,
Options = { "--disable-preset-download" }
},
new LaunchOptionDefinition
{
Name = "Always Download Newer Models",
Type = LaunchOptionType.Bool,
Options = { "--always-download-new-model" }
},
new() new()
{ {
Name = "VRAM", Name = "VRAM",
@ -108,12 +145,6 @@ public class Fooocus(
InitialValue = !HardwareHelper.HasNvidiaGpu(), InitialValue = !HardwareHelper.HasNvidiaGpu(),
Options = { "--disable-xformers" } Options = { "--disable-xformers" }
}, },
new LaunchOptionDefinition
{
Name = "Auto-Launch",
Type = LaunchOptionType.Bool,
Options = { "--auto-launch" }
},
LaunchOptionDefinition.Extras LaunchOptionDefinition.Extras
}; };

29
StabilityMatrix.Core/Models/Packages/VladAutomatic.cs

@ -306,21 +306,14 @@ public class VladAutomatic(
Action<ProcessOutput>? onConsoleOutput = null Action<ProcessOutput>? onConsoleOutput = null
) )
{ {
progress?.Report( var baseUpdateResult = await base.Update(
new ProgressReport( installedPackage,
-1f, torchVersion,
message: "Downloading package update...", versionOptions,
isIndeterminate: true, progress,
type: ProgressType.Update includePrerelease,
) onConsoleOutput
); )
await PrerequisiteHelper
.RunGit(
new[] { "checkout", versionOptions.BranchName! },
onConsoleOutput,
installedPackage.FullPath
)
.ConfigureAwait(false); .ConfigureAwait(false);
var venvRunner = new PyVenvRunner(Path.Combine(installedPackage.FullPath!, "venv")); var venvRunner = new PyVenvRunner(Path.Combine(installedPackage.FullPath!, "venv"));
@ -361,11 +354,7 @@ public class VladAutomatic(
); );
} }
return new InstalledPackageVersion return baseUpdateResult;
{
InstalledBranch = installedPackage.Version.InstalledBranch,
IsPrerelease = false
};
} }
public override Task SetupModelFolders( public override Task SetupModelFolders(

Loading…
Cancel
Save