You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
bug: expired unknown-outcome on-chain payment blocks all new on-chain sends #986
An on-chain Paykit payment whose broadcast outcome is unknown, and whose request has since expired, blocks every new on-chain send for good. Each new send opens that payment's Payment Pending screen ("Do not start a separate payment") and builds no transaction:
a new Pubky Shop checkout
a plain bitcoin: link
"Retry original payment"
The pending payment clears only when its transaction is seen on chain or a retry is accepted. A retry needs the Paykit request to still be valid, so once the request expires nothing can clear it. A payment that hit #967 on 3.0.0 RC2 ends up in this state.
Expected behavior
Once a sync shows that none of the payment's transactions reached the mempool or the chain, and its request has expired, the user can cancel it. That releases its coins for new sends and keeps the Paykit payment proof rolled back. A payment that might still confirm is never cancelled.
Steps to Reproduce
Start a Pubky Shop checkout and continue to Swipe To Pay for its on-chain payment.
Make the Electrum server swallow requests (for example with scripts/electrum-bridge.py in blackhole mode), then swipe. The sheet shows "Its outcome is unknown".
Keep the server unreachable until the request's deadline passes, then restore it.
Start any new on-chain send.
Logs / Screenshots / Recordings
After step 3, each sync logs Could not rebroadcast on-chain payment <txid>: requestUnavailable and builds nothing. Recordings: #971 (comment)
Activity