mirror of
https://github.com/PR0M3TH3AN/VoxVera.git
synced 2026-10-27 09:40:40 +00:00
A flyer published via NIP-07 could get a poster naddr encoding the anonymous device key instead of the signer: signActiveEvent signed through window.nostr (the real key) while activeIdentity() — used to build the naddr — fell back to the anon key whenever nip07Pubkey hadn't loaded yet (e.g. just after a reload restored nip07 mode). The resulting poster URL pointed at the wrong author and could never be loaded back, even though the flyer appeared on the board (which finds events by tag, not address). signAndPublish now resolves the concrete signing pubkey first (fetching the NIP-07 key if needed), builds the naddr from that exact key, and refuses to publish if the signed event's pubkey does not match the naddr — so the signer and the poster address can no longer diverge. Note: this prevents new broken flyers; an already-published flyer with a mismatched naddr must be re-published to get a correct poster URL. Test: a NIP-07 publish issued while getPublicKey is still pending now yields a naddr whose pubkey matches the signer (fails on the old code). 192 e2e across all six engines. Co-Authored-By: Claude Opus 4.8 <[email protected]>