Coder Social home page Coder Social logo

concordium / concordium-desktop-wallet Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 4.0 17.26 MB

Desktop wallet for the Concordium blockchain. For Windows, macOS and Linux.

License: Apache License 2.0

JavaScript 1.68% HTML 1.42% SCSS 3.45% TypeScript 90.50% Rust 1.36% Python 1.26% Standard ML 0.01% MDX 0.33%

concordium-desktop-wallet's Introduction

This is the repository for the desktop wallet.

Dependencies

You need the following to build and run the project:

Ubuntu

For ubuntu, a couple of extra dependencies are needed:

  • libusb 1.0 (sudo apt-get install libusb-1.0)
  • libudev-dev (sudo apt-get install libudev-dev)
  • rpm (sudo apt-get install rpm)

Install

Clone the repo via git.

git clone https://github.com/Concordium/concordium-desktop-wallet.git
cd concordium-desktop-wallet

Make sure to initialize submodules:

git submodule update --init

Then install dependencies:

yarn

Windows

On Windows you can run the above through e.g. Git bash, or if you want to run it from the Command Prompt, then you must add sh to your PATH for the proto build to run. You can get sh bundled with Git bash.

Starting Development

Start the app in the dev environment.

yarn start

Alternatively you can, in one terminal, run:

yarn build-main-dev && yarn start-renderer-dev

This will:

  • Build the electron main script
  • Start the webpack server for the electron renderer

Then, in another terminal, run:

yarn start:dev

To open the app.

This way, you can get quicker reloads, because you only need to restart start:dev, as the renderer thread will recompile in the background. N.B. This doesn't apply for changes in the rust code, which is only recompiled with a full restart.

Targeting specific network

To build the application for a specific network you must supply the TARGET_NET variable. The value has to be one of stagenet, testnet, protonet, or mainnet, otherwise the build will fail. If TARGET_NET is not set the build will be for mainnet. Note that the TARGET_NET will be appended to the filenames for stagenet and testnet.

TARGET_NET=stagenet yarn package

Targeting Ledger emulator (Speculos)

It is possible to run the desktop wallet in development mode against a Ledger emulator (Speculos). Note that this is not safe and is only relevant for development.

LEDGER_EMULATOR_URL=http://emulator-ip-address:port yarn start

Packaging for Production

To package apps for the local platform:

yarn package

Mac specific code signing and notarizing

As the software is distributed outside of the Mac App Store, it needs to be signed and notarized.

Running

yarn package

on a machine with MacOS will trigger the signing and notarizing processes. This requires a valid Developer ID Application Certificate in the Keychain of the machine used for building, and a valid Apple Developer ID has to be logged into Xcode on the same machine.

When the build has finished, the signing process will be triggered, and if it succeeds it will continue with the notarizing process.

For the notarizing process to succeed, the Apple ID and it's password also needs to be available as the following environment variables:

For the APPLEIDPASS, setting up an app-specific password for the Apple ID is recommended.

The notarizing process can take a while, and for testing purposes it can be skipped by running:

TARGET_NET=$NET yarn package-mac-no-notarize

Generating verification assets

Users are encouraged to verify the integrity of a downloaded application binary before installation. To support this, we need to generate a hash and a signature for each binary released. Furthermore, automatic updates also rely on these assets for verification of each update being installed.

To generate the assets, run:

yarn generate-verification-assets <path-to-private-key>
  • The private key used for this needs to match the public key published for verification, otherwise verification will not succeed.

By default, the script tries to generate a hash and sig file for all release binaries in release/. It also tries to verify the created signatures with Concordium's public key for the desktop wallet, which is published separately.

The script has a number of optional runtime arguments, which are documented in the underlying script file scripts/fileDigest.js.

concordium-desktop-wallet's People

Contributors

chrmatt avatar jens-concordium avatar limemloh avatar milkywaypirate avatar orhoj avatar shjortconcordium avatar soer8647 avatar soerenbf avatar thahara avatar tschudid avatar

Stargazers

 avatar  avatar

Watchers

 avatar

concordium-desktop-wallet's Issues

Alt-pressing Link opens new window

Bug Description
When alt-pressing a link in the wallet, a new window of the wallet is opened. It should not do this.

Steps to Reproduce

  1. Open the wallet.
    2a. Alt-click the first item in the sidebar.
    2b. unlock the wallet.
  2. Alt-click any item in the sidebar.

Expected Result
2a. nothing happens.
3. The wallet goes to that location, or nothing happens.

Actual Result
2a. A new window/instance of the wallet opens.
3. A new window/instance of the wallet opens in that location.

Versions

  • 1.1.6
  • Confirmed on Windows and Ubuntu

Add single signer baker flows

Description
At the moment baker transactions are only available via the multi-sig flows, so it would be nice to have flows for single signers.

A suggestion for the single signer flows can be found in Figma, on the page "Single signer baker transactions". This solution is dependent on "Advanced Account View" mentioned in issue #24.

This is a nice-to-have CR, as the functionality already exists.

Loading Transactions from wallet proxy fails silently

Bug Description

If the wallet is unable to reach the wallet proxy, when fetching new transactions,
there is no error given to the user.

Steps to Reproduce
Have a local node running.
Disconnect from the internet.
Enter the account page.

Expected Result

After the request to the wallet proxy fails, an error should be shown.

Actual Result

Nothing happens.

Versions

  • 1.1.6
  • Linux

Allow more than the minimum number of signatures on governance transactions

Description

It should be possible to include more than the threshold number of signatures on a governance transaction (as long as all signatures are valid). Currently the wallet does not allow adding further signatures after the threshold has been reached. The reason for this is that more than the minimum number of participants may be involved in the ceremony for redundancy, and if someone produces a valid signature, that signature should be recorded on the chain.

Versions

  • Software Version: 1.1.6
  • OS: all

Account recovery: stuck in waiting

Bug Description
During account recovery you can get stuck where the application says it is waiting, but nothing is happening on the Ledger.

Steps to Reproduce
Perform account recovery until you get the modal popup suggesting that you have completed recovery. Press outside of the modal to close it. Then at the next identity index it says Waiting... while the Ledger view says Recovering credentials, preventing the user from submitting to the Ledger again to continue.

Expected Result
The Ledger should not be in the Recovering credentials state, but should allow the user to submit to the Ledger again to recover more credentials.

Actual Result

See steps to reproduce.

Versions

  • Software Version 1.2.0-alpha
  • OS Ubuntu 20.04.3 LTS

Add feedback on why there are no accounts to choose from in some multi-sig scenarios

Description

There is a bunch of multi-sig scenarios, in which the user can end up on a half-empty and very confusing screen, like the one shown below in the Actual Result section. It would be nice if the wallet gave some feedback on why there are no accounts to choose from.

Scenarios:

  • Trying to start any multi-sig transaction with no accounts at all in the desktop wallet.
  • Trying to make one of the following baker transactions without having an active baker account. Update Baker Keys, Remove Baker, Update Baker Stake, and Update Baker Restake Earnings.
  • Trying to start an Add Baker transaction, while all accounts in the wallet are already active bakers.

Expected Result
Either some explanatory text of why there are no accounts to choose from, or some other form of feedback.

Actual Result
A half-empty and somewhat confusing screen.
image

Versions

  • Software Version: v1.1.4
  • OS: MacOS

gtu drop [placeholder]

Task description

Sub-tasks

  • subtask 1
  • subtask 2
  • subtask 3

Add label for component and priority.

Error when making account reports

Bug Description
The desktop wallet gives an error when trying to make an account report: unexpected transaction type.

It is likely because there are transfers with a memo in the reports, more specifically it's probably because of a shielded transfer with a memo.
Image 30-09-2021 at 15 51

Steps to Reproduce
Make an encrypted transfer with a memo, and try to make an account report.

Expected Result
No errors, report is made as intended.

Actual Result
The above-mentioned error happens.

Versions

  • Software Version: 1.2.0-beta.2
  • OS: MacOS 11.5.2

Calculating date from epoch is done incorrectly

Bug Description

When baker stake is frozen, the date where it is unfreezes, is incorrect

Steps to Reproduce

Take a baker account, and send a Remove Baker to chain.
Enter the flow for creating an Update Baker Stake transaction from the Multi Signature menu.
An error is present on the account, which displays when the baker is removed.

Expected Result

The date is in the future.

Actual Result

The date is in the past.

Versions
desktop wallet - 1.2.0-beta

Update modal text, when the node is unavailable or catching up

Description
Currently when the DW tries to get account info from the node, it gives an error message that can be hard to understand as a user, if the DW is not connected to a node. Additionally the title shown on the modals both when catching up and when the node is unavailable is "Unable to update accounts", which makes it sound a bit like your are trying and failing to make changes to the account.

Maybe the no node connection modal should say something like:

Node unavailable
Cannot confirm account information.

And maybe the title of the modal shown when the node is catching up should also be updated, so it says:

Node catching up
A confirmed account does not exist on the connected node. Please check that your node is up to date with the blockchain.

Current message shown with no connection:
Image 01-10-2021 at 13 31

Current message shown when catching up:
Image 01-10-2021 at 13 52

Versions

  • Software Version: 1.2.0-beta.2
  • OS: MacOS

Encrypted transfer can fail if created while another is pending.

Bug Description

If an encrypted transfer is created while another is pending, but sent after the other has been finalized, then it will fail due to invalid proof.

The same is likely the case for "unshield amount" transfers.

Steps to Reproduce

  • Send an encrypted transfer T1.
  • (Quickly) Construct another encrypted transfer and enter the submit page and begin signing T2 on ledger.
  • Wait until T1 has been finalized to complete signing T2 on ledger.

Expected Result

T2 is successful. (Or is not allowed to be sent)

Actual Result

T2 fails due to invalid proof.

Versions

  • 1.1.6
  • Linux

Importing account, when addressBookEntry already exists, breaks convention

Bug Description

Currently we have convention that for each account there should a corresponding entry on the addressbook, which has the same name ( and is readOnly).
This can be broken by having an addressBookEntry for with address A, and then importing the account. the already existing addressBookEntry will still exist and can be removed. (and the name can be different).

Steps to Reproduce

Have an empty database and a backup with an account on address A.
Create an addressBookEntry on Address A.
import the backup.

Expected Result

After importing there should be a readOnly addressBookEntry on Address A, with the same name as the account.

Actual Result

The addressBookEntry on address A is editable, and the name is the same as prior to the import.

Versions

  • 1.1.6
  • Ubuntu

Pending accounts should not be shown in multisig transaction view

Bug Description
Pending accounts should not be shown in multisig transaction view. The following flow is inconsistent.

pending accounts multisig

Expected Result
Pending accounts should not be shown in multisig transaction view.

Actual Result
They are shown and can be selected. The flow is inconsistent and stops because the credentials cannot be found on the Ledger.

Versions
DW 1.2.0-alpha
Ledger app 1.0.3
Windows

Import matches identities incorrectly

Bug Description
The import flow tries to match existing identities with the imported identities by using the identityNumber and walletId. However, the walletId may differ between the two for the same hardware wallet with identical identifier. Therefore the import has to use the actual identifier when matching identities.

Steps to Reproduce
Create identities with multiple Ledgers so that some have walletId = 1 and some walletId = 2. Reset the database and perform recovery with the wallet that was previously given walletId = 2.

Expected Result
That matching identities are merged.

Actual Result
The recovered identity does not get the identity information from the import, but the identity is imported next to the recovered identity instead.

Versions

  • Software Version 1.2.0-alpha

Add transfers with metadata to the desktop wallet

Task description

The node will support adding metadata to transfers, encrypted transfers, and transfers with schedule, and thus the wallet should support it as well.

Metadata that goes into a transaction should be CBOR encoded, but the UI should probably be optimized for the common case where the user inputs a string or an integer value.

Sub-tasks

  • Design the UI and flows for adding metadata.
  • Implement sending new transaction types. This should check whether these are enabled on the node already or not, and prevent the user from ideally even constructing these transactions if they are not enabled.
  • Implement displaying metadata for incoming transfers.

Related milestone with details of the changes on the node

Visibility of wallet version

Description
On small screens (e.g. laptops), the version in the left lower corner is not visible and you cannot scroll down in the task bar. A way to see it is e.g. ctrl - - on Windows.

A use case for this is a signing ceremony where ppl must double-check the version and often bring laptops.

Expected Result

  1. The version should be displayed under Settings > About.
  2. The version should be shown on small screens as well, e.g. accessible via scrolling.

Actual Result
The version is not visible unless you e.g. use ctrl - - on windows.

Versions

  • DW 1.1.6
  • Windows, Lenovo ThinkPad with resolution 1920x1080

Wrong key is not rejected when attaching signatures

Bug Description
A wrong key could be attached to a governance proposal without showing an error. The proposal then showed an error when it was submitted to chain.

Expected Result
Signature is rejected already when proposer tries to add it to a proposal.

Actual Result
Signature was attached.

Versions

  • DW 1.1.6

Streamline naming: Concordium Desktop Wallet

Description
At the moment we are not completely consistent in how we use the names Concordium Wallet and Concordium Desktop Wallet. It would be good if we could just use the name Concordium Desktop Wallet, to also keep it consistent with how we name the mobile wallet.

As there could be some complexity related to how paths are named, it might not be straight forward to rename the desktop wallet.

Versions

  • Software Version: 1.2.0-beta.2
  • OS: MacOS, Linux, Windows

Transaction view with more than 100 last transactions

Description
Right now, you can only browse through your entire transaction history (past latest 100 transactions) by making an account report. It should be possible for a user to get an overview of your entire history of transactions in the user-friendly view of the transaction list.

In order to realize this, we probably need to re-think how the transaction list works.

Update Jenkins scripts

Task description
Update the Jenkins builds to also upload the required files for releasing automatic updates. The additional files that are required are the .yml files:

  • latest.yml (Windows)
  • latest-linux.yml

We do not need to include it from macOS build as we use a non-build server for that.

For the automatic updates to work we also need hashes and signatures, but that cannot be handled by the build server (perhaps it can for the Linux build), as it needs to be done after signing which we do manually for Windows and macOS on a non-build server.

Note: The current Jenkins files point to the old Gitlab repository, so part of this task is also pointing it to the Github repository.

Use arrow keys to browse back and forth in time component

Description
When entering date and time in the date and time component, it is currently not possible to change back and forth between fields with the arrows on the keyboards. It would be nice if that was possible.

Image 30-09-2021 at 15 24

Expected Result
That it would be possible to use right and left arrow keys on the keyboard to change back and forth between fields.

Actual Result
It's not possible to change back and forth.

Versions

  • Software Version: 1.2.0-beta.2
  • OS: MacOS 11.5.2

long memos are cut off in print-out

Bug Description
Long memos are cut off in print out and print-to-pdf, probably because of margins. The text in the first line should break earlier. Attached pic is the print-to-pdf but first line is similarly cut off in printout.

Steps to Reproduce

  • make transfer with memo
  • write very long memo
  • print out transaction view

Expected Result
First line of memo breaks earlier.

Actual Result
First line in memo text is cut off.

long memo is cut off

Versions

  • DW 1.2.0 beta
  • Windows

Notabene's terms and/or privacy statements cannot be closed without restarting the Ledger flow

Description
When initiating the Notabene flow, the user first has to confirm some actions on the Ledger (e.g. confirm pk, confirm identity provider keys). Then a Notabene info text is shown with links to Notabene's terms and privacy statements. When following those links, the only possibility to close the statements and proceed with the flow is to either use X or the back button. Both options relate to the identity flow itself and thereby restart it. There is no option to close the Notabene subpage. Hence, the user must redo all the Ledger confirmations.

nb

Steps to Reproduce

  • initiate id flow with notabene
  • confirm all initial actions on Ledger
  • on page "verify your identity with Notabene", open either "Terms" or "Privacy"
  • clich X or <

Expected Result
Closing X that relates to the Notabene subpage, so that only subpages close and user can click "Get started" and progress in the flow.

Actual Result
Only existing buttons relate to the identity flow. Identity flow is restarted.

Versions

  • dw 1.2.0 beta2
  • Windows
  • Chrome

Multi-signature transaction may be "signed" without confirmation on Ledger

Bug Description

When signing an governance update transaction, it can be that the wallet appears to produce a signature, but the ledger is not correctly used to sign the transaction.

Steps to Reproduce

These may not be correct/complete.

  • Open the proposal to be signed
  • Allow the ledger to enter the locked state
  • Attempt to sign the proposal. The ledger status turns to [Object object].
  • Unlock the ledger and press "Sign Proposal" again.
  • The transaction appears to be signed allowing export of the "signed" proposal.

Expected Result
After unlocking the device and choosing "Sign Proposal", the process on the device should allow signing as normal.

Actual Result
update-micro-gtu-per-euro_signature-ty.json.txt

Versions

  • Software Version: 1.1.6
  • Firmware Version: 0.5.0
  • OS: Windows

Improve error message when trying to import MW export

Description
Currently when trying to import an export from the mobile wallet, the error message is hard to understand. If possible, it would be nice to check if the file is from the mobile wallet, and then write a more understandable message, e.g.:

"Exports from the Concordium Mobile Wallet are not compatible with the Concordium Desktop Wallet, and vice versa."

Image 01-10-2021 at 11 32

Steps to Reproduce
Make an export from the mobile wallet. Try to import it in the desktop wallet. Notice current error message.

Expected Result
The error message is something understandable, that explains why it the file cannot be imported.

Actual Result
The error message is: "This file is invalid due to: missing metadata.keyLen value."

Versions

  • Software Version: 1.2.0-beta.2
  • OS: MacOS

Menu bar does not appear on Windows.

Bug Description

The application's menu bar does not appear on windows when pressing alt.

Steps to Reproduce

Open the wallet on windows, press alt.

Expected Result

Menu bar appears.

Actual Result

Nothing happens.

Versions

  • 1.1.6
  • Windows

Failed database migration tells the user that the password was incorrect

Bug Description
If a database migration fails, then the error is shown to the user as if they had entered an incorrect password.

Steps to Reproduce
Create a faulty database migration and try to log in to the application.

Expected Result
The user gets a correct error message. In the case of a database migration error the user will have to contact our support, as we will need to remedy the issue. The user cannot do anything without assistance in this case.

Actual Result
The user is told that the password is incorrect.

Locked-up money should be stakeable

Task description
It must be possible to stake money as baker that is not "at disposal" but locked up on the account (i.e. not yet released).

Steps

  • transfer e.g. 14014 GTU with schedule from account A to B
  • when baker registration fee < at disposal < 14000 on account B, use function "add baker"
  • register as baker with 14000 stake

Expected Result
Locked-up money can be staked.

Actual Result
stake

Version

  • DW 1.2.0 beta

Improve transaction insert efficiency

Description

Currently when inserting transactions, the app loads every transaction into memory to check if the transaction already exists.
This is very inefficient for large databases, and could potentially fail, if the transactions won't fit in the memory.

We should change this, to check for the duplicate transactions more efficiently and scalable.

Outdated Ledger application shows as "OutDated"

Bug Description
If using a Ledger with an outdated version the status in the lower left corner shows:

OutDated

Steps to Reproduce
Install a Ledger application with a version prior to 1.0.2 and open the Concordium application.

Expected Result
A better message like:

Outdated

or

Incompatible version

Something that makes it clear to the user that they need to upgrade their Ledger.

Actual Result
It shows

OutDated

Versions

  • 1.1.6
  • Ubuntu 20.04.3 LTS

Update to the failed identity view + contact support flow

Description

The first version of the hashed session ID solution in the Desktop Wallet turned out to not be good enough, so it was redesigned and it has to be changed in the implementation.

The new design can be found in Figma, on the page "Issuance reference"

Versions

  • Software Version: 1.2.0-beta.2

Make auxiliary data optional in Update Protocol

Description
Currently the UI enforces that an auxiliary data file must be attached when creating an Update Protocol transaction. It should be optional instead.

Steps to Reproduce

  1. Create an Update Protocol without attaching auxiliary data.
  2. Notice that an error message is shown when you try to generate the transaction.

Expected Result

  • The user is allowed to create an Update Protocol transaction without attaching auxiliary data.

Actual Result

  • The user cannot create an Update Protocol transaction without attaching auxiliary data.

Versions

  • Software Version: 1.2.0

Memo consisting of only spaces or line breaks becomes 0.

Bug Description
When sending a transfer with memo in the Desktop Wallet, and the memo consists of only spaces or only line breaks, then it gets parsed as 0.

Steps to Reproduce

  • Make a transfer with memo that consists of only spaces or line breaks.

Expected Result
The spaces or linebreaks will get encoded as a CBOR string on chain.

Actual Result
Memo becomes 0, i.e. on-chain value is 00.

Versions

  • Software Version: V 1.2.0-alpha
  • OS: Windows

Pending and failed accounts should not have a detailed view

Bug Description
In the new account detail view, details like account address and transaction log are also accessible for pending and failed accounts. This should not be the case, since it has many unwanted consequences (e.g. user can copy account address for failed account, failed account can be set as default, ...). The right side view for pending and failed accounts should be empty as it was previously. "Change view" should not be available.

Note that to access the detailed view for failed accounts, the user has to

failed_account_view

Steps to Reproduce
1

  • issue an identity
  • while id is pending, go to account view
  • select pending account
  • select "change view"

2

  • issue an identity that will fail
  • when id has failed, go to account view
  • select failed account
  • close (with X) pop-up dialog that intends to redirect to identity
  • select "change view"

Expected Result
When selecting the account card for a pending or failed account, the right view should be empty.

Actual Result
When selecting the account card for a pending or failed account, the right view shows details and "change view" is accessible.

Versions

  • DW 1.2.0-beta 2
  • Windows
  • Chrome

getNextIdentityNumber returns an incorrect value

Bug Description
getNextIdentityNumber returns an incorrect value if the database contains skipped identityNumber's.

Steps to Reproduce

  1. Create an identity.
  2. Create an identity that fails so that the identity number is used.
  3. Create an identity.
  4. Delete the database.
  5. Perform account recovery, which will result in two identities with identityNumber=0 and identityNumber=2.
  6. Try to create a new identity and observe that it attempts to use identityNumber=2.

Expected Result
The correct next identityNumber should be returned, which is max(identityNumber) + 1.

Actual Result
It returns the count of identities.

Versions

  • Software Version 1.2.0-alpha

CBOR map is displayed as [object Object]

Bug Description
CBOR maps are displayed as [object Object].

Steps to Reproduce

  • Make a transfer with memo from concordium client to an account visible in the Desktop Wallet, where
    the memo is a CBOR encoded map, e.g. a16548656c6c6f65576f726c64 which corresponds to the JSON map
    {"Hello": "World"}.

Expected Result
Either that the memo is displayed as JSON or as the raw on-chain value.

Actual Result
The memo is displayed as [object Object].

Versions

  • Software Version: V 1.2.0-alpha
  • OS: Windows

Minor layout inconsistencies

Description
1.
There are inconsistencies when marking invalid user input. E.g. in multisig simple and scheduled transfers, an invalid memo only shows a red error message but the memo characters stay blue. The invalid amount turns red, not only a red error message.
coloring

In single sig transfers, the characters become read as well.
coloring_2

Wrong spelling is indicated but DW does not seem to allow the usual right-click context menu, which would allow auto correction.
spelling

Versions

  • dw 1.2.0 beta2
  • Windows
  • Chrome

Reverse transaction ordering fetched from wallet proxy

Description
Currently we fetch the oldest transactions first, but the newest transactions are quite likely the ones of the highest interest to a user. It is not feasible that a user has to wait for all transactions to be loaded before they can see their transactions from today.

Furthermore, it makes more sense to only fetch the transactions needed to display the most recent N transactions for an account instead of fetching all the transactions to filter them client side (to not overload the wallet proxy).

For generating an account report, we will probably need to recursively fetch transactions until the list of transactions for the respective account(s) have been exhausted.

Dependent on

Sub-tasks

  • Fetch transactions for account view based on filters and in descending order.
  • Fetch transactions for account(s) report instead of basing it on data from DB.

Change datetime inputs to datepicker component

Description
To improve usability and accessibility, we have decided to change datetime inputs to use a datepicker instead.

We have landed on the following library: react-datepicker, as it is simple, features date + time, and is accessible + customizable.

As design options might be limited, implementation will probably end up deciding design, so collaboration with @jens-concordium is important.

Align black'ish (black/dark-grey) colors

Description

Icons throughout the app seem to vary with regards to color. In general, we should use the dark-grey (#181817) instead of pitch black, as it is a bit easier on the eyes.

Sub-tasks

  • Ensure correct color for black icons
  • Correct background color of account balance view

Multisig "send GTU" flow has wrong heading

Bug Description
Multisig "send GTU" flow has heading "send GTU with schedule". But note that release schedule is correctly missing from page, if you don't believe that I have selected simple transfer and not scheduled transfer :-)

send gtu multisig

Expected Result
Heading should be "Send GTU".

Actual Result
Heading is "Send GTU with schedule".

Versions
DW 1.2.0-alpha
Ledger app 1.0.3
Windows

More info in dialogs when identity fails

Description

  1. When selecting a failed account on the account page, a dlg pops up. Please add the following sentence: The account will be automatically removed when you delete the related failed identity.

failure dlg

  1. When an identity issuance fails, a dlg pops up. Please change the last sentence to: The identity can be removed by deleting the identity card in the identity view. This will automatically delete the related initial account as well. And while your add it, please add a period after the first sentence ;-)

failure_dlg_2

Steps to Reproduce
Let an identity issuance fail.

Versions

  • DW 1.2.0 beta2
  • Windows
  • Chrome

Date and time errors when making account reports

Bug Description
When making an account report and setting the "To:" time too close to the current time, yields and error.

The wallet says "Date must be before today", even though it should be possible to make the report from today.

If the time is set to an hour before the current time, the wallet doesn't give you any errors.

Image 30-09-2021 at 15 36
Steps to Reproduce

Expected Result
It should be possible to make a report all the way up to the current time. If the user enters a time in the future, the error message should not be "Date must be before today", but something like "The time cannot be in the future" or something.

Actual Result
It is not possible to make a report that goes all the way up past the last hour, and it says "Date must be before today"

Versions

  • Software Version: 1.2.0-beta.2
  • OS: MacOS 11.5.2

Storybook throws "File is not a module" error on recompile through watch.

Bug Description
When starting storybook, everything looks fine on the first compilation round. But if a change is made to any file, triggering a re-compile, it throws an error, making the storybook interface inaccessible. Don't know why the specific file is even included in the compilation, as it doesn't seem to be included in any of the stories or the components thereof.

The specific error is:

ERROR in /Users/sbz/Developer/Concordium/desktopwallet/src/app/ipc/grpc.ts(4,34)
      TS2306: File '/Users/sbz/Developer/Concordium/desktopwallet/src/app/node/ConcordiumNodeClient.ts' is not a module.

Screenshot 2021-08-13 at 09 39 13

Steps to Reproduce

  • yarn storybook in terminal
  • Make a change to a file, triggering the file watcher
  • Error is shown on top of the storybook UI.

Expected Result
Storybook stays functional and interactive

Actual Result
Storybook UI is inaccessible due to error message being overlaid

Versions

  • Software Version: 1.1.6
  • OS: MacOS

Fetch a batch of the latest non-reward transactions from the wallet proxy

Task description
Accounts that receive a lot of transactions, e.g. finalizers and bakers, have a problem finding non-reward transactions as they have to fetch all transactions from the wallet proxy before they can find their regular account transactions in between.

The main problem is that there can be thousands upon thousands of reward events that have to be processed first. To remedy this we will add an additional step when fetching from the wallet proxy, before performing the existing flow:

  • Fetch the latest non-reward transactions from the wallet proxy.

This should result in the user always having their latest transactions available, which are assumed to be the most relevant. Afterwards we will continue to fetch old transactions in an ascending order as it is done today.

Notes:

  • When the transaction fetching catches up we will end up fetching the same transactions again, and when that happens they can safely be ignored or be used to overwrite the existing entries. As long as they do not show up multiple times in the database everything should be fine.

Wrong wording on transaction filters, while making an account report

Description
When making an account report, three of the filters are called:

  • Transfers to Public
  • Transfers to Encrypted
  • Encrypted transfer

To align with the common wording elsewhere in the desktop wallet, mobile wallet and documentation, these should instead be:

  • Unshieldings
  • Shieldings
  • Shielded transfers

Steps to Reproduce
Browse to the "Make Account Report" feature, and have a look at the filters.
image

Expected Result

  • Unshieldings
  • Shieldings
  • Shielded transfers

Actual Result

  • Transfers to Public
  • Transfers to Encrypted
  • Encrypted transfer

Versions

  • Software Version: v1.1.4
  • OS: MacOS 11.4

Ledger immediately signs if double clicking while showing "Amount to stake" or "Restake earnings"

Bug Description
When signing an "add baker" transaction, Ledger immediately signs if double pressing while showing "Amount to stake" or "Restake earnings". Furthermore, the signature is wrong.

Steps to Reproduce

  1. Make an "add baker" transaction ready for signing in the DW.
  2. Click on the right button on the Ledger until "Amount to stake" or "Restake earnings" is shown.
  3. Click on both buttons.

Expected Result
Nothing should happen.

Actual Result
The Ledger signs the transaction immediately, and the signature is wrong.

Versions

  • Software Version: Physical Nano S version running Concordium 1.0.3 and an Nano X emulator.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.