| 1 | diff --git a/internal/webui/bridge.js b/internal/webui/bridge.js |
| 2 | index 3ff56fa..404f781 100644 |
| 3 | --- a/internal/webui/bridge.js |
| 4 | +++ b/internal/webui/bridge.js |
| 5 | @@ -127,7 +127,7 @@ |
| 6 | const setSigner = signer => { |
| 7 | window.tinySigner = signer; |
| 8 | window.nostr = {signEvent: event => window.tinySigner.signEvent(event)}; |
| 9 | - document.dispatchEvent(new CustomEvent("tiny:signer")); |
| 10 | + if (typeof CustomEvent === "function") document.dispatchEvent?.(new CustomEvent("tiny:signer")); |
| 11 | if (document.getElementById("signer-status")) { |
| 12 | say(document.getElementById("session-logout") ? "Signer connected." : "Signer connected. Choose Sign in with connected signer to continue."); |
| 13 | } |
| 14 | diff --git a/scripts/signer.test.mjs b/scripts/signer.test.mjs |
| 15 | index 5690cd4..ed216c2 100644 |
| 16 | --- a/scripts/signer.test.mjs |
| 17 | +++ b/scripts/signer.test.mjs |
| 18 | @@ -17,7 +17,7 @@ async function page({signedIn = false, bunkerResult = null} = {}) { |
| 19 | const signer = {bp: {pubkey: "a".repeat(64), relays: ["wss://tiny.example/r/work"]}, getPublicKey: async () => "a".repeat(64), signEvent: async event => ({...event, pubkey: "a".repeat(64), sig: "test"})}; |
| 20 | const sandbox = { |
| 21 | tiny: {}, |
| 22 | - document: {getElementById: id => elements.get(id), querySelector: () => null, addEventListener() {}, documentElement: {dataset: {}}}, |
| 23 | + document: {getElementById: id => elements.get(id), querySelector: () => null, addEventListener() {}, dispatchEvent() {}, documentElement: {dataset: {}}}, |
| 24 | crypto: webcrypto, TextEncoder, URL, Uint8Array, ArrayBuffer, |
| 25 | btoa: value => Buffer.from(value).toString("base64"), |
| 26 | location: {pathname: "/r/work/signin", href: "https://tiny.example/r/work/signin", origin: "https://tiny.example", assign(url) { sandbox.opened = url; }, reload() { sandbox.reloaded = true; }}, |