From 2616ea7f1cb36f0502f4a25032fe12ccd7de69b4 Mon Sep 17 00:00:00 2001 From: vanzue Date: Tue, 6 May 2025 20:21:11 +0800 Subject: [PATCH] make app work without fully self-contain --- .../ContentFormViewModel.cs | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI.ViewModels/ContentFormViewModel.cs b/src/modules/cmdpal/Microsoft.CmdPal.UI.ViewModels/ContentFormViewModel.cs index 5af1959cd6..fb26ca0115 100644 --- a/src/modules/cmdpal/Microsoft.CmdPal.UI.ViewModels/ContentFormViewModel.cs +++ b/src/modules/cmdpal/Microsoft.CmdPal.UI.ViewModels/ContentFormViewModel.cs @@ -6,6 +6,7 @@ using System.Text.Json; using AdaptiveCards.ObjectModel.WinUI3; using AdaptiveCards.Templating; using CommunityToolkit.Mvvm.Messaging; +using ManagedCommon; using Microsoft.CmdPal.UI.ViewModels.Messages; using Microsoft.CmdPal.UI.ViewModels.Models; using Microsoft.CommandPalette.Extensions; @@ -48,13 +49,15 @@ public partial class ContentFormViewModel(IFormContent _form, WeakReference JsonSerializer.Serialize(s, JsonSerializationContext.Default.String); + try + { + // If we fail to parse the card JSON, then display _our own card_ + // with the exception + AdaptiveCardTemplate template = new(ErrorCardJson); + var serializeString = (string? s) => JsonSerializer.Serialize(s, JsonSerializationContext.Default.String); - // todo: we could probably stick Card.Errors in there too - var dataJson = $$""" + // todo: we could probably stick Card.Errors in there too + var dataJson = $$""" { "error_message": {{serializeString(e.Message)}}, "error_stack": {{serializeString(e.StackTrace)}}, @@ -63,8 +66,13 @@ public partial class ContentFormViewModel(IFormContent _form, WeakReference