[Bug]: silent TransportWebHID failure for Ledger Stax and Flex
Closed this issue · 6 comments
Impacted Library name
@ledgerhq/hw-transport-webhid
Impacted Library version
6.29.2
Describe the bug
When attempting to connect a Stax or Flex device using the SDK, the transport will quietly fail at the transport creation step. User receives the HID request, but the SDK hangs after it is accepted.
Example usage:
let transport = await TransportWebHID.create();
const appEth = new AppEth(transport);
const result = await appEth.getAddress(
getHDPathForVendorAndType(0, 'Ledger'),
false,
false,
);
Console includes the following log when the Chrome HID request appears:
Chooser dialog is not displaying a FIDO HID device: vendorId=11415, productId=28693, name='Ledger Flex', serial='0001'
Expected behavior
Successfully pair with Ledger device, or throw an error that the transport pairing has failed.
Additional context
A reference implementation for Rainbow Wallet is available here: https://github.com/rainbow-me/browser-extension/blob/cf5a7051818905bffa56f5c8ab5bef7040f76f53/src/entries/popup/handlers/wallet.ts#L443
cc @KVNLS in case you happen to be the codeowner for transport issues
This issue is stale because it has been open 30 days with no activity. Remove stale label, comment, or consider closing it.
@DanielSinclair our QA and tech team was not able to reproduce, just slacked you so I get gather more information on this issue.
Issue has been reported by Rabby too.
I can't help debug or reproduce now since it was fixed by re-pairing the device with Chrome.
Trying to describe what happened on my side:
- I upgrade Ethereum of my Ledger Stax to version 1.12.1(OS version 1.5.0)
- trying to sign a transaction on Rabby(paired before), failed(sorry didn't catch error message that time)
- the same thing happened to my colleague, he found that re-pairing would fix
- re-pairing(remove hid permission and re-allow) on my side and issue fixed
This issue is stale because it has been open 30 days with no activity. Remove stale label, comment, or consider closing it.