Giveth / giveth-next

Giveth 2.0 implementation in NextJS
https://next.giveth.io
GNU General Public License v3.0
20 stars 13 forks source link

Changing my address in metamask did not change my account in Giveth #64

Open laurenluz opened 3 years ago

laurenluz commented 3 years ago

I had been previously signed into giveth with one address from metamask and an account I called "giveth love". I had since changed my metamask to my personal account - "Lauren B" in Giveth.

But Giveth still had me "signed in" with Giveth Love.

So I ended up donating from my personal account, rather than my "Giveth Love" account (in metamask, but on Giveth it shows as donated from Giveth Love because that is the account I was signed in with previously.

@mateodaza lmk if that makes sense.

mateodaza commented 3 years ago

Login will preserve after you change wallets in metamask as you are asked to make a signature - I don't believe this is a bug, if you want the app to recognize change and make a new signature we can do it. But I don't believe is the best UX

laurenluz commented 3 years ago

Login was preserved even after I closed giveth, changed wallets and then re-opened giveth in a new tab... and this is what made it confusing. Because I saw my login name on Giveth as the one associated with the account I wanted to donate from, and then when I was donating it was easy to overlook the fact that the account was not the donation account.

I think in TRACE we require a new signature when the user changes the wallet, you really don't think it would be good to include that here?

mateodaza commented 3 years ago

While we build this feature we decided that if you are logged in you'll be recognized as a donor even if you donate from a different source than your selected provider. For example you are logged in with metamask, you can give with portis or whatever but you'll still be recognized as the donor.

Changing this flow to require a signature every time, could make the experience tedious and actually slow down the donation process, but that's my opinion. We have to decide what brings more value, either allowing speed on multiple sessions or making it easier to donate from multiple places seen as one.

It's all about UX - Personally I believe that if we let know the user he/she is making a donation "logged in as xxxx" would improve it a lot, and maybe bring back the "anonymous" option so it's more clear that it's gonna be public.

laurenluz commented 3 years ago

yes! what you're saying makes total sense, adding the signature sounds like it would make things cluncky.

Why don't we add like a confirmation popup that says "you are making a donation of x amount from y wallet under z name to the project q"

we can even add something about givebacks to that popup too, when it's ready... some that says "you are eligible to receive up to 75% (or r USD) in GIVbacks"

if we like this idea I can come up with better wording.

mateodaza commented 3 years ago

I like the idea! @markoprljic if you have the time to help us with some awesome designs for this <3

markoprljic commented 3 years ago

what you're saying makes total sense, adding the signature sounds like it would make things cluncky. It won't. I think changing the wallet should be automatically visible in the top right user dropdown. Right now it just shows toast message: Account changed but doesn't change the address. Image 2021-06-15 at 4 41 31 pm

Then, when making a donation we can ask to sign message to confirm.

Now, question is do we want to append wallets to a single user account? What if I change wallet does it change my profile and account history? Can I just buyndle all wallets to a single account? What are the implications of this from the backend,database, history and other technicalities?