monero-gui icon indicating copy to clipboard operation
monero-gui copied to clipboard

Receive: redesign receive page

Open rating89us opened this issue 4 years ago • 10 comments

Closes #2381, #2636, #2610

Changes:

  • Renamed title from "Adresses" to "Receive payment"
  • When an address is clicked, a right column with QR code, address index, address label, full address and buttons will be displayed. Address label is clickable and edits the label. Address is clickable and copies address to clipboard.
  • Every time the receive page is opened, a fresh address is visible and ready to use.
  • A fresh address is an address which the full address was never displayed (as text or QR code) or copied to the clipboard.
  • A new fresh address is automatically generated in the background when the fresh address is displayed/copied to the clipboard. When automatically generated, fresh addresses don't receive label.
  • A new fresh address can also be manually generated by clicking on the "Create address" button. When manually generated, an input is displayed where the user can enter a label for the new address.
  • Create address button is now orange, because it's where we want users to click.
  • Previous addresses are previous fresh addresses that had their full addresses displayed, copied to the clipboard, or that were not even displayed (when the user creates multiple new fresh addresses with the create address button). Addresses listed in the "Previous addresses" list do not necessarily have received funds.
  • "Previous addresses" list is always hidden when the receive page is opened. This is a private by default design: if the user is clueless, he/she will probably use the option that is more prominent (fresh address), and will avoid reusing a previous address.
  • Added scrolling to previous addresses list, so that the right column with QR code is always visible.
  • Shortened address displays only the 8 first and 8 last characters.
  • Removed FontAwesome icons from Save as image, Edit label, and Copy to clipboard buttons
  • Known limitation: currently it's not possible to edit the first address (#0) label, because it would edit the account label.
  • removed "monero:" before the address that is copied to clipboard with the Copy to clipboard button on the right column. Now this button has the same function as the copy button in the fresh address and previous address list.
  • Added translation to "Primary address" string (part of #2509)

Some gifs: receivepage

receivepage2

  • Instructions added to question mark icon (they are displayed for the first 3 addresses generated, to educate users): helptext

rating89us avatar Jun 04 '20 19:06 rating89us

Previous addresses are previous fresh addresses that were displayed/copied to the clipboard. They not necessarily have received funds.

We definitely need ways to filter only by addresses that have received funds or have labels. Else some addresses that may matter could be buried.

Can we also provide an export of the addresses and labels?

SamsungGalaxyPlayer avatar Jun 04 '20 19:06 SamsungGalaxyPlayer

FWIW we have to make sure that this PR does not get too large else we can’t review it. Both of the suggestions above can be done in separate PRs at a later point. At least the export option, the filter only addresses with labels might be worth to add now.

selsta avatar Jun 04 '20 19:06 selsta

Updated: filteradddress2

rating89us avatar Jun 07 '20 15:06 rating89us

Probably gonna take a shot at reviewing this soon even though it's quite large :-P!

sanderfoobar avatar Jul 03 '20 23:07 sanderfoobar

@rating89us I have not looked at the code properly, but can you confirm this also increases the wallet's subaddress lookahead automatically?

Another thing I'm wondering; if, by general usage, you've managed to generate 5000 sub-addresses, and you import your wallet on another computer (via mnemonic seed), then you would need to take extra precaution by setting the lookahead values correctly? Or does the wallet loop automatically till it finds a subaddress that did not received any funds yet?

And what are the performance impacts on wallet refreshes (scanning) after years of general usage (many sub-addresses)?

sanderfoobar avatar Jul 08 '20 19:07 sanderfoobar

Like the way this looks.

@rating89us, can you break this PR in smaller parts to make it easier to review and merge?

Couple suggestions:

  • Put the help instructions permanently on the page. Or increase the number to 50 or 100 addresses. Our preference would be to make it permanent.
  • Create new addresses with labels without a new popup window. Integrate the label input section on the page.

garlicgambit avatar Sep 07 '20 18:09 garlicgambit

Seeing this PR, I still think it would be good to have options to hide used addresses specifically and/or to reverse the sort order, as well as a way to quickly visually distinguish between used and unused addresses.

Maybe a way to "pin" certain addresses that you specifically intend for re-use could also be considered. I get that we don't want to encourage re-use, but some exchanges make you register each and every address you want to withdraw to, so that generating new addresses each time isn't necessarily worth it.

MoneroArbo avatar Jun 17 '21 17:06 MoneroArbo

It would be nice to also have a way to manually hide addresses. This can be useful, for example, if you attached an address to your identity but then the payment never arrives. We don't want this address to be shown as untainted.

But overall, this is great. We desperately need a way to hide used addresses, otherwise we encourage address reuse for no reason. Not as bad as in Bitcoin, but still bad.

xanoni avatar Sep 05 '21 21:09 xanoni

Just wanted to check that you are all aware of this proposal: https://github.com/monero-project/monero-gui/issues/2024

Hope there are no conflicts between them. Haven't checked in detail.

xanoni avatar Sep 05 '21 21:09 xanoni

I know this is stale, but if this is important, please make sure that the default shows addresses with labels. People like me have specific addresses for say: donations, or exchanges (I know Kraken requires email confirmation to add a withdraw address).

elibroftw avatar Apr 23 '22 16:04 elibroftw