Stop showing "USB 3.2 Gen 0" on USB-C ports
What's fixed
- The popover no longer prints "USB 3.2 Gen 0" on ports where IOKit reports no live USB 3 signaling (issue #190 follow-up). The label was being built by interpolating Apple's
SuperSpeedSignalingfield directly into a "USB 3.2 Gen N" template, including when that field carries the "None" sentinel value of 0. WhatCable now treats 0 as "no precise speed known" and falls back to the generic "SuperSpeed USB (5 Gbps or faster)" text. For a directly attached USB 3.x device the precise speed still comes through the device side, so most cases will continue to read "USB 3.2 Gen 2 (10 Gbps)" or similar, correctly. Thanks again @i0ntempest, this was a follow-up spotted right after the v0.12.6 fix shipped.
Under the hood
- The fix is intentionally surgical: only the IOKit "None" sentinel (0) is treated as nil. Any other unknown signaling value still produces a generic "USB 3.2 Gen N" label, so a hypothetical future Apple-side encoding (e.g. Gen 2x2 reported through this same field) is not silently hidden. Adversarial review caught the broader version of the change and prevented it.