fix: payment QR popup despite attached wallet #2215
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
Fixed payment QR popup appearing even when wallets are properly configured. The issue was caused by stale closures in React hooks - callbacks were capturing outdated wallet state and incorrectly reporting
hasSendWallet: false
to the server.Closes #1656
Key fixes:
wallets.length
towallets
in onSubmit callbackuseCallback
wrappers inuseAct
hook functionsScreenshots
N/A - bug fix only
Additional Context
The original bug is intermittent and hard to reproduce consistently, so testing was mainly focused on ensuring the changes don't break existing functionality. The stale closure pattern was clear from code review though - callbacks weren't tracking wallet state changes properly.
Checklist
Are your changes backwards compatible? Please answer below:
Yes, no API or interface changes - just internal callback dependency fixes.
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:
7/10 - Can't reproduce the original intermittent bug to verify it's completely fixed, but confident about the code changes. Tested zapping with QR (still works) and zapping with an attached wallet (LNbits). Happy path and errors (QR when not enpough balance) still work.
For frontend changes: Tested on mobile, light and dark mode? Please answer below:
No changes to layout or theme.
Did you introduce any new environment variables? If so, call them out explicitly here:
No new environment variables.