Fixes #11344 and replaces #11428.
Before:
After:
bitcoin_en.ts
because apparently it’s generated by a script. If that’s the case though, shouldn’t it be removed from the repo?
The segwit.py tests failed in one of the Travis builds, presumably unrelated? Might be related to #10869?
Indeed unrelated, I’ve restarted it for you.
@MeshCollider note that the counterpart to this feature #9697 also only refers to the fee bumping aspect of RBF.
That is true, fair enough. I guess users of the GUI probably shouldn’t be concerned, so utACK https://github.com/bitcoin/bitcoin/pull/11556/commits/115739acbe477e52716382e79732e38d34890d4c
1107@@ -1108,10 +1108,10 @@
1108 <item>
1109 <widget class="QCheckBox" name="optInRBF">
1110 <property name="text">
1111- <string>Request Replace-By-Fee</string>
1112+ <string>Allow Fee Increase</string>
The UI uses a mix of “Upper lower case” and “All Upper Case”. For example “Custom change address”, “Subtract fee from amount” vs. “Pay To”, “Coin Control Features”. In addition some sentences end with a period, others don’t.
I’m happy to change it either way, but it might be better to have a single pull request to implement (and document) a consistent style across the wallet.
1107@@ -1108,10 +1108,10 @@
1108 <item>
1109 <widget class="QCheckBox" name="optInRBF">
1110 <property name="text">
1111- <string>Request Replace-By-Fee</string>
1112+ <string>Allow Fee Increase</string>
1113 </property>
1114 <property name="toolTip">
1115- <string>Indicates that the sender may wish to replace this transaction with a new one paying higher fees (prior to being confirmed).</string>
1116+ <string>If the transaction takes a long time to confirm, this allows you to increase the fee later ("Replace-By-Fee", BIP 125). The recommended fee will be lower.</string>
I’m more fond of the previous tooltip as it doesn’t mention confirmation time
Agree, and would at least shift the emphasis away if this needs to be kept, changing from “If the transaction takes a long time to confirm, this allows you to increase the fee later” to “This allows you to increase the fee later if the transaction takes a long time to confirm.”
It might also be clearer to change “The recommended fee will be lower” to ““This will cause the recommended fee to be lower.”
Sometimes I think this option shouldn’t be in the fee section. From the user point of view, either make the transaction final/locked or allow it to be replaced/bumped. Something like:
@flack right, my main point is to not mention fee as it can confuse the user as in what’s the deal with fee and replace transaction…. For the curious/technical user the BIP reference can be enough?
Edit: for sure out of scope!
“Allow Fee Increase” is also out of context, that is not the purpose of the option, as in why would I want to be able to increase the fee?.
As it is, NACK.
@promag like I said, I like your suggestion to move the checkbox somewhere else, esp. when more rbf functionality gets added to the GUI. But (as mentioned above), the only thing the GUI currently lets you do with the rbf checkbox is to bump the transaction fee later on. So the idea of this PR is to help the user make the connection between the rbf checkbox and the bumpfee command.
If it’s likely that more rbf functionality gets added to the GUI in the forseeable future, I’d say a relatively generic label (like “mark as replaceable”, “mark as final”) would be best, but for now I’d mention fees either way, since it’s the only visible effect the checkbox currently has (i.e enables bumpfee, and gives you a lower estimate)
Concept ACK. The new text is better understandable, though, it’s not as prices as the current text (okay to me). “Allow fee increase” does not include that one could allow to add an output… but IMO neglect able.
I would also prefer @promag approach of flipping the default (PRs welcome).
Not sure if we should flip the bitcoind -walletrbf
or if we should set -walletrbf=1
in GUI mode.
@jonasschnelli I wasn’t suggesting to change the defaults. I was suggesting to think from the user perspective. I believe the use case is to choose whether the transaction should be final or not. As such that option shouldn’t be in the “Transaction Fee” section.
Anyway, RBF enabled by default sounds good to me too.
@promag I don’t think unexperienced users think that way. They already assume a transaction is final, because that’s what they’re used to from the legacy fiat world. Only when they send a transaction and find out it’s stuck, they start looking for ways to fix that acute problem.
The way I see it (subjective of course) is that bumping fees is a feature, while the fact that this feature uses RBF is an implementation detail. If in the future we discover a different way to bump fees without RBF, the button could stay the same.
I’m trying to understand your NACK though (as opposed to just a preference). Do you believe something would break? Are you worried that users won’t tick the box if it doesn’t show the full range of potential uses? Or that it’s unmaintainable (to me it seems trivial to change this again later).
It sounds like it’s worth trying to flip the default first; if that PR doesn’t raise objections then we can just close this one. If it does, we can continue the discussion.
Whatever text you decide to use for the checkbox, it would probably be good to repeat it in the confirmation dialog here, so it is clear that they are referring to the same option:
Rebased and tweaked the text based on feedback.
I also removed the confirmation dialog @ryanofsky mentioned. It doesn’t make sense to me to show a warning, if we don’t explain what the risk is. Alternatively, the dialog could explain that some merchants may not like RBF. In that case, that should also go in the tooltip.
I should also have a PR that enables RBF by default soon.
Opt-in RBF checkbox uses less technical jargon and emphasises
the fee bump functionality (at the expense of not mentioning
other uses of RBF).
The transaction confirmation screen uses copy consistent with this.