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

[DDW-539, DDW-541] Fund3 voting registration #2315

Merged
merged 146 commits into from Feb 5, 2021

Conversation

nikolaglumac
Copy link
Contributor

@nikolaglumac nikolaglumac commented Jan 22, 2021

This PR implements Catalyst "Voting registration" feature (#2204) into develop branch.
It also improves the syncing states of ITN redemption and Staking screens.

Documentation

Designs

https://zpl.io/aMe0XwN

Todos

  • Inspect QR code on the "Info" screen on dark themes (@nikolaglumac)
  • Implement "Save as PDF" feature (@daniloprates)
  • QR code step text alignment and warning text color (@nikolaglumac)
  • PIN entry component behaviour (@nikolaglumac)
  • Use the same no-wallets pattern as on the "Delegation" wizard
  • Implement animation for the progress bar on "Confirm" step
  • Implement checkboxes logic on the "QR code" step
  • Implement support for all Daedalus themes
  • Inject Japanese translations

Todos (derived from the Gap Analysis Report)

Known issues

Code quality improvements

  • Implementing fixes for the issues listed in the Code Quality Review
  • Improve container/store logic to avoid strange "jumping" between the steps in the dialog (e.g. when you enter wrong wallet passphrase)
  • Rename all components and containers from "voting-add" to "voting-registration"

UI/UX improvements

  • Implementing fixes for the issues listed in the UI/UX Implementation Review
  • Add loading state for the voting UI during Daedalus syncing process
  • Add AppStore link for downloading Catalyst Voting App
  • Disable voting UI until Daedalus is fully synced
  • Disable voting registration for hardware wallets (incl. a display of a dedicated error message)
  • Disable voting registration for Byron wallets (incl. a display of a dedicated error message)
  • Implement voting registration user flow changes (show on the chart below)
  • Implement text copy improvements listed in Text Copy Review (e.g. the link on the Voting Wizard Step#2 leads to an empty Google Document)

Voting registration flow

Screenshot 2021-01-25 at 17 47 01

Screenshots

Staking screen during Daedalus syncing

Screenshot 2021-02-05 at 18 51 29
Screenshot 2021-02-05 at 18 51 23

ITN rewards redemption screen during Daedalus syncing

Screenshot 2021-02-05 at 18 53 59
Screenshot 2021-02-05 at 18 54 06

Voting screen during Daedalus syncing

Screenshot 2021-02-05 at 18 51 19
Screenshot 2021-02-05 at 18 51 32

Voting screen when there are no Shelley-compatible wallets

Screenshot 2021-02-05 at 18 50 15
Screenshot 2021-02-05 at 18 50 22

Voting info screen

Screenshot 2021-02-05 at 18 57 47
Screenshot 2021-02-05 at 18 57 57
Screenshot 2021-02-05 at 18 57 52
Screenshot 2021-02-05 at 18 58 00

Voting registration wizard

Screenshot 2021-02-05 at 18 59 00
Screenshot 2021-02-05 at 19 01 39
Screenshot 2021-02-05 at 19 01 02
Screenshot 2021-02-05 at 19 01 25
Screenshot 2021-02-05 at 19 19 58
Screenshot 2021-02-05 at 19 20 08
Screenshot 2021-02-05 at 19 20 25
Screenshot 2021-02-05 at 19 20 12
Screenshot 2021-02-05 at 19 21 08
Screenshot 2021-02-05 at 19 21 26
Screenshot 2021-02-05 at 19 21 12
Screenshot 2021-02-05 at 19 21 28
Screenshot 2021-02-05 at 19 34 52
Screenshot 2021-02-05 at 19 34 33
Screenshot 2021-02-05 at 19 24 19
Screenshot 2021-02-05 at 19 40 21
Screenshot 2021-02-05 at 19 32 56
Screenshot 2021-02-05 at 19 47 34
Screenshot 2021-02-05 at 19 33 29
Screenshot 2021-02-05 at 19 47 36
Screenshot 2021-02-05 at 19 33 35
Screenshot 2021-02-05 at 19 47 41
Screenshot 2021-02-05 at 19 33 40
Screenshot 2021-02-05 at 19 47 44
Screenshot 2021-02-05 at 19 33 52
Screenshot 2021-02-05 at 19 47 47
Screenshot 2021-02-05 at 19 33 55
Screenshot 2021-02-05 at 19 47 49
Screenshot 2021-02-05 at 19 34 06
Screenshot 2021-02-05 at 19 47 54

QR code PDF

fund3-voting-registration-Shelley Wallet-2021-02-05T193357.0674.pdf
fund3-有権者登録-Shelley Wallet-2021-02-05T194749.0956.pdf


Testing Checklist

  • Slack QA thread
  • Run regression tests for existing Daedalus features
  • Run tests of the voting feature

Testing Summary


Review Checklist

Basics

  • PR has been assigned and has appropriate labels (feature/bug/chore, release-x.x.x)
  • PR is updated to the most recent version of the target branch (and there are no conflicts)
  • PR has a good description that summarizes all changes
  • PR has default-sized Daedalus window screenshots or animated GIFs of important UI changes:
    • In English
    • In Japanese
  • CHANGELOG entry has been added to the top of the appropriate section (Features, Fixes, Chores) and is linked to the correct PR on GitHub
  • Automated tests: All acceptance and unit tests are passing (yarn test)
  • Manual tests (minimum tests should cover newly added feature/fix): App works correctly in development build (yarn dev)
  • Manual tests (minimum tests should cover newly added feature/fix): App works correctly in production build (yarn package / CI builds)
  • There are no flow errors or warnings (yarn flow:test)
  • There are no lint errors or warnings (yarn lint)
  • There are no prettier errors or warnings (yarn prettier:check)
  • There are no missing translations (running yarn manage:translations produces no changes)
  • Text changes are proofread and approved (Jane Wild / Amy Reeve)
  • Japanese text changes are proofread and approved (Junko Oda)
  • UI changes look good in all themes (Alexander Rukin)
  • Storybook works and no stories are broken (yarn storybook)
  • In case of dependency changes yarn.lock file is updated

Code Quality

  • Important parts of the code are properly commented and documented
  • Code is properly typed with flow
  • React components are split-up enough to avoid unnecessary re-renderings
  • Any code that only works in main process is neatly separated from components

Testing

  • New feature/change is covered by acceptance tests
  • New feature/change is manually tested and approved by QA team
  • All existing acceptance tests are still up-to-date
  • New feature/change is covered by Daedalus Testing scenario
  • All existing Daedalus Testing scenarios are still up-to-date

After Review

  • Merge the PR
  • Delete the source branch
  • Move the ticket to done column on the YouTrack board
  • Update Slack QA thread by marking it with a green checkmark

juan-cieri and others added 30 commits October 13, 2020 11:00
Encrypt derived private key into a QR code.
Create a transaction in Cardano Wallet Backend API and send the public key as metadata.
Listen to transaction status until it is confirmed by the blockchain.
Add voting assets
Implement voting info view
Refactor themes for implement alphabetical order
Add new confirmation step
Add getWalletKey request for stake_key
Add createWalletSignature request for get signature key
Update metadata for voting registration transaction
@nikolaglumac nikolaglumac changed the title [DDW-541] Fund3 voting registration [DDW-593, DDW-541] Fund3 voting registration Feb 5, 2021
Copy link
Contributor

@alexander-rukin alexander-rukin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"A wizard is never late, nor is he early, he arrives precisely when he means to."
🧙

@nikolaglumac nikolaglumac changed the title [DDW-593, DDW-541] Fund3 voting registration [DDW-539, DDW-541] Fund3 voting registration Feb 5, 2021
@nikolaglumac nikolaglumac merged commit ac4c73c into develop Feb 5, 2021
@iohk-bors iohk-bors bot deleted the chore/ddw-541-inspect-catalyst-implementation branch February 5, 2021 18:50
@nikolaglumac nikolaglumac added release-3.3.0 Daedalus Mainnet release-3.3.0-FC1 Daedalus Flight and removed ⏳release-vNext labels Feb 6, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chore release-3.3.0-FC1 Daedalus Flight release-3.3.0 Daedalus Mainnet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants