From e91893f7bff9320805249442c0e75c298de205b8 Mon Sep 17 00:00:00 2001 From: "coderabbitai[bot]" <136622811+coderabbitai[bot]@users.noreply.github.com> Date: Fri, 8 May 2026 08:52:54 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=9D=20CodeRabbit=20Chat:=20Implement?= =?UTF-8?q?=20requested=20code=20changes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/__tests__/mail.controller.test.js | 10 ++++------ .../common/src/queues/publicEmailQueue.js | 20 +++++++------------ 2 files changed, 11 insertions(+), 19 deletions(-) diff --git a/apps/public-api/src/__tests__/mail.controller.test.js b/apps/public-api/src/__tests__/mail.controller.test.js index a1297982b..9626c3994 100644 --- a/apps/public-api/src/__tests__/mail.controller.test.js +++ b/apps/public-api/src/__tests__/mail.controller.test.js @@ -186,9 +186,8 @@ describe('mail.controller', () => { attemptsMade: 3 }; - if (failedHandler) { - await failedHandler(mockJob, new Error("Terminal failure")); - } + expect(failedHandler).toBeDefined(); + await failedHandler(mockJob, new Error("Terminal failure")); expect(mockRedis.eval).toHaveBeenCalledWith( expect.any(String), 1, 'project:mail:count:proj_1:2026-05' @@ -222,9 +221,8 @@ describe('mail.controller', () => { attemptsMade: 1 // Not terminal yet }; - if (failedHandler) { - await failedHandler(mockJob, new Error("Temporary failure")); - } + expect(failedHandler).toBeDefined(); + await failedHandler(mockJob, new Error("Temporary failure")); expect(mockRedis.eval).not.toHaveBeenCalled(); }); diff --git a/packages/common/src/queues/publicEmailQueue.js b/packages/common/src/queues/publicEmailQueue.js index c028eedf7..da0e58b57 100644 --- a/packages/common/src/queues/publicEmailQueue.js +++ b/packages/common/src/queues/publicEmailQueue.js @@ -18,9 +18,7 @@ const initPublicEmailWorker = () => { // Initialize Worker with Rate Limiting (10 per second to respect Resend limits) worker = new Worker('public-email-queue', async (job) => { const { projectId, payload, usingByok, consumedQuotaKey } = job.data; - - try { - + let clientKey = process.env.RESEND_API_KEY_2 || process.env.RESEND_API_KEY; let fromAddress = process.env.EMAIL_FROM || "urBackend "; @@ -31,8 +29,8 @@ const initPublicEmailWorker = () => { const decrypted = decrypt(project.resendApiKey); if (typeof decrypted === 'string' && decrypted.trim().length > 0) { clientKey = decrypted.trim(); - fromAddress = project.resendFromEmail && project.resendFromEmail.trim() - ? project.resendFromEmail.trim() + fromAddress = project.resendFromEmail && project.resendFromEmail.trim() + ? project.resendFromEmail.trim() : "onboarding@resend.dev"; } } @@ -65,18 +63,15 @@ const initPublicEmailWorker = () => { const maskedTo = toList.map(redact).join(', '); console.log(`[Queue] Processing public email to: ${maskedTo}`); - + const { data, error } = await resend.emails.send(finalPayload); - + if (error) { console.error(`[Queue] Failed to send public email to ${maskedTo}:`, error); throw new Error(error.message || "Failed to send email"); } - + return { data }; - } catch (err) { - throw err; - } }, { connection, limiter: { @@ -94,8 +89,7 @@ const initPublicEmailWorker = () => { if (job && job.data && job.data.consumedQuotaKey) { const maxAttempts = job.opts?.attempts || 1; if (job.attemptsMade >= maxAttempts) { - const luaScript = DECR_IF_EXISTS_SCRIPT; - await connection.eval(luaScript, 1, job.data.consumedQuotaKey).catch(() => {}); + await connection.eval(DECR_IF_EXISTS_SCRIPT, 1, job.data.consumedQuotaKey).catch(() => {}); } } });