From b3122140b158bb2bf8f4e7d41e1e506861487fc1 Mon Sep 17 00:00:00 2001 From: Roman Snapko Date: Tue, 27 Jan 2026 16:06:34 +0100 Subject: [PATCH 1/9] Add error handling and logging to `new-email` trigger in Microsoft Outlook block --- .../src/lib/triggers/new-email.ts | 37 +++++++++++-------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/packages/blocks/microsoft-outlook/src/lib/triggers/new-email.ts b/packages/blocks/microsoft-outlook/src/lib/triggers/new-email.ts index 40808e5a54..62186a974d 100644 --- a/packages/blocks/microsoft-outlook/src/lib/triggers/new-email.ts +++ b/packages/blocks/microsoft-outlook/src/lib/triggers/new-email.ts @@ -7,6 +7,7 @@ import { TriggerStrategy, createTrigger, } from '@openops/blocks-framework'; +import { logger } from '@openops/server-shared'; import { isEmpty, isString } from '@openops/shared'; import dayjs from 'dayjs'; import { microsoftOutlookAuth } from '../common/auth'; @@ -165,22 +166,26 @@ const polling: Polling< > = { strategy: DedupeStrategy.TIMEBASED, items: async ({ auth, lastFetchEpochMS, propsValue }) => { - const client = await createGraphClient(auth.access_token); - - const messages = await fetchMessages( - client, - propsValue['mailBox'] as string, - lastFetchEpochMS, - ); - - const filteredMessages = messages.filter((message) => - applyClientSideFilters(message, propsValue), - ); - - return filteredMessages.map((message) => ({ - epochMilliSeconds: dayjs(message.receivedDateTime).valueOf(), - data: message, - })); + try { + const client = await createGraphClient(auth.access_token); + + const messages = await fetchMessages( + client, + propsValue['mailBox'] as string, + lastFetchEpochMS, + ); + + const filteredMessages = messages.filter((message) => + applyClientSideFilters(message, propsValue), + ); + return filteredMessages.map((message) => ({ + epochMilliSeconds: dayjs(message.receivedDateTime).valueOf(), + data: message, + })); + } catch (e) { + logger.error(e, 'THE NEW EMAIL ERROR'); + throw e; + } }, }; From 5f5265e7cd83d7a16911dcc216b7e86c1bdbb9e6 Mon Sep 17 00:00:00 2001 From: Roman Snapko Date: Thu, 5 Mar 2026 10:57:48 +0100 Subject: [PATCH 2/9] Add debug logging for trigger payload extraction result --- .../src/lib/trigger/hooks/extract-trigger-payload-hooks.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/server/worker/src/lib/trigger/hooks/extract-trigger-payload-hooks.ts b/packages/server/worker/src/lib/trigger/hooks/extract-trigger-payload-hooks.ts index a205e1d4c4..2f488e6d4b 100644 --- a/packages/server/worker/src/lib/trigger/hooks/extract-trigger-payload-hooks.ts +++ b/packages/server/worker/src/lib/trigger/hooks/extract-trigger-payload-hooks.ts @@ -38,6 +38,7 @@ export async function extractPayloads( handleFailureFlow(flowVersion, projectId, engineToken, true); return result.output as unknown[]; } else { + logger.error('THE RESULT IS:', JSON.stringify(result)); logger.error( { result, From cb73ed5ef7ce91150343db4152c86d6553a76b51 Mon Sep 17 00:00:00 2001 From: Cezar Dascal Date: Thu, 5 Mar 2026 11:41:31 +0200 Subject: [PATCH 3/9] Add nginx location block for /api/v1/webhooks/*/sync with extended timeout for docker compose deployments --- deploy/docker-compose/nginx.gateway.routing.conf | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/deploy/docker-compose/nginx.gateway.routing.conf b/deploy/docker-compose/nginx.gateway.routing.conf index 8491cfa852..7b37de0b7b 100644 --- a/deploy/docker-compose/nginx.gateway.routing.conf +++ b/deploy/docker-compose/nginx.gateway.routing.conf @@ -62,6 +62,20 @@ location /openops-tables { proxy_set_header X-Forwarded-Proto $scheme; } +location ~ ^/api/v1/webhooks/[^/]+/sync$ { + add_header X-Frame-Options DENY; + proxy_pass http://openops-app; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + + proxy_connect_timeout 600s; + proxy_send_timeout 600s; + proxy_read_timeout 600s; + send_timeout 600s; +} + location /.well-known/acme-challenge/ { root /etc/nginx/tls/acme; } From 0b6d39ab6206ac067b0e24ffd7e98cc9a9e15e60 Mon Sep 17 00:00:00 2001 From: Cezar Dascal Date: Thu, 5 Mar 2026 14:43:27 +0200 Subject: [PATCH 4/9] Support configurable timeout for sync webhook nginx location in docker-compose --- deploy/docker-compose/docker-compose.yml | 8 +++++++- deploy/docker-compose/nginx.gateway.routing.conf | 8 ++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/deploy/docker-compose/docker-compose.yml b/deploy/docker-compose/docker-compose.yml index 9001962e6e..960a81b610 100644 --- a/deploy/docker-compose/docker-compose.yml +++ b/deploy/docker-compose/docker-compose.yml @@ -5,9 +5,15 @@ services: ports: - '80:80' - '443:443' + environment: + NGINX_WEBHOOK_SYNC_TIMEOUT: "${OPS_FLOW_TIMEOUT_SECONDS:-600}s" + command: + - /bin/sh + - -c + - "envsubst '$$NGINX_WEBHOOK_SYNC_TIMEOUT' < /etc/nginx/includes/routing.conf.tmpl > /etc/nginx/includes/routing.conf && nginx -g 'daemon off;'" volumes: - ./${OPS_NGINX_CONFIG_FILE:-nginx.gateway.conf}:/etc/nginx/conf.d/default.conf - - ./nginx.gateway.routing.conf:/etc/nginx/includes/routing.conf + - ./nginx.gateway.routing.conf:/etc/nginx/includes/routing.conf.tmpl - ./tls:/etc/nginx/tls depends_on: openops-tables: diff --git a/deploy/docker-compose/nginx.gateway.routing.conf b/deploy/docker-compose/nginx.gateway.routing.conf index 7b37de0b7b..6921c652e4 100644 --- a/deploy/docker-compose/nginx.gateway.routing.conf +++ b/deploy/docker-compose/nginx.gateway.routing.conf @@ -70,10 +70,10 @@ location ~ ^/api/v1/webhooks/[^/]+/sync$ { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; - proxy_connect_timeout 600s; - proxy_send_timeout 600s; - proxy_read_timeout 600s; - send_timeout 600s; + proxy_connect_timeout ${NGINX_WEBHOOK_SYNC_TIMEOUT}; + proxy_send_timeout ${NGINX_WEBHOOK_SYNC_TIMEOUT}; + proxy_read_timeout ${NGINX_WEBHOOK_SYNC_TIMEOUT}; + send_timeout ${NGINX_WEBHOOK_SYNC_TIMEOUT}; } location /.well-known/acme-challenge/ { From d160aa161b5a419e3ad01b6cddaf0ea127698438 Mon Sep 17 00:00:00 2001 From: Cezar Dascal Date: Thu, 5 Mar 2026 15:27:34 +0200 Subject: [PATCH 5/9] Use nginx built-in template support for sync webhook timeout in docker-compose --- deploy/docker-compose/docker-compose.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/deploy/docker-compose/docker-compose.yml b/deploy/docker-compose/docker-compose.yml index 960a81b610..98a2920dbd 100644 --- a/deploy/docker-compose/docker-compose.yml +++ b/deploy/docker-compose/docker-compose.yml @@ -7,13 +7,10 @@ services: - '443:443' environment: NGINX_WEBHOOK_SYNC_TIMEOUT: "${OPS_FLOW_TIMEOUT_SECONDS:-600}s" - command: - - /bin/sh - - -c - - "envsubst '$$NGINX_WEBHOOK_SYNC_TIMEOUT' < /etc/nginx/includes/routing.conf.tmpl > /etc/nginx/includes/routing.conf && nginx -g 'daemon off;'" + NGINX_ENVSUBST_OUTPUT_DIR: /etc/nginx/includes volumes: - ./${OPS_NGINX_CONFIG_FILE:-nginx.gateway.conf}:/etc/nginx/conf.d/default.conf - - ./nginx.gateway.routing.conf:/etc/nginx/includes/routing.conf.tmpl + - ./nginx.gateway.routing.conf:/etc/nginx/templates/routing.conf.template - ./tls:/etc/nginx/tls depends_on: openops-tables: From f4062dea2b6e5a26601279c234afd95747a5a2d3 Mon Sep 17 00:00:00 2001 From: Cezar Dascal Date: Thu, 5 Mar 2026 15:55:23 +0200 Subject: [PATCH 6/9] Add nginx sync webhook location block for docker-compose deployments --- deploy/docker-compose/docker-compose.yml | 3 +-- deploy/docker-compose/nginx.gateway.conf | 2 +- ...ay.routing.conf => nginx.gateway.routing.conf.inc.template} | 0 deploy/docker-compose/nginx.gateway.tls.conf | 2 +- 4 files changed, 3 insertions(+), 4 deletions(-) rename deploy/docker-compose/{nginx.gateway.routing.conf => nginx.gateway.routing.conf.inc.template} (100%) diff --git a/deploy/docker-compose/docker-compose.yml b/deploy/docker-compose/docker-compose.yml index 98a2920dbd..0d464feff2 100644 --- a/deploy/docker-compose/docker-compose.yml +++ b/deploy/docker-compose/docker-compose.yml @@ -7,10 +7,9 @@ services: - '443:443' environment: NGINX_WEBHOOK_SYNC_TIMEOUT: "${OPS_FLOW_TIMEOUT_SECONDS:-600}s" - NGINX_ENVSUBST_OUTPUT_DIR: /etc/nginx/includes volumes: - ./${OPS_NGINX_CONFIG_FILE:-nginx.gateway.conf}:/etc/nginx/conf.d/default.conf - - ./nginx.gateway.routing.conf:/etc/nginx/templates/routing.conf.template + - ./nginx.gateway.routing.conf.inc.template:/etc/nginx/templates/routing.conf.inc.template - ./tls:/etc/nginx/tls depends_on: openops-tables: diff --git a/deploy/docker-compose/nginx.gateway.conf b/deploy/docker-compose/nginx.gateway.conf index 560e82882e..a06488462f 100644 --- a/deploy/docker-compose/nginx.gateway.conf +++ b/deploy/docker-compose/nginx.gateway.conf @@ -3,5 +3,5 @@ server { server_name openops; - include includes/routing.conf; + include /etc/nginx/conf.d/routing.conf.inc; } diff --git a/deploy/docker-compose/nginx.gateway.routing.conf b/deploy/docker-compose/nginx.gateway.routing.conf.inc.template similarity index 100% rename from deploy/docker-compose/nginx.gateway.routing.conf rename to deploy/docker-compose/nginx.gateway.routing.conf.inc.template diff --git a/deploy/docker-compose/nginx.gateway.tls.conf b/deploy/docker-compose/nginx.gateway.tls.conf index d58de7af22..0ff1ad24b5 100644 --- a/deploy/docker-compose/nginx.gateway.tls.conf +++ b/deploy/docker-compose/nginx.gateway.tls.conf @@ -24,7 +24,7 @@ server { add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; - include includes/routing.conf; + include /etc/nginx/conf.d/routing.conf.inc; } server { From c64b77e57d286de750153c7d948a71268ce33c14 Mon Sep 17 00:00:00 2001 From: Cezar Dascal Date: Thu, 5 Mar 2026 16:29:31 +0200 Subject: [PATCH 7/9] Try without inc --- deploy/docker-compose/docker-compose.yml | 8 ++++---- deploy/docker-compose/nginx.gateway.conf | 2 +- ...f.inc.template => nginx.gateway.routing.conf.template} | 0 deploy/docker-compose/nginx.gateway.tls.conf | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) rename deploy/docker-compose/{nginx.gateway.routing.conf.inc.template => nginx.gateway.routing.conf.template} (100%) diff --git a/deploy/docker-compose/docker-compose.yml b/deploy/docker-compose/docker-compose.yml index 0d464feff2..a26ad00e9d 100644 --- a/deploy/docker-compose/docker-compose.yml +++ b/deploy/docker-compose/docker-compose.yml @@ -6,10 +6,10 @@ services: - '80:80' - '443:443' environment: - NGINX_WEBHOOK_SYNC_TIMEOUT: "${OPS_FLOW_TIMEOUT_SECONDS:-600}s" + NGINX_WEBHOOK_SYNC_TIMEOUT: '${OPS_FLOW_TIMEOUT_SECONDS:-600}s' volumes: - ./${OPS_NGINX_CONFIG_FILE:-nginx.gateway.conf}:/etc/nginx/conf.d/default.conf - - ./nginx.gateway.routing.conf.inc.template:/etc/nginx/templates/routing.conf.inc.template + - ./nginx.gateway.routing.conf.template:/etc/nginx/templates/routing.conf.template - ./tls:/etc/nginx/tls depends_on: openops-tables: @@ -38,7 +38,7 @@ services: image: public.ecr.aws/openops/openops-engine:${OPS_VERSION:-latest} restart: unless-stopped env_file: .env - command: ["cp -r /var/tmp-base/. /tmp/ && node main.js; exit $?"] + command: ['cp -r /var/tmp-base/. /tmp/ && node main.js; exit $?'] environment: OPS_BASE_CODE_DIRECTORY: /tmp/codes OPS_COMPONENT: engine @@ -139,7 +139,7 @@ services: volumes: - 'redis_data:/data' healthcheck: - test: [ 'CMD', 'redis-cli', 'ping' ] + test: ['CMD', 'redis-cli', 'ping'] interval: 5s timeout: 3s retries: 3 diff --git a/deploy/docker-compose/nginx.gateway.conf b/deploy/docker-compose/nginx.gateway.conf index a06488462f..9ad0546a96 100644 --- a/deploy/docker-compose/nginx.gateway.conf +++ b/deploy/docker-compose/nginx.gateway.conf @@ -3,5 +3,5 @@ server { server_name openops; - include /etc/nginx/conf.d/routing.conf.inc; + include /etc/nginx/conf.d/routing.conf; } diff --git a/deploy/docker-compose/nginx.gateway.routing.conf.inc.template b/deploy/docker-compose/nginx.gateway.routing.conf.template similarity index 100% rename from deploy/docker-compose/nginx.gateway.routing.conf.inc.template rename to deploy/docker-compose/nginx.gateway.routing.conf.template diff --git a/deploy/docker-compose/nginx.gateway.tls.conf b/deploy/docker-compose/nginx.gateway.tls.conf index 0ff1ad24b5..253a775481 100644 --- a/deploy/docker-compose/nginx.gateway.tls.conf +++ b/deploy/docker-compose/nginx.gateway.tls.conf @@ -24,7 +24,7 @@ server { add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; - include /etc/nginx/conf.d/routing.conf.inc; + include /etc/nginx/conf.d/routing.conf; } server { From f22aef05b3e05a48da21f2e1de2913e2803894dd Mon Sep 17 00:00:00 2001 From: Cezar Dascal Date: Thu, 5 Mar 2026 17:02:53 +0200 Subject: [PATCH 8/9] Jut rename conf.inc suffix --- deploy/docker-compose/docker-compose.yml | 2 +- deploy/docker-compose/nginx.gateway.conf | 2 +- ...way.routing.conf.template => nginx.gateway.routing.template} | 0 deploy/docker-compose/nginx.gateway.tls.conf | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) rename deploy/docker-compose/{nginx.gateway.routing.conf.template => nginx.gateway.routing.template} (100%) diff --git a/deploy/docker-compose/docker-compose.yml b/deploy/docker-compose/docker-compose.yml index a26ad00e9d..c900e43881 100644 --- a/deploy/docker-compose/docker-compose.yml +++ b/deploy/docker-compose/docker-compose.yml @@ -9,7 +9,7 @@ services: NGINX_WEBHOOK_SYNC_TIMEOUT: '${OPS_FLOW_TIMEOUT_SECONDS:-600}s' volumes: - ./${OPS_NGINX_CONFIG_FILE:-nginx.gateway.conf}:/etc/nginx/conf.d/default.conf - - ./nginx.gateway.routing.conf.template:/etc/nginx/templates/routing.conf.template + - ./nginx.gateway.routing.template:/etc/nginx/templates/routing.template - ./tls:/etc/nginx/tls depends_on: openops-tables: diff --git a/deploy/docker-compose/nginx.gateway.conf b/deploy/docker-compose/nginx.gateway.conf index 9ad0546a96..685e0b478d 100644 --- a/deploy/docker-compose/nginx.gateway.conf +++ b/deploy/docker-compose/nginx.gateway.conf @@ -3,5 +3,5 @@ server { server_name openops; - include /etc/nginx/conf.d/routing.conf; + include /etc/nginx/conf.d/routing; } diff --git a/deploy/docker-compose/nginx.gateway.routing.conf.template b/deploy/docker-compose/nginx.gateway.routing.template similarity index 100% rename from deploy/docker-compose/nginx.gateway.routing.conf.template rename to deploy/docker-compose/nginx.gateway.routing.template diff --git a/deploy/docker-compose/nginx.gateway.tls.conf b/deploy/docker-compose/nginx.gateway.tls.conf index 253a775481..16794c4618 100644 --- a/deploy/docker-compose/nginx.gateway.tls.conf +++ b/deploy/docker-compose/nginx.gateway.tls.conf @@ -24,7 +24,7 @@ server { add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; - include /etc/nginx/conf.d/routing.conf; + include /etc/nginx/conf.d/routing; } server { From 064ff97f3dbcf1dfa7ea271a0e99d6ff6700e6e2 Mon Sep 17 00:00:00 2001 From: Cezar Dascal Date: Thu, 5 Mar 2026 17:44:56 +0200 Subject: [PATCH 9/9] Rename file in nginx container from routing.template to gateway.routing.template --- deploy/docker-compose/docker-compose.yml | 2 +- deploy/docker-compose/nginx.gateway.conf | 2 +- deploy/docker-compose/nginx.gateway.tls.conf | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/deploy/docker-compose/docker-compose.yml b/deploy/docker-compose/docker-compose.yml index c900e43881..207081c8ff 100644 --- a/deploy/docker-compose/docker-compose.yml +++ b/deploy/docker-compose/docker-compose.yml @@ -9,7 +9,7 @@ services: NGINX_WEBHOOK_SYNC_TIMEOUT: '${OPS_FLOW_TIMEOUT_SECONDS:-600}s' volumes: - ./${OPS_NGINX_CONFIG_FILE:-nginx.gateway.conf}:/etc/nginx/conf.d/default.conf - - ./nginx.gateway.routing.template:/etc/nginx/templates/routing.template + - ./nginx.gateway.routing.template:/etc/nginx/templates/gateway.routing.template - ./tls:/etc/nginx/tls depends_on: openops-tables: diff --git a/deploy/docker-compose/nginx.gateway.conf b/deploy/docker-compose/nginx.gateway.conf index 685e0b478d..fd7567c7a4 100644 --- a/deploy/docker-compose/nginx.gateway.conf +++ b/deploy/docker-compose/nginx.gateway.conf @@ -3,5 +3,5 @@ server { server_name openops; - include /etc/nginx/conf.d/routing; + include /etc/nginx/conf.d/gateway.routing; } diff --git a/deploy/docker-compose/nginx.gateway.tls.conf b/deploy/docker-compose/nginx.gateway.tls.conf index 16794c4618..d39bc1b460 100644 --- a/deploy/docker-compose/nginx.gateway.tls.conf +++ b/deploy/docker-compose/nginx.gateway.tls.conf @@ -24,7 +24,7 @@ server { add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; - include /etc/nginx/conf.d/routing; + include /etc/nginx/conf.d/gateway.routing; } server {