New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mask values on Transactions View #708
Mask values on Transactions View #708
Conversation
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ReviewsSee the guideline for information on the review process.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update. |
This requires PR #701 in order to work as it is - back to draft! |
220a00d
to
0369d8b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code ACK 0369d8b
0369d8b
to
3a8bc93
Compare
3a8bc93
to
2634584
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Need to adapt BitcoinUnits::formatWithPrivacy
function to accept negative amounts. Otherwise, when the wallet make a send, the assertion crashes the software.
2634584
to
ee25124
Compare
Thinking further about this, if the "privacy" option is enabled, the transactions screen has no usage, thus shouldn't be accessible for the user. In the current form, the screen is showing all the spends and receives ordered by date.. We could either block the view when the privacy option is enabled, or could create an empty screen image to replace the transactions list when privacy is enabled. |
Yeah, I realised what you are saying as soon as I fixed the negative amount issue looking at the type transactions, date-time, addresses columns, the red foreground colour due to the sent transaction type, etc., but the intention of this masking as explained in the issue #652 is to prevent the "user vulnerability to shoulder surfing". Another approach could be to convert all columns to "privacy" mode or to disable the "Transactions" (button/ Tab view/ "historyAction"). |
ee25124
to
d41037b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested ACK d41037b . I like the approach of hiding the Transaction table completely, I see no point in showing an empty table .
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good catch! I'll give it a go... cheers. |
94f104c
to
786a26a
Compare
Updates:
|
786a26a
to
5fb3fac
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested ACK 5fb3fac
5fb3fac
to
4d0d15b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code review ACK 4d0d15b
left two details.
4d0d15b
to
4492de1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK 4492de1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK 4492de1
ACK 4492de1 |
ACK 4492de1 post merge ACK Great job! |
e26e665 gui: fix crash on selecting "Mask values" in transaction view (Sebastian Falbesoner) Pull request description: This PR fixes a crash bug that can be caused with the following steps: - change to the "Transactions" view - right-click on an arbitrary transaction -> "Show transaction details" - close the transaction detail window again - select menu item "Settings" -> "Mask values" The problem is that the list of opened dialogs, tracked in the member variable `m_opened_dialogs` (introduced in #708, commit 4492de1), is only ever appended with newly opened transaction detail dialog pointers, but never removed. This leads to dangling pointers in the list, and if the "Mask values" menu item is selected, a crash is caused in the course of trying to close the opened transaction detail dialogs (see `closeOpenedDialogs()` method). Fix this by removing a pointer of the list if the corresponding widget is destroyed. ACKs for top commit: achow101: ACK e26e665 pablomartin4btc: tACK e26e665 furszy: utACK e26e665 hebasto: ACK e26e665, tested on Ubuntu 22.04. Tree-SHA512: 37885c22abae0ab065b4878bae46fd362f41b09609d081fd59e26bb05474f427b98771ee73f5480526afaef04e016c5ba62c956e0e85a57b6a0f44a905b68a83
Currently the mask values option (Settings menu->Mask values) hides the wallet balances shown on the Overview page including the recent transactions list from the right panel but it doesn't hide the amounts from the transaction view.
This enhancement has been mentioned on PR #701 as a desirable follow-up.
First approach was to hide the amounts on the transactions view when mask values option is checked:
But later on as reviewer furszy recommended, I've disabled the Transaction tab directly and switch to the Overview tab if the mask values option is set, check the new screenshots in the comment below.