From aecf6dd1cde0426da0d0ad97a4e68179360b87ea Mon Sep 17 00:00:00 2001 From: Philipp Burckhardt Date: Fri, 9 Jun 2023 20:26:49 -0400 Subject: [PATCH] fix: handle abort reason correctly --- legacy/src/services/twilio-conversation.ts | 7 ++++++- legacy/test/twilio-conversation.test.ts | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/legacy/src/services/twilio-conversation.ts b/legacy/src/services/twilio-conversation.ts index ec369142..158b00a5 100644 --- a/legacy/src/services/twilio-conversation.ts +++ b/legacy/src/services/twilio-conversation.ts @@ -267,7 +267,12 @@ export class TwilioConversationClient { do { if (aborted) { await this.deleteConversation(conversationSid) - throw new Error('Aborted waiting for reply') + const reason = stopSignal?.reason || 'Aborted waiting for reply' + if (reason instanceof Error) { + throw reason + } else { + throw new Error(reason) + } } const response = await this.fetchMessages(conversationSid) if (response.messages.length > 1) { diff --git a/legacy/test/twilio-conversation.test.ts b/legacy/test/twilio-conversation.test.ts index d22d0842..5b0da74a 100644 --- a/legacy/test/twilio-conversation.test.ts +++ b/legacy/test/twilio-conversation.test.ts @@ -127,12 +127,12 @@ test('TwilioConversationClient.sendAndWaitForReply.stopSignal', async (t) => { intervalMs: 5000, // 5 seconds stopSignal: controller.signal }) - controller.abort() + controller.abort('Aborted') return promise }, { instanceOf: Error, - message: 'Aborted waiting for reply' + message: 'Aborted' } ) })