Fix automated retries retrying too much #2037
Merged
+7
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
We are automatically retrying things that we would not have shown in notifications because this filter is applied to failed invoices for notifications but was missing for failed invoices for automated retries.
#2036 is related because the error happened when the receiver was trying to pay themselves (?)
Additional context
Maybe there's a solution that involves the bigger picture (keeping failed invoices for automated retries vs notifications in sync), but I guess this fix will do for now.
The way we set
userCancel
is also an issue: we only ever set it to true if the user clicks on X for a QR code to close it. In every other case, it is set to false which means we will automatically retry the invoice. However, there are cases where a user did not click on X but still might want to NOT retry the invoice, like if they simply navigated away or closed the tab. We should NOT assume they want to retry.RECEIVE
setsuserId
of the wrapped invoice (= invoice shown to the sender) to the receiver so the receiver will retry the wrapped invoice to themselves, paying the 10% proxy fee for nothing. Setting theuserId
of the sender's invoice isn't necessarily a bug, but that the receiver would automatically retry a wrapped invoice that will result in them paying themselves is DEFINITELY a bug.Checklist
Are your changes backwards compatible? Please answer below:
yes
On a scale of 1-10 how well and how have you QA'd this change and any features it might affect? Please answer below:
0
.For frontend changes: Tested on mobile, light and dark mode? Please answer below:
n/a
Did you introduce any new environment variables? If so, call them out explicitly here:
no