From eb34b9bd34aeff39b8c3b6fa0a875fa8c2bf6ca5 Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Sun, 18 Jan 2026 17:12:49 +0100 Subject: [PATCH] Fix model state after switching the host --- .../Dialogs/EmbeddingProviderDialog.razor | 2 +- .../Dialogs/EmbeddingProviderDialog.razor.cs | 12 +++++++++++- app/MindWork AI Studio/Dialogs/ProviderDialog.razor | 2 +- .../Dialogs/ProviderDialog.razor.cs | 10 ++++++++++ .../Dialogs/TranscriptionProviderDialog.razor | 2 +- .../Dialogs/TranscriptionProviderDialog.razor.cs | 12 +++++++++++- 6 files changed, 35 insertions(+), 5 deletions(-) diff --git a/app/MindWork AI Studio/Dialogs/EmbeddingProviderDialog.razor b/app/MindWork AI Studio/Dialogs/EmbeddingProviderDialog.razor index db396281..85e6e6ef 100644 --- a/app/MindWork AI Studio/Dialogs/EmbeddingProviderDialog.razor +++ b/app/MindWork AI Studio/Dialogs/EmbeddingProviderDialog.razor @@ -44,7 +44,7 @@ @if (this.DataLLMProvider.IsHostNeeded()) { - + @foreach (Host host in Enum.GetValues(typeof(Host))) { if (host.IsEmbeddingSupported()) diff --git a/app/MindWork AI Studio/Dialogs/EmbeddingProviderDialog.razor.cs b/app/MindWork AI Studio/Dialogs/EmbeddingProviderDialog.razor.cs index 6ecf9910..6520b7ee 100644 --- a/app/MindWork AI Studio/Dialogs/EmbeddingProviderDialog.razor.cs +++ b/app/MindWork AI Studio/Dialogs/EmbeddingProviderDialog.razor.cs @@ -264,7 +264,17 @@ public partial class EmbeddingProviderDialog : MSGComponentBase, ISecretId await this.form.Validate(); } } - + + private void OnHostChanged(Host selectedHost) + { + // When the host changes, reset the model selection state: + this.DataHost = selectedHost; + this.DataModel = default; + this.dataManuallyModel = string.Empty; + this.availableModels.Clear(); + this.dataLoadingModelsIssue = string.Empty; + } + private async Task ReloadModels() { this.dataLoadingModelsIssue = string.Empty; diff --git a/app/MindWork AI Studio/Dialogs/ProviderDialog.razor b/app/MindWork AI Studio/Dialogs/ProviderDialog.razor index 3ed23cba..96e94a2f 100644 --- a/app/MindWork AI Studio/Dialogs/ProviderDialog.razor +++ b/app/MindWork AI Studio/Dialogs/ProviderDialog.razor @@ -41,7 +41,7 @@ @if (this.DataLLMProvider.IsHostNeeded()) { - + @foreach (Host host in Enum.GetValues(typeof(Host))) { @if (host.IsChatSupported()) diff --git a/app/MindWork AI Studio/Dialogs/ProviderDialog.razor.cs b/app/MindWork AI Studio/Dialogs/ProviderDialog.razor.cs index f2d0f309..216f49ee 100644 --- a/app/MindWork AI Studio/Dialogs/ProviderDialog.razor.cs +++ b/app/MindWork AI Studio/Dialogs/ProviderDialog.razor.cs @@ -288,6 +288,16 @@ public partial class ProviderDialog : MSGComponentBase, ISecretId await this.form.Validate(); } } + + private void OnHostChanged(Host selectedHost) + { + // When the host changes, reset the model selection state: + this.DataHost = selectedHost; + this.DataModel = default; + this.dataManuallyModel = string.Empty; + this.availableModels.Clear(); + this.dataLoadingModelsIssue = string.Empty; + } private async Task ReloadModels() { diff --git a/app/MindWork AI Studio/Dialogs/TranscriptionProviderDialog.razor b/app/MindWork AI Studio/Dialogs/TranscriptionProviderDialog.razor index fc4d62e1..78d2dea2 100644 --- a/app/MindWork AI Studio/Dialogs/TranscriptionProviderDialog.razor +++ b/app/MindWork AI Studio/Dialogs/TranscriptionProviderDialog.razor @@ -44,7 +44,7 @@ @if (this.DataLLMProvider.IsHostNeeded()) { - + @foreach (Host host in Enum.GetValues(typeof(Host))) { if (host.IsTranscriptionSupported()) diff --git a/app/MindWork AI Studio/Dialogs/TranscriptionProviderDialog.razor.cs b/app/MindWork AI Studio/Dialogs/TranscriptionProviderDialog.razor.cs index 78791b4d..75ad00a7 100644 --- a/app/MindWork AI Studio/Dialogs/TranscriptionProviderDialog.razor.cs +++ b/app/MindWork AI Studio/Dialogs/TranscriptionProviderDialog.razor.cs @@ -279,7 +279,17 @@ public partial class TranscriptionProviderDialog : MSGComponentBase, ISecretId await this.form.Validate(); } } - + + private void OnHostChanged(Host selectedHost) + { + // When the host changes, reset the model selection state: + this.DataHost = selectedHost; + this.DataModel = default; + this.dataManuallyModel = string.Empty; + this.availableModels.Clear(); + this.dataLoadingModelsIssue = string.Empty; + } + private async Task ReloadModels() { this.dataLoadingModelsIssue = string.Empty;