From a06051ac6df400af785267bfb6dd74b25d3a9ac9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Peer=20Sch=C3=BCtt?=
<20603780+peerschuett@users.noreply.github.com>
Date: Fri, 23 May 2025 16:46:27 +0200
Subject: [PATCH] There was a bug when updating a chat template. The
AllowProfiles bool was not given, so the default true was always used.
---
app/MindWork AI Studio/Chat/ChatThread.cs | 1 -
.../Settings/SettingsPanelChatTemplates.razor.cs | 1 +
.../Dialogs/ChatTemplateDialog.razor | 2 +-
.../Dialogs/ChatTemplateDialog.razor.cs | 12 +++++++-----
4 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/app/MindWork AI Studio/Chat/ChatThread.cs b/app/MindWork AI Studio/Chat/ChatThread.cs
index a028e8db..adb64850 100644
--- a/app/MindWork AI Studio/Chat/ChatThread.cs
+++ b/app/MindWork AI Studio/Chat/ChatThread.cs
@@ -91,7 +91,6 @@ public sealed record ChatThread
/// The prepared system prompt.
public string PrepareSystemPrompt(SettingsManager settingsManager, ChatThread chatThread, ILogger logger)
{
-
//
// Use the information from the chat template, if provided. Otherwise, use the default system prompt
//
diff --git a/app/MindWork AI Studio/Components/Settings/SettingsPanelChatTemplates.razor.cs b/app/MindWork AI Studio/Components/Settings/SettingsPanelChatTemplates.razor.cs
index 6abd4760..ba494cb8 100644
--- a/app/MindWork AI Studio/Components/Settings/SettingsPanelChatTemplates.razor.cs
+++ b/app/MindWork AI Studio/Components/Settings/SettingsPanelChatTemplates.razor.cs
@@ -38,6 +38,7 @@ public partial class SettingsPanelChatTemplates : SettingsPanelBase
{ x => x.DataSystemPrompt, chatTemplate.SystemPrompt },
{ x => x.IsEditing, true },
{x => x.ExampleConversation, chatTemplate.ExampleConversation},
+ {x => x.AllowProfileUsage, chatTemplate.AllowProfileUsage},
};
var dialogReference = await this.DialogService.ShowAsync(T("Edit Chat Template"), dialogParameters, DialogOptions.FULLSCREEN);
diff --git a/app/MindWork AI Studio/Dialogs/ChatTemplateDialog.razor b/app/MindWork AI Studio/Dialogs/ChatTemplateDialog.razor
index a9ad14a3..b00221ff 100644
--- a/app/MindWork AI Studio/Dialogs/ChatTemplateDialog.razor
+++ b/app/MindWork AI Studio/Dialogs/ChatTemplateDialog.razor
@@ -55,7 +55,7 @@
-
+
diff --git a/app/MindWork AI Studio/Dialogs/ChatTemplateDialog.razor.cs b/app/MindWork AI Studio/Dialogs/ChatTemplateDialog.razor.cs
index df823db8..a113d7a0 100644
--- a/app/MindWork AI Studio/Dialogs/ChatTemplateDialog.razor.cs
+++ b/app/MindWork AI Studio/Dialogs/ChatTemplateDialog.razor.cs
@@ -43,6 +43,9 @@ public partial class ChatTemplateDialog : MSGComponentBase
[Parameter]
public List ExampleConversation { get; set; } = [];
+
+ [Parameter]
+ public bool AllowProfileUsage { get; set; } = true;
[Inject]
private ILogger Logger { get; init; } = null!;
@@ -57,12 +60,9 @@ public partial class ChatTemplateDialog : MSGComponentBase
private bool dataIsValid;
private string[] dataIssues = [];
private string dataEditingPreviousName = string.Empty;
-
+
private ContentBlock messageEntryBeforeEdit;
- // private readonly List additionalMessagesEntries = [];
- // private readonly List availableRoles = ["User", "Assistant"];
private readonly IEnumerable availableRoles = ChatRoles.ChatTemplateRoles().ToArray();
- private bool allowProfileUsage = true;
// We get the form reference from Blazor code to validate it manually:
private MudForm form = null!;
@@ -75,7 +75,7 @@ public partial class ChatTemplateDialog : MSGComponentBase
Name = this.DataName,
SystemPrompt = this.DataSystemPrompt,
ExampleConversation = this.ExampleConversation,
- AllowProfileUsage = allowProfileUsage,
+ AllowProfileUsage = this.AllowProfileUsage,
};
private void RemoveMessage(ContentBlock item)
@@ -85,6 +85,8 @@ public partial class ChatTemplateDialog : MSGComponentBase
private void AddNewMessageToEnd()
{
+ this.ExampleConversation ??= new List();
+
var newEntry = new ContentBlock
{
Role = ChatRole.USER, // Default to User