dragon-iso/src/TeamsISO.App
Zac Gaetano 16e0a483e2
All checks were successful
CI / build-and-test (push) Successful in 35s
fix: address review findings on tonight's commits
Code review on d14a33a..bab29b0 turned up three real issues, fixed here.

1. EngineLogging.CreateDefault no longer mutates Serilog.Log.Logger. The static set was a belt-and-suspenders attempt to catch any code path that reaches for the singleton, but it doesn't matter (engine code uses ILogger<T>, never Serilog.Log.*) and it raced under xUnit's parallel test execution.

2. IsoPipeline stops holding a RawFrame reference for stats. The receiver-side TappedChannelWriter callback now snapshots only Width/Height into volatile ints — frame's pixel buffer is allowed to GC on its normal schedule and a late stats poll can never resurrect a dropped frame. (Today the buffer is fully managed so a use-after-free wasn't actually possible, but the snapshot pattern is the right ownership shape.)

3. App.xaml.cs's ComponentDispatcher.ThreadFilterMessage subscription now lives in a field and is unsubscribed in OnExit. Mutex release is gated on a new _ownsSingleInstanceMutex flag so the 'lost the race; shut down silently' path doesn't accidentally try to release a handle it never owned.

Plus a load-bearing comment in NdiInteropPInvoke.CreateFinder explaining why we free the UTF-8 group buffers right after the native call returns — same lifetime contract Phase B-2's CreateReceiver / CreateSender have always relied on; if it's wrong, those would fail too. The loopback discovery integration test would catch a regression.

Tests: 74/74 unit + 9/9 NDI integration green.
2026-05-08 01:01:00 -04:00
..
Converters feat(ui): rebrand to Wild Dragon + Microsoft Teams layout 2026-05-08 00:08:39 -04:00
Themes feat(ui): chromeless title bar with custom caption controls 2026-05-08 00:55:57 -04:00
ViewModels feat(ui): chromeless title bar with custom caption controls 2026-05-08 00:55:57 -04:00
App.xaml feat(ui): rebrand to Wild Dragon + Microsoft Teams layout 2026-05-08 00:08:39 -04:00
App.xaml.cs fix: address review findings on tonight's commits 2026-05-08 01:01:00 -04:00
MainWindow.xaml feat(ui): chromeless title bar with custom caption controls 2026-05-08 00:55:57 -04:00
MainWindow.xaml.cs feat(ui): chromeless title bar with custom caption controls 2026-05-08 00:55:57 -04:00
TeamsISO.App.csproj feat(ui): add MVVM helpers and per-component view models (Participant, GlobalSettings, AlertBanner) 2026-05-07 15:39:46 +00:00