diff --git a/packages/backend-core/src/objectStore/utils.ts b/packages/backend-core/src/objectStore/utils.ts index 2edb075b92..30c2fefbf1 100644 --- a/packages/backend-core/src/objectStore/utils.ts +++ b/packages/backend-core/src/objectStore/utils.ts @@ -70,6 +70,9 @@ async function processUrlAttachment( throw new Error(`Unexpected response ${response.statusText}`) } const fallbackFilename = path.basename(new URL(attachment.url).pathname) + if (!response.body) { + throw new Error("No response received for attachment") + } return { filename: attachment.filename || fallbackFilename, content: stream.Readable.fromWeb(response.body as streamWeb.ReadableStream), diff --git a/packages/server/src/automations/automationUtils.ts b/packages/server/src/automations/automationUtils.ts index 88b279b771..cb09f860da 100644 --- a/packages/server/src/automations/automationUtils.ts +++ b/packages/server/src/automations/automationUtils.ts @@ -163,7 +163,10 @@ async function generateAttachmentRow(attachment: AutomationAttachment) { try { const { filename } = attachment - const extension = path.extname(filename).replaceAll(".", "") + let extension = path.extname(filename) + if (extension.startsWith(".")) { + extension = extension.substring(1, extension.length) + } const attachmentResult = await objectStore.processAutomationAttachment( attachment ) @@ -182,8 +185,8 @@ async function generateAttachmentRow(attachment: AutomationAttachment) { return { size, + extension, name: filename, - extension: extension, key: s3Key, } } catch (error) {