diff --git a/StabilityMatrix.Avalonia/ViewModels/Dialogs/OpenArtWorkflowViewModel.cs b/StabilityMatrix.Avalonia/ViewModels/Dialogs/OpenArtWorkflowViewModel.cs index 41b2d6a0b..a1848afe8 100644 --- a/StabilityMatrix.Avalonia/ViewModels/Dialogs/OpenArtWorkflowViewModel.cs +++ b/StabilityMatrix.Avalonia/ViewModels/Dialogs/OpenArtWorkflowViewModel.cs @@ -101,6 +101,7 @@ private async Task> ParseNodes(List nodes) var installedNodesNames = new HashSet(); var nameToManifestNodes = new Dictionary(); + var addedMissingNodes = new HashSet(); var packagePair = SelectedPackagePair; @@ -160,9 +161,11 @@ out var manifestExtension IsInstalled = installedNodesNames.Contains(node), }; - // Add missing nodes to the list + // Add missing nodes to the list (deduplicate by title) if ( - !currentSection.IsInstalled && nameToManifestNodes.TryGetValue(node, out var manifestNode) + !currentSection.IsInstalled + && addedMissingNodes.Add(node) + && nameToManifestNodes.TryGetValue(node, out var manifestNode) ) { MissingNodes.Add(manifestNode);