Open a disappearing chat when a launcher names no workspace

This commit is contained in:
Thorsten Sommer committed 2026-09-14 09:17:22 +02:00
1 parent eb1ef1ad37
commit 3548b1d44d
1 file changed
+21 -13
@@ -50,21 +50,29 @@ public sealed class DirectChatService(SettingsManager settingsManager, DataSourc
if (dataSourceOptions is null) if (dataSourceOptions is null)
return new(null, dataSourceOptionsResult.ErrorMessage); return new(null, dataSourceOptionsResult.ErrorMessage);
Guid workspaceId; //
try // A launcher that names no workspace wants the same chat the chat page starts on its own:
// one that belongs nowhere, is kept among the temporary chats, and disappears with them. The
// empty workspace ID is what says so, here as everywhere else in the app.
//
var workspaceId = Guid.Empty;
if (!launchConfiguration.OpensTemporaryChat)
{ {
workspaceId = await WorkspaceBehaviour.ResolveOrCreateWorkspaceIdByNameAsync(launchConfiguration.WorkspaceName); try
} {
catch (Exception exception) workspaceId = await WorkspaceBehaviour.ResolveOrCreateWorkspaceIdByNameAsync(launchConfiguration.WorkspaceName);
{ }
logger.LogError(exception, "Assistant plugin '{PluginName}' could not resolve or create workspace '{WorkspaceName}'.", assistantPlugin.Name, launchConfiguration.WorkspaceName); catch (Exception exception)
return new(null, string.Format(TB("The workspace '{0}' could not be opened or created."), launchConfiguration.WorkspaceName)); {
} logger.LogError(exception, "Assistant plugin '{PluginName}' could not resolve or create workspace '{WorkspaceName}'.", assistantPlugin.Name, launchConfiguration.WorkspaceName);
return new(null, string.Format(TB("The workspace '{0}' could not be opened or created."), launchConfiguration.WorkspaceName));
}
if (workspaceId == Guid.Empty) if (workspaceId == Guid.Empty)
{ {
logger.LogWarning("Assistant plugin '{PluginName}' could not resolve or create workspace '{WorkspaceName}'.", assistantPlugin.Name, launchConfiguration.WorkspaceName); logger.LogWarning("Assistant plugin '{PluginName}' could not resolve or create workspace '{WorkspaceName}'.", assistantPlugin.Name, launchConfiguration.WorkspaceName);
return new(null, string.Format(TB("The workspace '{0}' could not be opened or created."), launchConfiguration.WorkspaceName)); return new(null, string.Format(TB("The workspace '{0}' could not be opened or created."), launchConfiguration.WorkspaceName));
}
} }
// //