add skipSeen to broadcastToRelay

This commit is contained in:
tiero
2023-01-24 16:25:57 +01:00
parent 9700154643
commit a5c7a23e57
3 changed files with 9 additions and 8 deletions

View File

@@ -8,7 +8,7 @@
"build": "parcel build --public-url /connect index.html"
},
"dependencies": {
"@nostr-connect/connect": "^0.1.4",
"@nostr-connect/connect": "^0.2.0",
"nostr-tools": "^1.1.1",
"qrcode.react": "^3.1.0",
"react": "^18.2.0",

View File

@@ -159,10 +159,10 @@
resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.0.tgz#d15357f7c227e751d90aa06b05a0e5cf993ba8c1"
integrity sha512-kbacwGSsH/CTout0ZnZWxnW1B+jH/7r/WAAKLBtrRJ/+CUH7lgmQzl3GTrQua3SGKWNSDsS6lmjnDpIJ5Dxyaw==
"@nostr-connect/connect@^0.1.4":
version "0.1.4"
resolved "https://registry.yarnpkg.com/@nostr-connect/connect/-/connect-0.1.4.tgz#b89d2ad2a192221302052b2bcddb2ef2134b398c"
integrity sha512-pJdULgUFWzhisGztYCLQTcLXMesOmR39PkjH9C2IozFpWC/MqMHs3/jArJr0EAx/YgkCjdv6IUajjGC1gMefoA==
"@nostr-connect/connect@^0.2.0":
version "0.2.0"
resolved "https://registry.yarnpkg.com/@nostr-connect/connect/-/connect-0.2.0.tgz#01d2abd648a30e467837763bb1cbeb8b2c8f806c"
integrity sha512-0OpzpsmCWuTYynZAzX3kA+VVIbChHXtIh/9N1tf3k9IwuIKU2amU6qIKsn42/2kH/kiWzbxUIdAEvoY10C7acQ==
dependencies:
events "^3.3.0"
nostr-tools "^1.0.1"

View File

@@ -62,9 +62,9 @@ export class NostrRPC {
const request = prepareRequest(id, method, params);
const event = await prepareEvent(this.self.secret, target, request);
await broadcastToRelay(relay, event);
// waiting for response from remote
await broadcastToRelay(relay, event, opts?.skipResponse);
// skip waiting for response from remote
if (opts && opts.skipResponse === true) return Promise.resolve();
return new Promise<void>((resolve, reject) => {
@@ -292,13 +292,14 @@ export async function connectToRelay(realayURL: string) {
});
return relay;
}
export async function broadcastToRelay(relay: Relay, event: Event) {
export async function broadcastToRelay(relay: Relay, event: Event, skipSeen: boolean = false) {
// send request via relay
return await new Promise<void>((resolve, reject) => {
relay.on('error', () => {
reject(new Error(`failed to connect to ${relay.url}`));
});
const pub = relay.publish(event);
if (skipSeen) resolve();
pub.on('failed', (reason: any) => {
reject(reason);
});