Stop the Test tab claiming USB-C can measure a link - #89
Merged
Merged
Conversation
Disconnected, the tab banner said "Connect over BLE, Classic Bluetooth or USB-C to measure the link, run the sensor's built-in self-test, or watch its clock drift" while the throughput card an inch below it said "Connect over BLE or Classic Bluetooth to measure the link". Two sentences saying connect, in the same breath, and they disagreed: the USB-C connection speaks the dock protocol, whose command set has no data-rate test, so it is the one link that cannot measure anything. verify.mjs asserts that gap directly - WiredShimmerClient carries no runDataRateTest where Shimmer3RClient does. The banner now offers only what all three links can do, and the card keeps the restriction, which is card-specific and was already written there. One statement each, no contradiction. The card's wording no longer promises BLE either. It asks to connect over Bluetooth, "BLE or Classic, whichever radio this sensor carries" - the RN42 Shimmer3 fleet has no BLE radio at all, so naming BLE is advice a classic-only sensor cannot follow, and the SDK's own platformSupport.ts is careful about this for the same reason. The hint under the button gets the same treatment: it explained host-to-host variance in BLE terms only, and now gives the Classic Bluetooth half too, plus the USB-C fact in the one place a reader is already looking. The button's tooltip repeated the hint's explanation in different words - "connection interval and MTU on BLE, buffering on Classic Bluetooth" - so it now carries only what the hint does not: the pipe, not the file-transfer protocol on top of it. Two harness checks pinned the old strings, so they move with them, each now asserting the substance rather than the sentence: the card note must name Bluetooth, say which radio, and give the dock's reason; the banner must not say "measure" at all. Full pass green: 293/293. README: the link table had no throughput column, so a reader checking what USB-C can do would not have found the answer there. It has one now, with a footnote on why it is Bluetooth-only and which Shimmer models carry which radio. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
marknolan
requested review from
JongChern,
MAzalya,
dmariapan-shimmer,
harithjamadi and
jyong15
as code owners
September 18, 2026 05:48
There was a problem hiding this comment.
Claude Code Review
This repository is configured for manual code reviews. Comment @claude review for a one-time review, or @claude review always to subscribe this PR to a review on every future push.
Tip: disable this comment in your organization's Code Review settings.
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.
Disconnected, the Test tab said this twice and disagreed with itself:
The card is the one that was right. The USB-C connection speaks the dock
protocol, whose command set has no data-rate test, so it is the single link that
cannot measure anything —
verify.mjsalready asserts that gap directly:WiredShimmerClientcarries norunDataRateTestwhereShimmer3RClientdoes.What changed
The banner offers only what all three links can do, and the card keeps the
restriction — it is card-specific and was already written there. One statement
each, no contradiction, and the duplication goes with it.
The card no longer promises BLE. It now asks to connect over Bluetooth,
"BLE or Classic, whichever radio this sensor carries". The RN42 Shimmer3 fleet
has no BLE radio at all, so naming BLE is advice a classic-only sensor cannot
follow; the SDK's own
platformSupport.tsis careful about exactly this, forexactly this reason.
The hint under the button explained host-to-host variance in BLE terms only
("BLE negotiates its connection interval with the host's own Bluetooth stack").
It now gives the Classic Bluetooth half too, and states the USB-C fact in the
place a reader is already looking.
The button's tooltip repeated the hint in different words — "connection
interval and MTU on BLE, buffering on Classic Bluetooth" — so it now carries
only what the hint does not: the pipe, not the file-transfer protocol on top of
it.
README: the link table had no throughput column at all, so a reader checking
what USB-C can do would not have found the answer where the table promised it.
It has one now (
yes/yes/no), with a footnote on why it isBluetooth-only and which Shimmer models carry which radio.
Verification
Two harness checks pinned the old strings, so they move with them — each now
asserting the substance rather than the sentence:
Full pass green against headless Chrome: 293/293, including
disconnected it is refused with a reason, and the dock link genuinely cannot run it — Connect over Bluetooth to measure a link — BLE or Classic, whichever radio this sensor carries. The USB-C connection speaks the dock protocol, which has no data-rate test in it.Follows #87, which renamed the test but left this copy alone.
🤖 Generated with Claude Code