From e6baa5586734dcde6411220381ce376a3b97f5a2 Mon Sep 17 00:00:00 2001 From: gramps Date: Mon, 24 Aug 2026 14:44:16 -0700 Subject: [PATCH] Fix logo-click crash (Run is not a Visual); Text tab always visible; avatar initial fallback --- HANDOFF.md | 2 ++ MainWindow.xaml | 15 ++++++++++----- MainWindow.xaml.cs | 26 ++++++++++++++++++++------ TASKS.md | 2 +- ViewModels/MainViewModel.cs | 4 ---- ai.md | 2 +- ytLive.Tests/BroadcastPullOutTests.cs | 9 +++++---- 7 files changed, 39 insertions(+), 21 deletions(-) diff --git a/HANDOFF.md b/HANDOFF.md index 7b41014..fc3330b 100644 --- a/HANDOFF.md +++ b/HANDOFF.md @@ -26,6 +26,8 @@ - **`Source.Type` setter derives `IsBackground`** (Models/Source.cs:40) — any Type change must re-set IsBackground after. - **vstest quirk:** only one `--tests:` param allowed; plain substrings work, alternation regexes silently match nothing. - Notification.Wpf gotchas (ai.md/TASKS.md): area routing by XAML `Name`; unknown AreaName silently drops; `NeverExpires()` = `TimeSpan.MaxValue`; `ToHex()` = `#AARRGGBB`. +- **Text-tab crash fix (2026-08-24):** clicking any text `Run` (e.g. the LlamaCasty logo) crashed the app — `Window_PreviewMouseLeftButtonDown → IsDescendantOf` used only `VisualTreeHelper.GetParent`, which throws on non-Visuals; now falls back to `LogicalTreeHelper.GetParent`. Landmine for ANY new hit-testing code: text Runs are not Visuals. +- **Avatar display:** connected-but-image-missing now shows the channel initial in the circle + logs to startup.log (`Avatar load failed` / `connected but no profile image URL`). If the creator reports "no avatar", first check whether the app is actually CONNECTED (green status light vs Log In button) — ending a stream clears the OAuth session by design. - **Dead code flagged, not touched:** `ShowWebcamCommand` / `CanShowWebcamInStagedScene` wired but unbound — audit item. ## Next steps diff --git a/MainWindow.xaml b/MainWindow.xaml index 9c70d65..2818cc4 100644 --- a/MainWindow.xaml +++ b/MainWindow.xaml @@ -149,12 +149,18 @@ - + - + + + +