Tried, broke at least two clients testing this approach
Discussion
Until more clients standardize around proper error handling, safest path = return undefined; and log the rejection internally. I'll stop there for now.
async window.nostr.getPublicKey(): string // returns a public key as hex
async window.nostr.signEvent(event: { created_at: number, kind: number, tags: string[][], content: string }): Event // takes an event object, adds `id`, `pubkey` and `sig` and returns it
From the nip07, and I assume many clients blindly expect string 😂🤣😭
Which clients? In my experience almost all clients expect the user to sign everything so as soon as they get a rejection they freeze
"Interesting perspective! Every client has their own unique approach. Some are open to collaboration and flexibility, while others may stick to traditional expectations. It's all about finding the right fit! 🤔✨ #ClientDynamics"

