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: restore hold ends on a wallet-only spark sync #1868
A restored wallet's hold on pre-restore invoices ends at Spark's first Synced event after the restore. Breez SDK 0.28.0 emits Synced and sets lastSyncedAt once the wallet sync succeeds, but payment history syncs separately. If that history sync is still incomplete, the seeded list of earlier sends can miss a send that another device made. The hold then ends, and the node can pay that invoice again.
Why the app can't close it now
GetInfoResponse has no payment-history sync state, so the app can't tell a wallet-only sync from a full one. Master's earlierLightningSend (SparkRepo.kt) already trusts the same signal.
What's needed
The SDK has to report when payment-history sync completes. The restore hold then ends on that signal instead of Synced.
Raised on #1858 (comment). The iOS app trusts the same signal (LightningService.swift, restore hold).
Fixed in a0e995a on #1858: for 7 days after a restore the node refuses a still-valid invoice from before the restore unless Spark's list shows it pending or paid, so a Synced that fired before the payment history synced no longer releases the hold.
Activity
ovitrif commentedon Nov 11, 2026
Fixed in a0e995a on #1858: for 7 days after a restore the node refuses a still-valid invoice from before the restore unless Spark's list shows it pending or paid, so a
Syncedthat fired before the payment history synced no longer releases the hold.ovitrif commentedon Nov 11, 2026
Reopened: the fix (a0e995a) is on #1858, which is still open; this issue closes when that PR merges.