Giter Club home page Giter Club logo

kibisis-web-extension's People

Contributors

agoralabs-bot avatar d13co avatar kieranroneill avatar temptemp3 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

kibisis-web-extension's Issues

Sign arbitrary data via WalletConnect

Summary

After successfully connecting to WalletConnect, transactions sent from the dapp should be able to sign a transaction request.

Acceptance criteria

Scenario 1: User signs some arbitrary data via WalletConnect
GIVEN a User has connected a dapp via WalletConnect
WHEN the dapp sends a request to sign the arbitrary data
THEN the wallet signs the arbitrary data

Notes

Opt-in to ASA

Summary

"Adding" an asset, ie. opt-in, should be initiated from the assets tab on the account page.

Acceptance criteria

Scenario 1: User adds an ASA
GIVEN a User has added an account
WHEN the User presses "Add asset" on the asset tab of the accounts page
AND the User enters the ASA ID in the input field
THEN the User is shown a modal that informs them an ASA will require 0.001 native tokens to add
AND an opt-in transaction is signed and sent to the chain

Notes

  • "Adding" an ASA will send a 0 transaction of the asset, i.e. opting into the asset.

Edge automated upload script not working

Summary

The Edge add-on script that automates the upload and publish of the Edge add-on is not working correctly as seen here.

Steps to produce

  • Tag a release on from the main branch

Expected Results

  • Kibisis for Edge is automatically uploaded and published

Actual Results

  • The CI workflow reports a success, but the publish failed
parse error: Invalid numeric literal at line 1, column 10
./bin/publish_to_microsoft_edge_add_ons.sh: line 109: [: ==: unary operator expected

Allow mainnet toggle not working

Summary

When attempting to turn on the MainNet, the toggle does not turn on after confirming.

Steps to produce

  • Go to Settings > Advanced
  • Press the "Allow MainNet" toggle
  • Click "Confirm" on the warning modal

Expected Results

  • MainNet networks are enabled

Actual Results

  • The toggle remains off
  • MainNet networks are not enabled

Auomatically upload and publish to the Edge add-on store

Summary

Uploading and publishing to the Edge add-on store should be initiated upon a release.

Acceptance criteria

Scenario 1: deploy to Edge add-on store
GIVEN a release is tagged
WHEN GitHub actions tags the release
THEN the extension is packaged and published to the Edge add-on store

Notes

Disable WalletConnect scan button

Summary

Until at least one WalletConnect signing method is implemented, disable the WalletConnect button as it remains redundant.

Acceptance criteria

Scenario 1: User cannot see WalletConnect button
GIVEN a User opened Kibisis
WHEN the User opens the sidebar
THEN the WalletConnect button is no longer there

Migration issue from 1.7.0 to 1.8.0

Summary

Users have been experiencing an recoverable issue when updating from version 1.7.0 to 1.8.0

Steps to produce

  • Install version 1.7.0
  • Update to version 1.8.0

Expected Results

  • Extension opens with new version

Actual Results

actual results

Remove downloads permission

Summary

With the removal of the strong password policy document, the downloads permission is no longer required.

UseWallet messages timing out

Summary

UseWallet messages are timing out and are not being handled correctly.

Steps to produce

  • Launch UseWallet storybook

Expected Results

  • Kibisis should appear in the list

Actual Results

  • Kibisis does not appear
  • 4002 error when initializing the provider

Double for slash on send assets button tooltip

Summary

A double forward slash appears on the send assets button in the sidebar.

Steps to produce

  • Assuming you are using Voi
  • Hover the mouse over the send assets button tooltip

Expected Results

  • The tooltip should say "Send Voi/Asset"

Actual Results

  • The tooltip says "Send Voi//Asset"

Extend WalletConnect sessions

Summary

WalletConnect sessions only last 7 days, but users may want to extend these sessions.

Acceptance criteria

Scenario 1: User extends WalletConnect session
GIVEN a User connected using WalletConnect
WHEN the User goes to the "Manage Session" page
AND the User presses "Extend Session"
THEN the WalletConnect session is extended for another 7 days

Notes

Remove AlgoExplorer option from Algorand

Summary

In light of the shutdown of AlgoExplorer, from 1st January 2024, it must be removed from the list of block explorers on Algorand networks.

Acceptance criteria

Scenario 1: AlgoExplorer is no longer available as a block explorer
GIVEN a User is on Algorand testnet
WHEN the User goes to the settings page
AND the selects "General Settings"
AND the User attempts to change the block explorer
THEN the list will display "No block explorers available" in the select

Notes

  • For Algorand mainnet, it can be replaced with Allo
    • See here for migration from AlgoExplorer

Trim all non-alpha characters when copying seed phrase

Summary

When a seed phrase is being copy and pasted, if the copied seed phrase uses commas for delimiters, they are also copied into the inputs.

Steps to produce

  • At the import seed phrase input
  • Copy a seed phrase with comma delimiters
  • Paste into the input

Expected Results

  • The seed phrase is copied without the commas

Actual Results

  • The seed phrase is copied with commas

Show about information in the settings

Summary

For the main purposes of support and debug, it would be helpful for users to be able to see information about Kibisis, such as version.

Acceptance criteria

Scenario 1: User checks Kibisis version
GIVEN a User wants to check the version of Kibisis
WHEN the User presses the settings button in the sidebar
AND the User selects "About"
THEN the version is displayed in the about settings page

Styling issues with the edit account name buttons

Summary

The rename account input and edit buttons have a few styling issues, namely, the border radius doesn't apply to the button container and makes then square.

They also appear under the edit button if they are overlapping.

Steps to produce

  • On the account page, press the "Rename account" button

Expected Results

  • The buttons have a rounded corner
  • The buttons should appear on top of other UI

Actual Results

actual results

Add ARC200 asset

Summary

Adding an an ARC-200 is simpler than an ASA, as ARC-200 function much like ERC-20, in that they are an app that stores a map of Addresses and balances. This removes the need to "opt-in" to the asset.

Acceptance criteria

Scenario 1: User adds an ARC-200 asset
GIVEN a User has added an account
WHEN the User presses "Add asset" on the asset tab of the accounts page
AND the User enters the app ID in the input field
THEN the ARC-200 asset is added and appears in the assets list

Notes

Number input doesn't allow decimals

Summary

When sending assets, the number input doesn't allow inputs and does not pad zeroes.

Steps to produce

  • Open the "Send Asset" modal
  • Try to enter "0.01" into the input field

Expected Results

  • The input field should display "0.01"

Actual Results

  • "0" is displayed

Send ARC200 asset

Summary

With the introduction of ARC200 assets in #50, it should be possible to also send them like standard assets and native currency

Acceptance criteria

Scenario 1: User sends an ARC200 asset
GIVEN a User has added an ARC200 asset
WHEN the User presses "Send" on the asset page
AND the User enters the address to send and the amount
AND the User presses send
THEN the ARC200 asset application (smart contract) is updated

Notes

Move Strong Password policy as link to website

Summary

The react-markdown package that is used to render the markdown files, namely the Strong Password policy, has some code that is not favourable for the Firefox submission. Therefore, all policies must be moved to the website and external links used.

Acceptance criteria

Scenario 1: User views Strong Password policy upon registration
GIVEN a User is registering Kibisis for the first time
WHEN the User clicks the Strong Password policy link
THEN a new tab is open to the Strong Password policy on the website

Scenario 2: User views Strong Password policy after registration
GIVEN a User has already registered Kibisis
WHEN the User goes to the Security settings page
AND the User clicks "Change Password"
WHEN the User clicks the Strong Password policy link
THEN a new tab is open to the Strong Password policy on the website

Show notification for new transactions

Summary

The standard Chakra UI toast is a bit intrusive, but they do allow for customization. It will also be helpful users to be notified of any new transactions.

Acceptance criteria

Scenario 1: User receives a notification of new transactions
GIVEN the active account has new transactions
WHEN the new transactions has been polled
THEN a notification shows the amount of new transactions

Notes

  • Only show a notification for the active account.

"algos" used in minimum balance tooltip on Voi networks

Summary

The minimum balance info incorrectly shows the native currency code in the tooltip caption for Voi networks.

Steps to produce

  • On the account page
  • Select a Voi network
  • Hover the mouse over the info next to the native currency balance

Expected Results

Minimum balance is X voi. Based on the account configuration, this is the minimum balance needed to keep the account open.

Actual Results

Minimum balance is X algos. Based on the account configuration, this is the minimum balance needed to keep the account open.

Add support for use-wallet

Summary

A few dapps on the Algorand and Voi network utilize TxnLabs use-wallet SDK to connect to popular wallets. Opening a pull request on use-wallet to allow connection to Kibisis will help boost Kibisis' dapp compatibility.

The new connection rail through use-wallet, is a good chance to implement the ARC-0013 specification that is being proposed by @kieranroneill

Acceptance criteria

Scenario 1: Dapp connects to Kibisis through use-wallet
GIVEN a Dapp uses use-wallet to connect to wallets
WHEN the Dapp chooses Kibisis as a wallet provider
AND the Dapp calls connect
THEN a session is created on Kibisis

Notes

Native assets showing as ASA on send summary screen

Summary

Native currencies are not assets, but they are treated as a standard asset with an ID of "0". Any reference to ASA, should not apply to the native currency.

Steps to produce

  • Press "Send XX/Asset" button in the sidebar
  • Select the native currrency
  • Press "Next"

Expected Results

  • Should not show "ASA" tag

Actual Results

actual results

Sign transactions via WalletConnect

Summary

After successfully connecting to WalletConnect, transactions sent from the dapp should be able to sign a transaction request.

Acceptance criteria

Scenario 1: User signs a WalletConnect transaction
GIVEN a User has connected a dapp via WalletConnect
WHEN the dapp sends a request to sign a transaction
THEN the wallet signs the transaction

Notes

Add your own node details

Summary

Allowing a user to add their own node details will be vital in the step of making Kibisis useful for achieving decentralization.

Acceptance criteria

Scenario 1: User adds their own node details
GIVEN a User has a custom node they would like to use
WHEN the User navigates to the Advanced settings page
AND the User selects "Nodes"
AND the User presses "Add Your Own Node"
AND the User enters the Algod & Indexer URLs and the optional API token
THEN the node is saved to settings
AND the node is used

Notes

  • When adding the node, send a /genesis request to check the networks match
  • warn the user if the networks don't match

Network support on ARC-0027 requests not being filtered by allowed networks in settings

Summary

When getting providers for the ARC-0027 request, all networks in the config are returned. This is not truly representative of the allowed networks. If the user has not allowed mainnet/betanet networks, they should be excluded from the list.

Steps to produce

  • Ensure no betanet or mainnet networks are allowed in the advanced settings
  • Send a arc0027:get_providers:request

Expected Results

  • Only testnet networks are returned

Actual Results

  • All networks in the network config are returned

Default to Voi testnet

Summary

Voi testnet users are the current demographic and will help drive the KIbisis, it is therefore prudent to have Voi testnet as the default network choice.

Acceptance criteria

Scenario 1: Voi testnet is the default network
GIVEN a User has imported a new account
WHEN a User presses the extension button
THEN Voi testnet is the default network

Notes

Bring the extension window to the forefront when the extension button is pressed

Summary

A useful feature would be to bring the app window to the forefront, if it is in the background.

Acceptance criteria

Scenario 1: User brings app window to focus
GIVEN a User opened the extension
AND the extension has lost focus and is put into the background
WHEN the User presses extension button on their browser
THEN the extension window is brought into focus

Scanning for QR code in WalletConnect runs forever once initiated

Summary

Once the scanning for the WalletConnect QR code is initiated, the setInterval runs forever, if the user closes the modal.

See this hook for the every lasting interval.

Steps to produce

  • Running in development mode
  • Press the scan for WalletConnect QR code in the sidebar
  • Cancel the scanning modal

Expected Results

  • Scanning interval stops scanning.

Actual Results

  • The scanning interval runs forever
  • "no qr code found" gets printed in the console forever

Import account not working on registration

Summary

Users are still reporting issues with importing an account upon registration. This is causing issues where users attempt to import again, but the account has already been imported.

Steps to produce

  • Import an account on registration

Expected Results

  • The registration account closes
  • The main app opens

Actual Results

  • The registration app remains open

Notes

  • Add a loader to indicate the registration is still ongoing.

Poll for new transactions

Summary

Transactions are only updated when new transactions are added, so they may become stale.

Acceptance criteria

Scenario 1: Transactions are polled
GIVEN a User has Kibisis open and idle
WHEN a User has made a transaction outside Kibisis
THEN the transaction will appear in the list

Notes

  • Previous downloaded transactions will need to remain.
  • Keep next tokens for pagination.

Algorand icon showing on Voi when selecting an asset

Summary

When adding a new asset, the native currency icon always shows the Algorand icon.

Steps to produce

  • Make sure you are on Voi testnet
  • Press "Add Voi/Asset" button in the sidebar

Expected Results

  • The Voi asset icon should be displayed

Actual Results

  • Alogrand icon is displayed:

Image

Selecting send assets from settings shows a blank screen

Summary

When pressing the "Send Assets" button from anywhere in the settings, a blank screen is displayed.

Steps to produce

  • Press the "Settings" button from the sidebar
  • Now press the "Send Assets" button in the sidebar

Expected Results

expected results

Actual Results

actual results

Enable requests not working from the background

Summary

During the Voi hackathon, enable requests were not working when trying to connect to Kibisis via the background service worker.

Steps to produce

  • Ensure not previous sessions exist
  • Ensure Kibisis is closed
  • Attempt to enable a new dapp

Expected Results

  • Kibisis opens and the enable accounts modal is open

Actual Results

  • Nothing happens

Unnamed accounts make transactions to too big

Summary

Transactions that use unnamed account misalign the elements in the transaction

Steps to produce

  • Send a transaction with an unnamed account

Expected Results

  • The transaction in the activity tab should be aligned

Actual Results

actual results

Add Pera explorer to Algorand testnet and mainnet block explorers

Summary

Pera explorer have released their explorer for both mainnet and testnet.

Mainnet: https://explorer.perawallet.app/
Testnet: https://testnet.explorer.perawallet.app/

  • Path Structure paths:
    • Transaction detail - /tx/<txId>/
    • Inner Transaction - /tx/<transactionId>/inner-tx/1/
    • Asset Detail - /asset/<assetId>/
    • Address Detail - /address/<address>/
    • Application Detail - /application/<appId>/
    • Block Detail - /block/<round>/
    • Transaction Detail - /tx-group/<groupID>/

Note that we use trailing slashes in all endpoints.

Acceptance criteria

Scenario 1: User chooses Pera explorer
GIVEN a User has Allo explorer selected
WHEN the User goes to the Settings
AND selects the General settings
AND press selects Pera explorer
THEN the block explorer is changed to Pera explorer

ARC-200 asset holdings disappearing on restart

Summary

ARC-200 asset holdings are disappearing when the extension is restarted.

Steps to produce

  • Add an ARC-200 asset
  • Exit the extension
  • Reopen the extension

Expected Results

  • The ARC-200 asset holdings are loaded

Actual Results

  • The ARC-200 holdings disappear

Unable to connect to dapps on Chrome

Summary

On Chrome, when a dapp attempts to connect, nothing happens. This is likely due to the manifest v3 using service workers and the service worker becomes inactive and state is removed.

https://developer.chrome.com/docs/extensions/develop/concepts/service-workers/lifecycle#idle-shutdown

Steps to produce

  • Run yarn start:chrome
  • On the dapp example, press "Enable Algorand"

Expected Results

  • Kibisis opens up with an enable request

Actual Results

  • Nothing happens

Cancel transaction update poll interval if the an update is in progress

Summary

To pre-emptively address a potential bug, when a poll for account information is invoked, there should be a check to see of the said account is already updating.

Acceptance criteria

Scenario 1: Account is already being updated
GIVEN an account is being updated by adding an asset
WHEN the polled account update is invoked
AND the previous account update is still in progress
THEN the polled update should not run

Rename account

Summary

Accounts can have a human readable name, but currently, this is only set during account import/create.

Acceptance criteria

Scenario 1: User renames their account
GIVEN a User has added an account
WHEN the User presses the edit icon next to the account on the account page
AND the User types in a new name for the account
AND the User presses the confirm button
THEN the account is renamed

Notes

Pressing the enter key submits forms

Summary

A feature of low hanging tasty fruit is that of being able to submit your password when pressing the "Enter" key.

Acceptance criteria

Scenario 1: User presses enter to submit password
GIVEN a User wants to send an asset
AND is on the summary page
WHEN the User enters their password
AND the User presses "Enter"
THEN the password is submitted

Notes

  • When transferring to the summary page of the send assets, the password input should be focused

App not opening when importing an account on registration

Summary

When importing an account on registration, once "import" is clicked, the window remains open and no main app is launched until the window is closed and the app re-opened.

Steps to produce

  • Register a new account
  • Choose to import an existing account
  • Click "Import"

Expected Results

  • Registration app window closes
  • Main app window opens

Actual Results

  • Registration app window remains open
  • Main app window does not open

Allow a toggle to turn on "Developer Mode"

Summary

For the main purposes of support and debug, it would be helpful for users to see logging information in the console. Currently this is limited to development versions, but it would be helpful if user's could manually turn logging on.

Acceptance criteria

Scenario 1: User turns on "Developer Mode"
GIVEN a User wants to see logging information in the console
WHEN the User presses the settings button in the sidebar
AND the User selects "Advanced"
AND the User toggles "Developer Mode"
THEN the logging will be enabled

Remove ARC-200 asset

Summary

Once an ARC-200 asset has been added, the User may not want to see the asset.

Acceptance criteria

Scenario 1: User removes ARC-200 asset
GIVEN a User has added the ARC-200 asset
WHEN the User selects the asset
AND on the asset page they press "Remove Asset"
AND press confirm at the confirmation modal
THEN the ARC-200 asset is removed from the asset list

Chrome publish automation not working

Summary

When a merge to main happens, a new release is tagged and an action is executed that should automatically upload and publish the latest release to the Chrome Web Store. However, this is erroring due to the environment variables not being passed correctly.

Steps to produce

  • Merge in a new release to main

Expected Results

  • Upload and publish through the Chrome Web Store API

Actual Results

  • Getting "Bad Request" response back

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.