Problem
isUserRejection() in src/hooks/usePublish.ts (lines 48-56) only matches a few rejection message patterns: "user rejected", "user denied", "rejected the request", "cancelled". Wallets with non-standard error messages (e.g., Rabby, Frame, hardware wallets) will not match, leaving a false publish intent in localStorage even though the tx was never broadcast.
Impact
Users see a recovery banner prompting them to retry indexing for a transaction that never happened.
Fix
Expand rejection patterns or invert the logic — only persist intent after confirmed wallet signature, not before.
Related
PR #282, Issue #267
Problem
isUserRejection()insrc/hooks/usePublish.ts(lines 48-56) only matches a few rejection message patterns: "user rejected", "user denied", "rejected the request", "cancelled". Wallets with non-standard error messages (e.g., Rabby, Frame, hardware wallets) will not match, leaving a false publish intent in localStorage even though the tx was never broadcast.Impact
Users see a recovery banner prompting them to retry indexing for a transaction that never happened.
Fix
Expand rejection patterns or invert the logic — only persist intent after confirmed wallet signature, not before.
Related
PR #282, Issue #267