Giter Site home page Giter Site logo

eosdac-client's People

Contributors

michaeljyeates avatar str avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

eosdac-client's Issues

On page load, you're not actually logged in

It says you are, but when you try to vote on a proposal, you get this:

image

I've seen this on KROWN. I have to reload the page and then at that point it notices I'm not really logged in so I have to login again. This can happen if you're logged in, but close down Scatter and are no longer logged in. Ideally, it shouldn't show you as logged in if scatter isn't open or it should give a better error message to let you know you need to login (and log you out so you can login)

The dark overlay is too dark

It seems the alpha values are doubling on each other or something. I can barely see the windows that pop up when it's trying to sign a transaction or if there's an error.

Test (and deploy?) updated client

Test here: http://eosdac.dacfactory.io/

Main thing we have to test is that the custodian stake works as expected. We have to update contracts before deploying new client. Also need to test the proposal for transfers.

Roadmap

  • Clean up the how it works page
  • clarify the steps for bringing your own token
  • They are familiar with DACs, but not the DAC Factory
  • Deploy contracts
  • Michael does token migration
  • Update client, create release tag
  • Deploy client
  • Create msig for custodians to sign which will transfer stake to custodians. This will increase their vote weight as well.

Error approving msig with Anchor Mobile

It works fine in Anchor Desktop, but on mobile I get this:

IMG_4938
IMG_4939

I upgraded to the latest, but still got this:

IMG_4941

I'll check with Anchor to see if that's an issue on their side or something we need to fix on our end.

Improve candidateship forms

image

  • right default value, from what the custodian asked for
  • the currency dropdown only shows the currency set in max-pay
  • in my candidateship page, add a button to update my payment
  • asset-input for single currencies should not be a dropdown
  • allow to ask payments other than EOS
  • do not allow to set a value above max
  • handle cases when the max-pay is in EOS, but payment is in another currency

msig ABCD

Originally, all referendums, worker-proposals, and so on, were managed as simple msigs. We need to maintain that code, make it easier to manage, and specially, make it easier to navegate and provide more information for all users.

  • add a button in the browse view to the form to "A"dd a new msig
  • msig form should allow a user to format the content
  • improve "B"rowse paginator
  • category tabs should be stored in router/history
  • clean a bit the code. the names of the vue components are confusing because both msigs and new wp-system vue components are called "proposals"
  • be able to point to a single msig

automate eosdac-client deployment

Every DAC has it's own copy/instance of the dacclient. Every time we make any changes to the dac-client we will need to rebuild every single instance to release the latest changes.

Create a script to automate eosdac-client deployment to all dac instances.

Change the My Payments interface to reflect invalid pay amounts

First, change the contract code so if requested pay > max pay, treat requested pay as 0.

Interface currently shows this:

Your current pay amount is set to 1.0000 EOS

If that is above the max, we should instead display a note about it being an invalid amount and it will be treated as 0 until set below the max amount

Custodian payment documentation

Add the inline documentation of how the custodian payment in the custodian's payment view.

5.8 Emoluments of each Custodian during a term shall be the mean of the Candidate Emoluments Declaration of Custodians appointed for such term divided by twelve (12), and shall be paid to each Custodian automatically and at the expiration of each term held by such Custodian or as otherwise provided by Nomination Directive.

Generate a log file to easily debug issues users report

implementing it ourselves would probably be more work than it is worth, there are a few external services which will show remote sessions and errors

i have used them server-side but i think there are client side tools too

unfortunately it would not catch errors within scatter

there are also open source logging tools which could be integrated, they wouldnt offer full stack traces etc but would be a good way to see where errors are happening

this looks good https://github.com/PostHog/posthog

first step would be to go through the member client and abstract the logging
then hook it into this, we would need to host it too
i dont think it is such a good idea to expose users to log data unless absolutely necessary. instead we should report what we need to the server and we would be able to track the full session (even in realtime)
something like this is a hosted service, https://sentry.io/

i think we should try some of the remote services. then if someone reports a bug we can get the session identifier and we will be able to see everything (probably)

we just have to make sure that we log all the data that we need, this might not pick up everything

WP crud/abcd

Tasks about the worker proposal that we need to fix

  • improve spacing in "add" view
  • add a "view-proposal" view
  • redirect the user to the "view-proposal" view after creating it
  • improve the tabs filtering the wp by status; it's way too long

My payments + candidateship view

The info and options in my candidateship and my payments is related and it's confusing what should go where. I think merging the 2 views in a single one could improve usability. Also, info about my balance of the DAC tocken (light) could be added to this view.

  • fix top header for smaller screens
  • merge 2 views together
  • add option to reject payment
  • add option to unstake
  • add balances to the view
  • decide what to do with balances at top menu

image

Feedback would really be appreciated

Telegram Link

Redirects to KROWN DAC tg channel, instead of eosdac

Add ability for daccustodian to pay for cpu

The daccustodian contract now has an action called paycpu(name dac_id) which will succeed if the action also has the authority of a custodian (dacauthority@one) - we need to make sure this is properly integrated into the member client

In addition we need to make sure we have the ability to disable it and make sure that daccustodian does not run out of cpu

'Vote for Custodians' formatting

Where it shows who i vote for on the right on this page is a bit funky. The 'x' to delete a vote covers the account name of the person i am voting for. It doesn't make UX impossible, but it's not pretty. Would be nice to allow more horizontal space for this section to move the 'x' from covering the account name.

scatter calls handling

So, I tried creating a local dev environment. I then tried to sing the constitution for the dacId: light, but when trying to sign it, I hanged with no message:

image

There is no error in the dac-client, nor any message, making it harder to debug. I tried with different nodes in Scatter for the Jungle network but got different error messages in the Scatter console.

image

image

IMHO, the problem goes beyond the errors in the nodes. I think there should be some kind of default error handler for all calls to scatter. Some timeout and sow an error message in the dac's client.

set title

When pasting the link to tools that fetch content of the page, they show "Member client for eosDAC upgraded to quasar 1.x". ie Discord:

image

<title> is also empty. A more user friendly content should be set.

Wrong calculations for activating the DAC

Testing a DAC cration I saw the percentage over 100%.

image

The full creation json:

{
    "id": "covidgt2",
    "owner": "jorgecarlosb",
    "appointed_custodian": "jorgecarlosb",
    "authority": "covidgt2auth",
    "treasury": "covidgt2trea",
    "symbol": {
        "contract": "eosdactokens",
        "symbol": "2,GTAID"
    },
    "max_supply": "1000000000 GTAID",
    "issuance": "1000000.00 GTAID",
    "name": "COVIDGT20",
    "description": "A test DAC to manage donations for COVID patients and medical staff",
    "logo_notext_url": "",
    "background_url": "",
    "theme": {
        "is_dark": false,
        "colors": {
            "primary": "#36aad1",
            "secondary": "#005460",
            "warning": "#f2c037",
            "info": "#ace6ff",
            "positive": "#21ba45",
            "negative": "#cb2739",
            "dark": "#1f1f1f"
        }
    },
    "custodian_config": {
        "lockupasset": {
            "quantity": "0.00 GTAID",
            "contract": "eosdactokens"
        },
        "maxvotes": 3,
        "numelected": 3,
        "periodlength": 7200,
        "should_pay_via_service_provider": false,
        "initial_vote_quorum_percent": 1,
        "vote_quorum_percent": 1,
        "auth_threshold_high": 2,
        "auth_threshold_mid": 2,
        "auth_threshold_low": 2,
        "lockup_release_time_delay": 0,
        "requested_pay_max": {
            "quantity": "0.00 EOS",
            "contract": "eosio.token"
        }
    },
    "proposals_config": {
        "proposal_threshold": 2,
        "finalize_threshold": 1,
        "escrow_expiry": 2592000,
        "approval_expiry": 2592000
    }
}

Missing permission for KROWN DAC on custodian payment

Error
transaction declares authority '{"actor":"krowndacownr","permission":"xfer"}', but does not have signatures for it under a provided delay of 3600000 ms, provided permissions [{"actor":"daccustodian","permission":"eosio.code"}], provided keys [], and a delay max limit of 3888000000 ms

Improve max payment validation

The max-payment field has a validation not to accept amounts above a "max" filter. But if the payment is set, and then the max-paymnet is lowered, the payment requested will be above the new "max" value. We need to improve validation in that case.

I tried different methods according to the quasar-input validation, but it looks like it's going to need more time invested to fix it. But validation needs to happen also on the chain side,

  • if editing, and having the value pre-set above max (because max was updated), show an error and do not allow to submit until setting below max (see https://quasar.dev/vue-components/input#Validation)
  • What should happen if claiming a payment above max-payment?
  • Candidates can be reelected if having a payment request above max-payment?

Reformat name in user profile

Where the users name is listed there are dotted underlines that are not directly below the name. This should be considered for redesign. Maybe a solid line just below the name, or no line at all? Also, right now the dotted lines 'highlight' when you drag mouse over them (as if you can click them even though you can't).

I also think it could be considered to move the edit button to the top right so user doesn't have to scroll down to choose the option.

Add more methods to sign

Users and custodians are having problems approving proposals, and interact with the dacclient. We need to integrate other tools other than scatter

  • migrate to eos-transit
  • integrate greymass-anchor

Investigate WebRTC chat

Authenticated peer to peer chat (including group chat) would be very useful to have inside the member client

WebRTC can be used for this, but needs a server component to negotiate the connections between peers.

RapidProd have been working on using the chain for negotiation so we can run a chat server without having to have an additional server.

Look into this and check it is suitable and then integrate WebRTC into the member client

https://codesandbox.io/s/eoschatexample-ol4eo

Custodian payment issues

  • restore the reject custodian pay button
  • after claiming a payment, the funds are not transfer, and the option to claim still shows, making it confusing for the user.

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.