Regenerate README detection lists and automate future updates - #104
Merged
Conversation
Refreshes the "What Device Detector is able to detect" section in README.md from the library's current data (OS, browsers, engines, libraries, media players, mobile apps, PIMs, feed readers, bots), and adds the previously-missing "List of brands with detected devices" section. While building the generator, found and fixed two porting bugs: - AbstractClientParser.GetAvailableClients() leaked MobileApp-only placeholder names (e.g. "Podkicker$1", "radio.$1") into Libraries, Media Players, PIMs and Feed Readers, and didn't filter names containing "$1"/"$2" like the PHP original does. - EngineParser was missing "ArkWeb", present in PHP's Engine.php. Adds tools/DeviceDetector.NET.ReadmeGen, a checked-in console tool mirroring device-detector's misc/updateReadme.php, plus a GitHub Actions workflow that runs it on every new release and opens a PR with the resulting README changes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
AbstractClientParser.GetAvailableClients()leaked MobileApp-only placeholder names (e.g."Podkicker$1","radio.$1","Microsoft Office $1","$2") into Libraries, Media Players, PIMs and Feed Readers, and didn't filter out names containing$1/$2the way the PHP original does.EngineParserwas missing"ArkWeb", which is present in PHP'sEngine.php.tools/DeviceDetector.NET.ReadmeGen, a checked-in console tool mirroring device-detector'smisc/updateReadme.php, and.github/workflows/update-readme.yml, which runs it on every new GitHub release (core package only) and opens a PR with the resulting README changes — so this stays fresh automatically going forward.Test plan
dotnet test tests/DeviceDetector.NET.Tests/DeviceDetector.NET.Tests.csproj -c Release --nologo— 210/210 passedtools/DeviceDetector.NET.ReadmeGenmanually end-to-end and confirmed idempotent, BOM-preserving output