Code Monkey home page Code Monkey logo

dpm's People

Contributors

ale-mazz avatar leobragaz avatar manu0466 avatar riccardom avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

dpm's Issues

Use GraphQL instead of REST APIs

Currently the application is relying on the REST APIs of the chain to fetch the data about the balance of an account or else. Instead, I think it would be better to use the GraphQL endpoints to also be able to subscribe to changes automatically. Here are the details of the endpoint that you can use:

  • Mainnet: gql.mainnet.desmos.network
  • Testnet: gql.morpheus.desmos.network

You should be able to query data without any authentication. If you need access to the console, you can find the details on Bitwarden.

dpm not working on ios

When starting DPM on iOS on metro is displayed the following error:

ERROR  TypeError: _reactNativeSensitiveInfo.default.hasEnrolledFingerprints is not a function. (In '_reactNativeSensitiveInfo.default.hasEnrolledFingerprints()', '_reactNativeSensitiveInfo.default.hasEnrolledFingerprints' is undefined)
ERROR  Invariant Violation: Module AppRegistry is not a registered callable module (calling runApplication). A frequent cause of the error is that the application entry file path is incorrect. 
      This can also happen when the JS bundle is corrupt or there is an early initialization error when loading React Native.
ERROR  Invariant Violation: Module AppRegistry is not a registered callable module (calling runApplication). A frequent cause of the error is that the application entry file path is incorrect. 
      This can also happen when the JS bundle is corrupt or there is an early initialization error when loading React Native.

Support the remaining x/profiles messages

Currently DPM is only able to handle a set of message types inside the transaction list present in the home page as well as inside the confirmation page of a transaction.

Since DApps can require the user to sign any kind of message, the following needs to be implemented as well:

Require authentication on start

Currently when the application starts there it does not ask for any kind of authentication. Since it contains sensitive material and allows to send money to other people, we should instead ask the user to authenticate each time the application is opened or un-paused.

Feedback

I'll be using this issue to write my general feedbacks
Will be updated when more versions are released

device: iphone 12

v0.0.1

  • top and bottom bars throughout the app
  • title should show DPM instead of desmos (imo)
  • way too much blank space in between logos and buttons
  • the buttons are super small and doesn't feel great to use
  • back buttons aren't that great to use (had to click a few times)

Import Recover Phrase Screen:

  • Can't get rid of the keyboard once focused

Secret Recover Phrase Screen:

  • The title and description are surprisingly small given the screen ratio
  • Maybe consider highlighting the whole description to emphasize on how important it is. I completely missed it the first time around
  • Consider adding a small loader before showing the mnemonic. As the mnemonic phase gets generated too fast it will lower the importance of keeping these words safe and cause user distrust that it actually works

Support different languages inside send input

Currently when sending some DSM to another user, the only language that is supported inside the amount input is the English one. Unfortunately, this makes it impossible to send non-round amounts (eg. 0.5 DSM) to another user if the device is set to use a different language that uses a different decimal separator from . (eg. Italian uses ,).

To fix this, we should support the input of non-round amounts even in other languages so that the decimal separator does not have to be only ..

Change base background color to white

Currently the application is using the default grey color as the base background color. Instead, white (#FFFFFF) should be used:

Expected:

Actual:

Cannot create new wallet

Cannot create new wallet with either 12 words or 24 words
Error says invalid recovery passphrase

Generated Recovery Phrase
IMG_4574

My Input
IMG_4575

[Airdrop] Show eligible addresses

The airdrop check screen has been updated in order to show the user the addresses that are eligible and should be connected to the profile in order to receive the DSM:
Screenshot from 2021-12-01 07-13-58

Add loader before displaying mnemonic phrase

From #21:

Inside the Secret Recover Phrase Screen consider adding a small loader before showing the mnemonic. As the mnemonic phase gets generated too fast it will lower the importance of keeping these words safe and cause user distrust that it actually works

[iOS] After tapping on the profile icon and the app crashed

Software Version:15.1
Mobile Device: iPhone 11
DPM version: 0.0.5(0.1.7)

If I have created profile before, But I didn't fill in my nickname.
When I tap on the profile icon and the app crashed.

IMG_4222.PNGIMG_4220.PNG

But after I updated my nickname, it's normal.
IMG_4225.PNG

Keyboard would block buttons

The keyboard would block the buttons in the following occasion:

  1. After pasting recovery phrase (the only way out is clicking on return, but when your phrase is 12 words the return would just add a line)
  2. After Entering HD derivation Path on the picking address page (need to click more below for the keyboard to disappear)
  3. While sending tokens, after filling in the memo the keyboard won’t disappear by clicking return or touching else where on the screen

[iOS] add hints on create profile "Bio"

Software Version:15.1
Mobile Device: iPhone 11
DPM version: 0.0.5(0.1.7)

  • please add the typing hints: "Add a bio to your profile"
  • word count should be in grey color

IMG_1559

suppose to be like:
image

Deformed cover image

The shape of the cover image is deformed in "my profile" and "edit profile". Please solve the problem and many thanks🙇🏻‍♀️

image
image

The original look of the image👇
image

Allow to change the chain used

Currently it is not possible to switch between the testnet and the mainnet when using DPM. This would be particularly useful for DApp users thus I think it's worth being implemented.

`npm install` not working without `--force`

Running npm install returns the following errors:

$ npm install
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR! 
npm ERR! While resolving: [email protected]
npm ERR! Found: [email protected]
npm ERR! node_modules/react
npm ERR!   react@"17.0.2" from the root project
npm ERR! 
npm ERR! Could not resolve dependency:
npm ERR! peer react@"17.0.1" from [email protected]
npm ERR! node_modules/react-native
npm ERR!   react-native@"0.64.2" from the root project
npm ERR!   peer react-native@"^0.0.0-0 || ^0.60.6 || ^0.61.5 || ^0.62.2 || ^0.63.2 || ^0.64.0 || ^0.65.0 || 1000.0.0" from @react-native-async-storage/[email protected]
npm ERR!   node_modules/@react-native-async-storage/async-storage
npm ERR!     @react-native-async-storage/async-storage@"^1.15.8" from the root project
npm ERR! 
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR! 
npm ERR! See /home/riccardo/.npm/eresolve-report.txt for a full report.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/riccardo/.npm/_logs/2021-10-01T05_40_15_610Z-debug.log

It works when using the --force flag though.

[iOS] visual (color, icon, fonts etc)

Software Version:15.1
Mobile Device: iPhone 11
DPM version: 0.0.5(0.1.7)

The menu icon seems to be compressed.

Can we move the navigation bar down a bit?

Change copy icon color to white (Light mode)

Remove colon (:)

-The font of Amount and nickname should be #Poppins Medium 22 px

image

Another visual issue:

should use the correct image in dark mode**
image
the UI should be like:
image

Showing wrong logo for crypto.org chain

When linking the crypto.org chain from other clients on DPM is showed the wrong logo

image

This has been caused from the name provided in the chain_config field of MsgLinkChainAccount to be "crypto.org chain" instead of just "crypto.org"

Make buttons larger

From #21:

The buttons are super small and doesn't feel great to use

I think this refers particularly to the Login Screen and the bottom bar of the app, but don't know about the rest of the app. Please @ryuash can you get us more details?

[IOS] change button font style

Software Version:15.1
Mobile Device: iPhone 11
DPM version: 0.0.5(0.1.7)

  • the font style of the button should be "medium" instead of "Bold"

preview2
.

Deleting second account wipes all data

Description

When I delete an additional account I created, the application actually deletes all the accounts that have been created.

Steps to reproduce

  1. Create a first account.
  2. Add a second account.
  3. Delete the second account you created.
  4. Close and re-open the app

At this point, all the accounts data will be gone and you are prompted to create a new wallet as the previous ones have been deleted.

Add pull-to-refresh to the home page

Currently the data shown inside the home page is only refreshed when the page is shown for the first time.
We should also allow users to refresh the data whenever they want by simply pulling the page from the top.

Implement profile input validation

Currently when saving a profile no input validation is performed on the values inserted by the user. This can make the transaction fail with different errors (eg. invalid DTag, invalid Bio, etc). To solve this we can:

  1. Download the current x/profiles parameters stored on chain
  2. Use the downloaded parameters as references to implement input validation.

To get the parameters the following GraphQL query can be used:

query Params {
  profiles_params {
    params
  }
}

Here is an example response:

{
  "data": {
    "profiles_params": [
      {
        "params": {
          "bio": {
            "max_length": "1000"
          },
          "dtag": {
            "reg_ex": "^[A-Za-z0-9_]+$",
            "max_length": "30",
            "min_length": "3"
          },
          "oracle": {
            "ask_count": 5,
            "min_count": 3,
            "script_id": 32,
            "fee_amount": [],
            "execute_gas": 200000,
            "prepare_gas": 50000
          },
          "nickname": {
            "max_length": "1000",
            "min_length": "2"
          }
        }
      }
    ]
  }
}

You can only consider the bio, dtag and nickname fields as they describe the limitations applied to profiles.

Fist stable version

In order to publish DPM on both the Google Play Store and the iOS App Store we should achieve a high level of stability within the application. To to this, we need to implement all the missing screens as well as fixing the most prominent bugs out there.

Strip spaces from mnemonic input

Currently when writing a mnemonic phrase inside the proper input, initial and ending spaces are not stripped from the input itself. This results in the app returning "Invalid mnemonic" even if there is only an additional space at the end (or beginning) or the input.

In order to improve the overall UX, I think it would be better to automatically remove all the initial and ending spaces from the input phrase, so that they do not count during the validation process of the mnemonic phrase itself.

Change status bar color to match content

Currently it appears that the app is using the same status bar color (grey) for all screens. Instead, from what I can see from the UI the color should change based on the content of the page.

Expected

Actual

Change the base unit of tokens to Daric instead of uDaric

Currently the application is using the udaric as the token unit. Instead, we should use Daric to make things simpler for the user (1 Daric = 1.000.000 udaric). If #7 is implemented, you can also use the following query to get the details of various token units:

query TokenUnits {
  token {
    token_units {
      denom
      exponent
      token_prices {
        price
        timestamp
      }
    }
  }
}

Allow to use biometric authentication

Currently the app only allows to log-in and confirm transactions via the text-based password that the user has set during the setup of their wallet. Instead, we should also support biometric-based authentication (fingerprint and, if possible, face) to allow the user to confirm such actions and unlock the app.

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.