Skip to content
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

Beet protocol deeplinks + QR codes + UX changes #213

Closed
wants to merge 35 commits into from
Closed

Beet protocol deeplinks + QR codes + UX changes #213

wants to merge 35 commits into from

Conversation

grctest
Copy link
Contributor

@grctest grctest commented Sep 27, 2022

Continued the action branch with a new PR since testing electron protocols requires building Beet; that's why there's action PR changes included.

Changelog:

Demonstrations:
https://hive.blog/bitshares/@nftea.gallery/generating-bitshares-qr-codes-and-scanning-them-with-beet-for-blockchain-broadcast
https://hive.blog/bitshares/@nftea.gallery/generating-encrypted-bitshares-beet-deeplinks-for-bitshares-blockchain-operations

babel runtime installed and added to allowlist
small babel config change
build script uses npm
Additional os packages
Avoid adding duplicate accounts in the same wallet
Fix wallet name bug during creation
Avoid using text component
Deeplinks with query strings
Steps required to launch createPopup from deeplink triggered main function
Created a one time counter token page
Deeplinks will only work if this page is in view.
30 seconds use time per OTC
Operations required from PR #211
One time use passwords every 45 seconds
User can select which operations they want to receive deeplinks for.
Avoid constantly generating tokens, only generate token once the user has selected ops and clicked a button
Decoding request
Getting ready to prompt user & handling approval/rejection
Rename otc component to totp
Solve some warnings
Start saving totp selected rows to settings store - chain based preference storage, not account.
Saving rows to settings
Fix op selection save detection
Progress indicator
Decrypt deeplink request with generated totp
Detect unsupported chain
Add warning about sharing the token
Timeout was broken, now automatically logs out after a period of inactivity
Check wallet is unlocked on deeplink trigger
Properly triggering prompts
Bring additional visualized operations in from other PR for prompts to work as expected
New getters in accountstore

TODO: Fix examples triggering assert exceptions relating to trx expiry fields
colour changes
swapping components
fix selected row comparison bug
small locale change
Remove actionbar
Add menu button to replace actionbar nav
Move langselect to mainmenu component for logged in users
Initial QR page
Change style of lang select button
Menu with icons
Initial support for QR codes
Now able to scan and console log QR codes
Detect failed webcam initialization
Swap camera button
Use vue3 package for QR codes
Outline QR code
Add Beet logo to QR code during scanning
Initial drag & drop code
* Change balance loading animation to skeleton to reduce visual layout changes
* Remember which account is currently selected in dashboard
* Drag and drop implemented
* Fix main menu selection bug
@grctest grctest changed the title Beet protocol Beet protocol deeplinks + QR codes + UX changes Oct 7, 2022
Rename filenames to use similar convention
Split components up for reuse
Create new component folders
Simplify operation specification (custom vs all)
Split settings page into 2 new pages - backup and dapps
Extract the operations selection component from totp component
Enable the user to quickly select all or customize their preferred operations for TOTP.
Additional 'from' field in operations for matching with accounts available within current beet wallet.
on totp back erase state of discarded totp code
use correct field for visualizedAccount input
Add account select dropdown to qr and totp components
Some styling tweaks
Upload another QR button
Add operation scope prompt to QR code component
Emit from sub qr components to parent qr component on qr decode
Introduce new blockchain api function for Bitshares (and default templates) for handling QR codes
QR scanning operational
Terminal generated QR codes might not come with ref block num/prefix; if not present get them from finalize
Notify on failed QR
Improve TOTP UX
Support switching to secondary camera (and back) for qr scanning
Only scan once per QR
Fix locale string
Fix enumeratedDevices check on switch camera
* Tweaks to translation component
* Popup prompts now use an accordion component to provide additional prettified JSON insight into the request and possible payload. Enabling users to dig into prompt details if cautious.
@grctest
Copy link
Contributor Author

grctest commented Nov 4, 2022

@abitmore @sschiessl-bcp @clockworkgr

Unless there are any further requests for change, this pull request is ready for merge IMO.

Once this PR is merged, I'll uplift the other pull requests with the changes this has introduced.

@sschiessl-bcp
Copy link
Collaborator

sschiessl-bcp commented Nov 6, 2022

I squashed previous PR, can you please rebase? I can also help with that if desired, let me know, although code author usually is much quicker with that

@sschiessl-bcp
Copy link
Collaborator

Reverted previous PR (#211) as agreed upon as this one should be merged first

@sschiessl-bcp
Copy link
Collaborator

@grctest please rebase to latest develop

@grctest grctest mentioned this pull request Nov 6, 2022
@grctest
Copy link
Contributor Author

grctest commented Nov 7, 2022

@grctest please rebase to latest develop

New rebased PR: #219

@grctest grctest closed this Nov 8, 2022
sschiessl-bcp pushed a commit that referenced this pull request Nov 18, 2022
* Rebased PR #213

Add QR code support
Add TOTP code support
Improve menu UX
Improve prompt UX with accordion components
Fix wallet idle/timeout functionality

* Fix logout warning

Dashboard contents were attempting render during logout

* Update lang-select.vue

Remove 50px top margin on language dropdown button

* Fix reported issues

rename settings store totp to chainPermissions
fix qr/totp not showing
fix several warnings on logout from certain routes

* Update de.json

* requested changes

Prompt language selector moved to new settings accordion segment
Swapped language selector button type
UX improvements in transactionrequestpopup
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants