16602be964
WalletTask::NostrPayRequest ran nostr_pay/nostr_receive with no lock check, so an Approve tapped just before locking could spend or receive seconds later while the wallet was locked. Guard the task entry: when locked, the request is left Pending in the store (still approvable after unlock) and fail_send() flips the send phase to FAILED, which the activity card already consumes — the spinner clears and the reason line explains the bounce. Adds goblin.lock.approve_locked to all 10 locales. (cherry picked from commit ee47343259f12314932976c193739a2e0e96521d)