From 8fd0ba8a9801839ca95764eb929e0cfd48c3d9b7 Mon Sep 17 00:00:00 2001 From: Shubhadeep Date: Sun, 16 Aug 2026 18:23:13 +0530 Subject: [PATCH] fix(supported): alias more live-catalog brand typos and fix IGM brand Audit of the live catalog against the static table surfaced more free-text brand errors that rendered as their own groups: redrasgon, Raser, Logitec/ Logitech G, glorius, thecosmicbyte, Dunevoyger, HSXJ, Razer Basilisk, razer viper 8k, MX Anywhere (model in brand field), 'hyper x pulsefire hastle 2', and ROG. All now fold onto the canonical brand. The static 'IGM IGM-6000' row is corrected to 'ISY IGM-6000' (ISY is the real brand; the catalog already records it). Distinct rendered brands drop 161 -> 115. --- src/supported-live.test.ts | 9 +++++++++ src/supported-live.ts | 13 +++++++++++++ src/supported-mice.ts | 2 +- 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/supported-live.test.ts b/src/supported-live.test.ts index ebe2758e..405daec0 100644 --- a/src/supported-live.test.ts +++ b/src/supported-live.test.ts @@ -33,6 +33,15 @@ test("canonicalBrand folds brand aliases onto the canonical name", () => { assert.equal(canonicalBrand("Redragon"), "Redragon"); assert.equal(canonicalBrand("Logitec"), "Logitech"); assert.equal(canonicalBrand("glorius"), "Glorious"); + assert.equal(canonicalBrand("redrasgon"), "Redragon"); + assert.equal(canonicalBrand("Raser"), "Razer"); + assert.equal(canonicalBrand("Logitech G"), "Logitech"); + assert.equal(canonicalBrand("thecosmicbyte"), "Cosmic Byte"); + assert.equal(canonicalBrand("Dunevoyger"), "Dune Voyager"); + assert.equal(canonicalBrand("HSXJ"), "HXSJ"); + assert.equal(canonicalBrand("Razer Basilisk"), "Razer"); + assert.equal(canonicalBrand("MX Anywhere 3s"), "Logitech"); + assert.equal(canonicalBrand("ROG"), "ASUS ROG"); assert.equal(canonicalBrand("rapoo Vpro"), "Rapoo"); assert.equal(canonicalBrand("Eyooso"), "E-YOOSO"); assert.equal(canonicalBrand("e-yooso"), "E-YOOSO"); diff --git a/src/supported-live.ts b/src/supported-live.ts index f2c6020a..28ec4bf4 100644 --- a/src/supported-live.ts +++ b/src/supported-live.ts @@ -35,9 +35,22 @@ const CANONICAL_BRAND_BY_KEY = new Map( const BRAND_TYPOS: Record = { reddragon: "Redragon", + redrasgon: "Redragon", logitec: "Logitech", + logitechg: "Logitech", glorius: "Glorious", + raser: "Razer", + razerbasilisk: "Razer", + razerviper8k: "Razer", + thecosmicbyte: "Cosmic Byte", + dunevoyger: "Dune Voyager", + hsxj: "HXSJ", rapoovpro: "Rapoo", + mxanywhere2: "Logitech", + mxanywhere3: "Logitech", + mxanywhere3s: "Logitech", + hyperxpulsefirehastle2: "HyperX", + rog: "ASUS ROG", }; /** diff --git a/src/supported-mice.ts b/src/supported-mice.ts index b6c1b47f..37f95f92 100644 --- a/src/supported-mice.ts +++ b/src/supported-mice.ts @@ -557,6 +557,6 @@ export const MICE: Mouse[] = [ note: "Protocol unknown" }, { brand: "DeadSkull", model: "Orbit Wired", status: "unknown", req: 1, note: "Protocol unknown" }, - { brand: "IGM", model: "IGM-6000", status: "unknown", req: 1, + { brand: "ISY", model: "IGM-6000", status: "unknown", req: 1, note: "Protocol unknown" }, ];