This change fixes issues where raw LNURL metadata was appearing in the transaction Note, as well as not populating a Note when the user specifies one, so I have added a helper function getPaymentNote() that ensures:
- If the user types a note, that note is used.
- If the user does not type a note, the document title is used (removing the " - WordPress" suffix).
- The transaction note is always a clean string, preventing JSON objects from being passed to the wallet.

Use this function inside payKeysend and payInvoice so alll notes will be passed clean, tag-free, and bracket-free:
getPaymentNote: function() { // 1. Priority: User's manual note if (this.comment && this.comment.trim() !== '') { return this.comment; } // 2. Fallback: Page Title // document.title is ALREADY plain text (no HTML tags). // We just remove the WordPress suffix to keep it short. return document.title ? document.title.replace(' - WordPress', '') : 'Zap'; },
New vue file candidate is attached
Widget.ce.txt