diff --git a/packages/emails/src/queue.ts b/packages/emails/src/qstash.ts similarity index 100% rename from packages/emails/src/queue.ts rename to packages/emails/src/qstash.ts diff --git a/packages/emails/src/send-email.tsx b/packages/emails/src/send-email.tsx index 464cb1f9d..2e694e6cd 100644 --- a/packages/emails/src/send-email.tsx +++ b/packages/emails/src/send-email.tsx @@ -1,16 +1,12 @@ import * as aws from "@aws-sdk/client-ses"; import { defaultProvider } from "@aws-sdk/credential-provider-node"; -import { absoluteUrl } from "@rallly/utils/absolute-url"; import { renderAsync } from "@react-email/render"; -import * as Sentry from "@sentry/nextjs"; import { waitUntil } from "@vercel/functions"; import type { Transporter } from "nodemailer"; import { createTransport } from "nodemailer"; import type Mail from "nodemailer/lib/mailer"; -import React from "react"; import { i18nDefaultConfig, i18nInstance } from "./i18n"; -import { createQstashClient } from "./queue"; import { templates } from "./templates"; import type { TemplateComponent, TemplateName, TemplateProps } from "./types"; @@ -72,32 +68,8 @@ export class EmailClient { templateName: T, options: SendEmailOptions, ) { - const isQueueEnabled = false; // TODO: Enable this - const createEmailJob = async () => { - const client = createQstashClient(); - - if (client && isQueueEnabled) { - const queue = client.queue({ - queueName: "emails-mq", - }); - - queue - .enqueueJSON({ - url: absoluteUrl("/api/send-email"), - body: { locale: this.config.locale, templateName, options }, - retries: 2, - }) - .catch(() => { - Sentry.captureException(new Error("Failed to queue email")); - // If there's an error queuing the email, send it immediately - this.sendTemplate(templateName, options); - }); - } else { - this.sendTemplate(templateName, options); - } - }; - - waitUntil(createEmailJob()); + const promise = this.sendTemplate(templateName, options); + waitUntil(promise); } async sendTemplate(