Skip to content

(Sphere) V5 token stuck as "pending" — finalization not retried, state lost on reload #69

@KruGoL

Description

@KruGoL

Problem

When receiving tokens via V5 instant split bundles, the token gets permanently stuck in "pending" state and is lost on page reload.

Steps to reproduce

  1. Open wallet in browser
  2. Have another wallet send tokens (V5 instant split transfer)
  3. Token appears with "pending" status and a transfer notification toast
  4. Wait indefinitely — status never changes to "confirmed"
  5. Reload the page — token disappears from the token list
  6. Reload again — the same transfer notification fires again, token reappears as "pending"
  7. This cycle repeats on every reload

Expected behavior

  1. Token arrives, shows as "pending" for a few seconds
  2. Finalization completes (mint proof → transfer → confirm), status changes to "confirmed"
  3. Page reload preserves the token — no duplicate notification, no status reset

Observed behavior

  • Token permanently stuck as "pending" (no retry after first failed proof check)
  • Token disappears after first reload (pending state not persisted correctly)
  • Duplicate notifications on every subsequent reload (Nostr re-delivers the transfer and dedup fails because the token ID changes after TXF round-trip)
  • Balance briefly doubles then corrects itself during some reload sequences

Affected flow

Sender → Nostr → handleIncomingTransfer → processInstantSplitBundle → resolveUnconfirmed (one-shot) → FAIL (proof not ready) → stuck forever

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

Status

In review

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions