From a6aea5bf267132222d944ed186c39e630f0a3b6a Mon Sep 17 00:00:00 2001 From: gramps Date: Mon, 2 Nov 2026 18:17:18 -0800 Subject: [PATCH] feat(ui): color and acknowledge pinned log errors Add independent AppLog message types and explicit Class 1/2 severity. Wrap and color log rows, pin Class 1 above Class 2, and let acknowledgement return entries to the current-launch timeline without changing file format or rotation. Ref: https://logtape.org/manual/levels --- App.xaml.cs | 5 +- Controls/LeftPanel.xaml | 64 +++++++++++++---- Controls/index.md | 5 +- HANDOFF.md | 26 +++---- Helpers/AppLog.cs | 56 ++++++++++++++- Helpers/index.md | 2 +- Services/AlertClipDecoder.cs | 4 +- Services/AlertOverlayLayer.cs | 4 +- Services/Audio/AlertAudioOutput.cs | 2 +- Services/Audio/AudioMixer.cs | 2 +- Services/CameraManager.cs | 9 ++- Services/ChannelStatsService.cs | 10 ++- Services/Encoder/FfmpegEncoder.cs | 23 +++--- Services/ScreenCaptureManager.cs | 9 ++- Services/YouTubeStreamService.cs | 32 ++++++--- Themes/Controls.xaml | 24 +++++++ Themes/index.md | 2 +- ViewModels/MainViewModel.Logs.cs | 65 ++++++++++++++--- ViewModels/MainViewModel.Recording.cs | 12 ++-- .../MainViewModel.Streaming.Operations.cs | 34 +++++---- ViewModels/index.md | 2 +- docs/ai/ui-surface.md | 2 +- ytLive.Tests/LogsPanelTests.cs | 71 ++++++++++++++++++- 23 files changed, 365 insertions(+), 100 deletions(-) diff --git a/App.xaml.cs b/App.xaml.cs index 95aa7bd..1dbc5c7 100644 --- a/App.xaml.cs +++ b/App.xaml.cs @@ -19,10 +19,11 @@ public partial class App : Application AppDomain.CurrentDomain.UnhandledException += (_, args) => AppLog.Write(args.ExceptionObject is Exception ex ? "AppDomain unhandled exception: " + ex - : "AppDomain unhandled exception object: " + args.ExceptionObject); + : "AppDomain unhandled exception object: " + args.ExceptionObject, + AppLogMessageType.Error, AppLogErrorClass.Class1); DispatcherUnhandledException += (_, args) => - AppLog.Write(args.Exception, "Dispatcher unhandled exception"); + AppLog.Write(args.Exception, "Dispatcher unhandled exception", AppLogErrorClass.Class1); AppLog.Write("App OnStartup begin"); // Attribution (2026-09-04): every take must be traceable to the exact binary diff --git a/Controls/LeftPanel.xaml b/Controls/LeftPanel.xaml index e1b35a0..01e73a7 100644 --- a/Controls/LeftPanel.xaml +++ b/Controls/LeftPanel.xaml @@ -989,20 +989,56 @@ - - - - - - - + + + + + + + + + + + + + +