-
Notifications
You must be signed in to change notification settings - Fork 168
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: #426 (Payload Details When Signing Hash), #427 (Multipart Missed Frames) #428
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Signing multipart works well.. as long as the QR codes are in order/can be read.
I found 2 problems (the second is not new):
- I have 3 QR codes that seem to be the 3/13, the 10/13 and the 13/13. I will cycle though them manually.
- Scanning the 3/13 is fine
- then the 10/13 it shows that I missed 4,5,6,7,8,9 fine
- then scanning 13/13 shows that I missed 4,5,6,7,8,9,11,12 fine
- then back to the 3/13 it erroneously removed the 4 from the missed list
- then back the 10/13 it erroneously removed the 11 from the missed list
So the missed frame count is off by one after one round. - video (real device mirrored): https://youtu.be/kEPZe1uR7FM
- I've been able to leave the Signer in a weird state so that clicking on "scan" from the account list directly shows me a multipart advancement.
- let's start from scratch, I click on "start over".. and keep pointing at this 3/13 QR code
- scan the 3/13 fine, move on
- scanning the 10/13, because I move too much it fires an error "Unable to parse transaction", fine
- click on "start over" and keep pointing at the 10/13
- it shows erroneously directly that I've scanned 8/13 frames.
- video (real device mirrored): https://youtu.be/Hm3KDVyXJFc
My 3 QR codes:
hey @Tbaut , could you please review again? I can't reproduce the second issue, but I suspect it might have been a side effect of the off by one error, which is fixed now |
Addressed some final grumbles, tested sudo.system.remark for single and multiframe on Kusama, extrinsic goes through, @hanwencheng @Tbaut, if you are happy with this then let's merge and get a patch release out. |
Thanks for the PR! Tested well on iOS. With discussed with YJ, I was misunderstand the meaning of I think currently the I have two following suggestion to be discussed for the further improvement:
|
Thanks for the review, I will log those as UX/UI enhancement requests, to be added on top of this so that this PR can remain in bulk about the core issues. I've addressed the first grumble, the second one is going to be more hairy and require a lot more testing again, so will log that for a near future PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
After a yarn clean; yarn; yarn start
as well as a cargo clean
Substrate Dev
- transfer: I get that error Staking.bond instead of balance.transfer on Substrate #438 and entering my pin tells me "wrong pin", although this pin works to backup the seed ⚔️
- system.remark, shows the right method -> says I've the wrong pin ⚔️
Kusama dev
- transfer shows the right method -> says I've the wrong pin ⚔️
- system.remark, shows the right method -> says I've the wrong pin ⚔️
Ethereum Kovan
- Transfer ETH ✔️
I've checked twice each account (Substrate and Kusama, the pin is ok to view the recovery, not for signing anything.)
@Tbaut I really could not reproduce the "wrong pin" issue, I'm able to sign and send on Kusama and Substrate Dev both no problem. Did you build the Rust code again after cleaning? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So after many checks and clean:
✔️ I am able to sign multipart QR codes
✖️ I am not able to sign a single part QR code (bond, remark, transfer were tested), neither is Hanwen on Android
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can't believe this dead code could cause so much troubles.. we're almost there!
Tested e2e on Kusama
✔️ Tx
✔️ multipart sudo remark
✔️ phragmentElection
✔️ bond Kusama
on ETH
✔️ ETH transfer
✖️ ETH signging with MyCrypto
on another note, eslint should be catching and pointing out the dead code (of which there is quite a lot from the previous owner). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you so much :)
… Frames) (#428) * fix: show prehash image along with hash * fix: lint * fix: display missed frames by index * fix: remove from missed frames list once scanned * fix: edge case for multiple loops * fix: multiple loops * fix: off by one error * fix: asyn cscanner state clear * chore: bump @polkadot-js deps * fix: make tests pass * fix: qrcodehash * fix: blake2s -> blake2b * fix: signing hash * fix: hash the correct thing ffs * fix: stray print * fix: show payload details along with hash * fix: stray logs * fix: minor grumble * make android able to sign single part * fix: ethereum sign msg * fix: ethereum sign msg * fix: undeifned * fix: prehash optional
-- on Signer
-- on @polkadot/react-qr
Proposal: UX enhancement for when Multipart frame cannot be scanned in time polkadot-js/ui#233