diff --git a/packages/server/src/api/controllers/row/external.ts b/packages/server/src/api/controllers/row/external.ts index 126b11d0c1..601f47b511 100644 --- a/packages/server/src/api/controllers/row/external.ts +++ b/packages/server/src/api/controllers/row/external.ts @@ -72,15 +72,23 @@ export async function patch(ctx: UserCtx) { const row = await sdk.rows.external.getRow(tableId, updatedId, { relationships: true, }) - const enrichedRow = await outputProcessing(table, row, { - squash: true, - preserveLinks: true, - }) + + const [enrichedRow, oldRow] = await Promise.all([ + outputProcessing(table, row, { + squash: true, + preserveLinks: true, + }), + outputProcessing(table, beforeRow, { + squash: true, + preserveLinks: true, + }), + ]) + return { ...response, row: enrichedRow, table, - oldRow: beforeRow, + oldRow, } } diff --git a/packages/server/src/automations/triggers.ts b/packages/server/src/automations/triggers.ts index 399e1a5dd6..868c0559e1 100644 --- a/packages/server/src/automations/triggers.ts +++ b/packages/server/src/automations/triggers.ts @@ -7,7 +7,7 @@ import { automationQueue } from "./bullboard" import { checkTestFlag } from "../utilities/redis" import * as utils from "./utils" import env from "../environment" -import { context, db as dbCore } from "@budibase/backend-core" +import { context, logging, db as dbCore } from "@budibase/backend-core" import { Automation, Row, @@ -66,7 +66,11 @@ async function queueRelevantRowAutomations( automationTrigger?.inputs && automationTrigger.inputs.tableId === event.row.tableId ) { - await automationQueue.add({ automation, event }, JOB_OPTS) + try { + await automationQueue.add({ automation, event }, JOB_OPTS) + } catch (e) { + logging.logAlert("Failed to queue automation", e) + } } } })