From f056b67e9ac1565e019473337b8e3ebd1b4a79e1 Mon Sep 17 00:00:00 2001 From: Joseph Doherty Date: Sun, 19 Jul 2026 03:14:58 -0400 Subject: [PATCH] fix(build): suppress AngleSharp advisory instead of pinning (corrects ecf6b628) ecf6b628 pinned AngleSharp to 1.5.2 to clear GHSA-pgww-w46g-26qg. That fixed the build but BROKE 33 CentralUI bunit tests at runtime with MissingMethodException: AngleSharp.Dom.IHtmlCollection`1.get_Item(Int32) because 1.5.x changed IHtmlCollection's indexer and bunit is compiled against 1.1.x. My mistake: I verified `dotnet build` was clean and did not run the test suite before committing, so a runtime-only break sailed through. There is no working patched combination upstream. Verified empirically: AngleSharp 1.1.2 / 1.2.0 / 1.3.0 / 1.4.0 -> still flagged NU1902 AngleSharp 1.5.0 / 1.5.2 -> patched, but breaks bunit at runtime bunit up to 2.7.2 (latest) -> still resolves AngleSharp 1.4.0 So the real choice is a suppressed advisory or an unbuildable suite. Scoped suppression wins here because the reach is nil: AngleSharp is an HTML parser bunit uses to assert on rendered markup, it ships in no production project, and the only "documents" it parses are our own components' output. Explicitly NOT the same call as GHSA-2m69-gcr7-jv3q (SQLitePCLRaw), whose suppression was removed in 2026-07: that one masked a vulnerability on PRODUCTION code paths and had a working patched version available. Neither is true here. Revisit when bunit ships against AngleSharp 1.5+. Verified: dotnet build ZB.MOM.WW.ScadaBridge.slnx -> 0 Error(s), 0 Warning(s) CentralUI.Tests -> 925 passed, 0 failed (was 33 failing) Claude-Session: https://claude.ai/code/session_01BL2Vu1ESDQ9SCN4gVKkdts --- Directory.Packages.props | 24 ++++++++--------- ....MOM.WW.ScadaBridge.CentralUI.Tests.csproj | 27 ++++++++++++++++--- 2 files changed, 35 insertions(+), 16 deletions(-) diff --git a/Directory.Packages.props b/Directory.Packages.props index b49857f0..68cbef4f 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -146,20 +146,18 @@ - - - + diff --git a/tests/ZB.MOM.WW.ScadaBridge.CentralUI.Tests/ZB.MOM.WW.ScadaBridge.CentralUI.Tests.csproj b/tests/ZB.MOM.WW.ScadaBridge.CentralUI.Tests/ZB.MOM.WW.ScadaBridge.CentralUI.Tests.csproj index faedc98c..fb70a064 100644 --- a/tests/ZB.MOM.WW.ScadaBridge.CentralUI.Tests/ZB.MOM.WW.ScadaBridge.CentralUI.Tests.csproj +++ b/tests/ZB.MOM.WW.ScadaBridge.CentralUI.Tests/ZB.MOM.WW.ScadaBridge.CentralUI.Tests.csproj @@ -10,9 +10,6 @@ - - @@ -43,4 +40,28 @@ + + + + + \ No newline at end of file