diff --git a/static/components/chat-dialog/chat-dialog.js b/static/components/chat-dialog/chat-dialog.js index abca869..72a4d17 100644 --- a/static/components/chat-dialog/chat-dialog.js +++ b/static/components/chat-dialog/chat-dialog.js @@ -129,7 +129,7 @@ async function chatDialog(path) { this.nostrMessages = Array.from(messagesMap.values()) } } catch { - console.error('Unable to decrypt message!') + console.debug('Unable to decrypt message! Not for us...') } }) this.sub = sub @@ -146,33 +146,11 @@ async function chatDialog(path) { } event.id = NostrTools.getEventHash(event) event.sig = this.signEvent(event) - // This doesn't work yet - // this.pool.publish(Array.from(this.relays), event) - // this.newMessage = '' - // We need this hack - for (const url of Array.from(this.relays)) { - try { - let relay = NostrTools.relayInit(url) - relay.on('connect', () => { - console.debug(`connected to ${relay.url}`) - }) - relay.on('error', () => { - console.debug(`failed to connect to ${relay.url}`) - }) - await relay.connect() - let pub = relay.publish(event) - pub.on('ok', () => { - console.debug(`${relay.url} has accepted our event`) - }) - pub.on('failed', reason => { - console.debug(`failed to publish to ${relay.url}: ${reason}`) - }) - this.newMessage = '' - } catch (e) { - console.error(e) - } - } + let pub = this.pool.publish(Array.from(this.relays), event) + pub.on('ok', () => console.debug(`Event was sent`)) + pub.on('failed', error => console.error(error)) + this.newMessage = '' }, async encryptMsg() { try { diff --git a/static/components/customer-stall/customer-stall.js b/static/components/customer-stall/customer-stall.js index faac15a..a4d115b 100644 --- a/static/components/customer-stall/customer-stall.js +++ b/static/components/customer-stall/customer-stall.js @@ -274,32 +274,35 @@ async function customerStall(path) { await this.sendOrder(event) }, async sendOrder(order) { - for (const url of Array.from(this.relays)) { - try { - let relay = NostrTools.relayInit(url) - relay.on('connect', () => { - console.debug(`connected to ${relay.url}`) - }) - relay.on('error', () => { - console.debug(`failed to connect to ${relay.url}`) - relay.close() - return - }) + let pub = this.pool.publish(Array.from(this.relays), order) + pub.on('ok', () => console.debug(`Order event was sent`)) + pub.on('failed', error => console.error(error)) + // for (const url of Array.from(this.relays)) { + // try { + // let relay = NostrTools.relayInit(url) + // relay.on('connect', () => { + // console.debug(`connected to ${relay.url}`) + // }) + // relay.on('error', () => { + // console.debug(`failed to connect to ${relay.url}`) + // relay.close() + // return + // }) - await relay.connect() - let pub = relay.publish(order) - pub.on('ok', () => { - console.debug(`${relay.url} has accepted our event: ${order.id}`) - relay.close() - }) - pub.on('failed', reason => { - console.debug(`failed to publish to ${relay.url}: ${reason}`) - relay.close() - }) - } catch (err) { - console.error(`Error: ${err}`) - } - } + // await relay.connect() + // let pub = relay.publish(order) + // pub.on('ok', () => { + // console.debug(`${relay.url} has accepted our event: ${order.id}`) + // relay.close() + // }) + // pub.on('failed', reason => { + // console.debug(`failed to publish to ${relay.url}: ${reason}`) + // relay.close() + // }) + // } catch (err) { + // console.error(`Error: ${err}`) + // } + // } this.loading = false this.resetCart() this.openQrCodeDialog() @@ -308,7 +311,7 @@ async function customerStall(path) { async listenMessages() { this.loading = true try { - const pool = new NostrTools.SimplePool() + // const pool = new NostrTools.SimplePool() const filters = [ { kinds: [4], @@ -320,7 +323,7 @@ async function customerStall(path) { } ] let relays = Array.from(this.relays) - let subs = pool.sub(relays, filters) + let subs = this.pool.sub(relays, filters) subs.on('event', async event => { let mine = event.pubkey == this.customerPubkey let sender = mine @@ -341,7 +344,7 @@ async function customerStall(path) { ) } - this.messageFilter(plaintext, cb => Promise.resolve(pool.close)) + this.messageFilter(plaintext, cb => subs.unsub()) } catch { console.debug('Unable to decrypt message! Probably not for us!') } @@ -355,9 +358,8 @@ async function customerStall(path) { let json = JSON.parse(text) if (json.id != this.activeOrder) return if (json.payment_options) { - let payment_request = json.payment_options.find( - o => o.type == 'ln' - ).link + let payment_request = json.payment_options.find(o => o.type == 'ln') + .link if (!payment_request) return this.loading = false this.qrCodeDialog.data.payment_request = payment_request @@ -373,7 +375,7 @@ async function customerStall(path) { icon: 'thumb_up' }) this.activeOrder = null - Promise.resolve(cb()) + return cb() } else { return }