diff --git a/src/services/nostr/handler.ts b/src/services/nostr/handler.ts index 0a0fdb34..9f8c99e2 100644 --- a/src/services/nostr/handler.ts +++ b/src/services/nostr/handler.ts @@ -184,9 +184,11 @@ export default class Handler { log("connected, subbing...") relay.onclose = (() => { - log("relay disconnected, will try to reconnect") + log("relay disconnected, will try to reconnect in 2 seconds") relay.close() - this.Connect() + setTimeout(() => { + this.Connect() + }, 2000) }) const appIds = Object.keys(this.apps) diff --git a/src/services/nostr/index.ts b/src/services/nostr/index.ts index 288478ec..47090e64 100644 --- a/src/services/nostr/index.ts +++ b/src/services/nostr/index.ts @@ -16,7 +16,10 @@ export default class NostrSubprocess { constructor(settings: NostrSettings, utils: Utils, eventCallback: EventCallback) { this.utils = utils this.childProcess = fork("./build/src/services/nostr/handler") - this.childProcess.on("error", console.error) + this.childProcess.on("error", (error) => { + console.error("nostr subprocess error") + throw error + }) this.childProcess.on("message", (message: ChildProcessResponse) => { switch (message.type) { case 'ready': diff --git a/src/services/storage/db/storageInterface.ts b/src/services/storage/db/storageInterface.ts index 0169efa9..e635e9cd 100644 --- a/src/services/storage/db/storageInterface.ts +++ b/src/services/storage/db/storageInterface.ts @@ -58,6 +58,7 @@ export class StorageInterface extends EventEmitter { this.process.on('error', (error: Error) => { console.error('Storage processor error:', error); this.isConnected = false; + throw error }); this.process.on('exit', (code: number) => { diff --git a/src/services/storage/tlv/tlvFilesStorageProcessor.ts b/src/services/storage/tlv/tlvFilesStorageProcessor.ts index 1d725e37..0dd62d3a 100644 --- a/src/services/storage/tlv/tlvFilesStorageProcessor.ts +++ b/src/services/storage/tlv/tlvFilesStorageProcessor.ts @@ -113,6 +113,7 @@ class TlvFilesStorageProcessor { process.on('error', (error: Error) => { console.error('Error in tlv files storage processor:', error); + throw error }); this.wrtc = new webRTC(t => {