From e862ca1ef23aec672f201aba89b29b38bec8a23b Mon Sep 17 00:00:00 2001 From: Aaqibhafeez Khan Date: Thu, 22 Oct 2026 14:24:15 +0530 Subject: [PATCH] feat: add BleepingComputer news feed --- README.md | 6 ++-- src/PatchLight.Core/News.cs | 1 + .../Fixtures/bleepingcomputer-feed.xml | 32 +++++++++++++++++++ tests/PatchLight.Tests/NewsTests.cs | 29 +++++++++++++++++ 4 files changed, 65 insertions(+), 3 deletions(-) create mode 100644 tests/PatchLight.Tests/Fixtures/bleepingcomputer-feed.xml diff --git a/README.md b/README.md index 586038f..264c466 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ Microsoft's own list of known problems and gives it a light: One click on **Uninstall this update** removes it, and PatchLight keeps it paused until Microsoft fixes the problem. - **New Windows versions too:** When Windows offers an upgrade like "Windows 11, version 26H2", PatchLight checks it against Microsoft's known issues for that version, so you know whether to wait. -- **Early warnings from tech news:** Problems often show up on Neowin and Windows Latest days before Microsoft lists them. +- **Early warnings from tech news:** Problems often show up on Neowin, Windows Latest and BleepingComputer days before Microsoft lists them. A report turns a safe update into 🟡 Wait (never 🔴), with a link to the article. You can turn this off in Settings. - **Only problems that matter to you:** Some known problems only hit company PCs (domains, virtual desktops, servers). On a home PC they're still listed but don't turn the light red. Company and school PCs count everything. @@ -115,8 +115,8 @@ paused, removes the automatic check, the "wait" policy it set and "Start with Wi PatchLight doesn't collect, send or share anything about you or your PC. Over the network it only: - downloads Microsoft's public Windows release health pages (for your Windows version, and for any new version Windows offers you), -- downloads the public news feeds of [Neowin](https://www.neowin.net/news/rss/) and [Windows Latest](https://www.windowslatest.com/feed/) - to spot reported problems (turn this off in Settings, or run `patchlight --no-news`), +- downloads the public news feeds of [Neowin](https://www.neowin.net/news/rss/), [Windows Latest](https://www.windowslatest.com/feed/), + and [BleepingComputer](https://www.bleepingcomputer.com/feed/) to spot reported problems (turn this off in Settings, or run `patchlight --no-news`), - asks Windows Update on your own PC which updates are waiting. No account, no analytics, no server of ours. Like any app that reads a web page, these downloads show the sites your diff --git a/src/PatchLight.Core/News.cs b/src/PatchLight.Core/News.cs index 3ee094c..bed9432 100644 --- a/src/PatchLight.Core/News.cs +++ b/src/PatchLight.Core/News.cs @@ -112,6 +112,7 @@ public sealed class RssNewsSource(HttpClient http, string storePath, TimeProvide [ ("Neowin", "https://www.neowin.net/news/rss/"), ("Windows Latest", "https://www.windowslatest.com/feed/"), + ("BleepingComputer", "https://www.bleepingcomputer.com/feed/"), ]; private static readonly TimeSpan KeepFor = TimeSpan.FromDays(30); diff --git a/tests/PatchLight.Tests/Fixtures/bleepingcomputer-feed.xml b/tests/PatchLight.Tests/Fixtures/bleepingcomputer-feed.xml new file mode 100644 index 0000000..72ee998 --- /dev/null +++ b/tests/PatchLight.Tests/Fixtures/bleepingcomputer-feed.xml @@ -0,0 +1,32 @@ + + + + BleepingComputer + https://www.bleepingcomputer.com/ + Latest technology news + + Microsoft: October Windows update may break Smart App Control + https://www.bleepingcomputer.com/news/microsoft/kb5127648-windows-security-update-may-break-smart-app-control/ + + Fri, 16 Oct 2026 08:44:00 +0000 + + + Microsoft fixes bug causing Windows black screens, Explorer crashes + https://www.bleepingcomputer.com/news/microsoft/microsoft-fixes-bug-causing-windows-black-screens-explorer-crashes/ + + Thu, 15 Oct 2026 09:10:00 +0000 + + + Microsoft PowerToys adds CursorHide, Button Lock mouse tools + https://www.bleepingcomputer.com/news/microsoft/microsoft-powertoys-adds-cursorhide-button-lock-mouse-tools/ + + Wed, 21 Oct 2026 12:20:00 +0000 + + + Windows 11 KB5127648 & KB5126653 cumulative updates released + https://www.bleepingcomputer.com/news/microsoft/windows-11-kb5127648-and-kb5126653-cumulative-updates-released/ + + Tue, 13 Oct 2026 17:49:00 +0000 + + + diff --git a/tests/PatchLight.Tests/NewsTests.cs b/tests/PatchLight.Tests/NewsTests.cs index 0e271be..2acb8ff 100644 --- a/tests/PatchLight.Tests/NewsTests.cs +++ b/tests/PatchLight.Tests/NewsTests.cs @@ -68,6 +68,35 @@ public void Kb_in_the_text_counts_only_for_problem_headlines() Assert.Single(NewsMatcher.ReportsFor(articles, Update("KB5127648"))); } + [Fact] + public void BleepingComputer_fixture_matches_unresolved_update_problems() + { + Assert.Contains(RssNewsSource.DefaultFeeds, + feed => feed.Name == "BleepingComputer" && feed.Url == "https://www.bleepingcomputer.com/feed/"); + var xml = File.ReadAllText(Path.Combine(AppContext.BaseDirectory, "Fixtures", "bleepingcomputer-feed.xml")); + var articles = NewsFeedParser.Parse(xml, "BleepingComputer"); + + var matches = NewsMatcher.ReportsFor(articles, Update("KB5127648")); + + var article = Assert.Single(matches); + Assert.Equal("BleepingComputer", article.Source); + Assert.Equal("Microsoft: October Windows update may break Smart App Control", article.Title); + Assert.Equal( + "https://www.bleepingcomputer.com/news/microsoft/kb5127648-windows-security-update-may-break-smart-app-control/", + article.Url); + } + + [Theory] + [InlineData("Best Windows 11 laptop deals this week")] + [InlineData("Windows 11 KB5127648 review: everything new")] + [InlineData("Microsoft PowerToys adds CursorHide, Button Lock mouse tools")] + public void Ignores_deals_reviews_and_other_products(string title) + { + var articles = NewsFeedParser.Parse(Feed((title, "KB5127648", Day)), "BleepingComputer"); + + Assert.Empty(NewsMatcher.ReportsFor(articles, Update("KB5127648"))); + } + [Theory] [InlineData("Tue, 13 Oct 2026 14:00:00 EDT")] [InlineData("Tue, 13 Oct 2026 18:00:00 GMT")]