From 83f165381d8da18e4ebc40bb1ee818ef7c9e63a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cau=C3=AA=20Faleiros?= Date: Tue, 23 Jun 2026 10:34:12 -0300 Subject: [PATCH] fix: hardcode safe Tiny throttle defaults --- docker-compose.yml | 18 +++++++++--------- src/controllers/webhook.controller.ts | 5 ++++- src/scripts/backfill-graphs.ts | 5 ++++- 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index ae9595d..a9d438d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -18,15 +18,15 @@ services: - TINY_API_TOKEN=${TINY_API_TOKEN} - GRAPHS_API_URL=${GRAPHS_API_URL} - GRAPHS_API_KEY=${GRAPHS_API_KEY} - - GRAPHS_BACKFILL_CONTACT_FALLBACK=${GRAPHS_BACKFILL_CONTACT_FALLBACK} - - GRAPHS_BACKFILL_TINY_REQUEST_DELAY_MS=${GRAPHS_BACKFILL_TINY_REQUEST_DELAY_MS} - - GRAPHS_BACKFILL_ORDER_DELAY_MS=${GRAPHS_BACKFILL_ORDER_DELAY_MS} - - GRAPHS_BACKFILL_TINY_BLOCK_DELAY_MS=${GRAPHS_BACKFILL_TINY_BLOCK_DELAY_MS} - - GRAPHS_BACKFILL_MAX_TINY_BLOCK_RETRIES=${GRAPHS_BACKFILL_MAX_TINY_BLOCK_RETRIES} - - TINY_FETCH_SELLER_DETAILS=${TINY_FETCH_SELLER_DETAILS} - - TINY_ORDER_DETAILS_CACHE_TTL_MS=${TINY_ORDER_DETAILS_CACHE_TTL_MS} - - TINY_LIVE_REQUEST_DELAY_MS=${TINY_LIVE_REQUEST_DELAY_MS} - - TINY_LIVE_MAX_QUEUE_WAIT_MS=${TINY_LIVE_MAX_QUEUE_WAIT_MS} + - GRAPHS_BACKFILL_CONTACT_FALLBACK=${GRAPHS_BACKFILL_CONTACT_FALLBACK:-true} + - GRAPHS_BACKFILL_TINY_REQUEST_DELAY_MS=${GRAPHS_BACKFILL_TINY_REQUEST_DELAY_MS:-6000} + - GRAPHS_BACKFILL_ORDER_DELAY_MS=${GRAPHS_BACKFILL_ORDER_DELAY_MS:-0} + - GRAPHS_BACKFILL_TINY_BLOCK_DELAY_MS=${GRAPHS_BACKFILL_TINY_BLOCK_DELAY_MS:-600000} + - GRAPHS_BACKFILL_MAX_TINY_BLOCK_RETRIES=${GRAPHS_BACKFILL_MAX_TINY_BLOCK_RETRIES:-0} + - TINY_FETCH_SELLER_DETAILS=${TINY_FETCH_SELLER_DETAILS:-false} + - TINY_ORDER_DETAILS_CACHE_TTL_MS=${TINY_ORDER_DETAILS_CACHE_TTL_MS:-120000} + - TINY_LIVE_REQUEST_DELAY_MS=${TINY_LIVE_REQUEST_DELAY_MS:-6000} + - TINY_LIVE_MAX_QUEUE_WAIT_MS=${TINY_LIVE_MAX_QUEUE_WAIT_MS:-30000} # Optional: If you use a shared Docker network for Nginx Proxy Manager, you can attach it here: # networks: # - nginx-proxy-manager-network diff --git a/src/controllers/webhook.controller.ts b/src/controllers/webhook.controller.ts index a33fe03..b4de55d 100644 --- a/src/controllers/webhook.controller.ts +++ b/src/controllers/webhook.controller.ts @@ -19,7 +19,10 @@ const inFlightOrderDetails = new Map> const configuredCacheTtlMs = Number(process.env.TINY_ORDER_DETAILS_CACHE_TTL_MS || 120000); const ORDER_DETAILS_CACHE_TTL_MS = Number.isFinite(configuredCacheTtlMs) ? configuredCacheTtlMs : 120000; const numberEnv = (name: string, fallback: number) => { - const value = Number(process.env[name] ?? fallback); + const raw = process.env[name]; + if (raw === undefined || raw.trim() === '') return fallback; + + const value = Number(raw); return Number.isFinite(value) && value >= 0 ? value : fallback; }; const LIVE_TINY_REQUEST_DELAY_MS = numberEnv('TINY_LIVE_REQUEST_DELAY_MS', 6000); diff --git a/src/scripts/backfill-graphs.ts b/src/scripts/backfill-graphs.ts index 6b20cc3..7db405a 100644 --- a/src/scripts/backfill-graphs.ts +++ b/src/scripts/backfill-graphs.ts @@ -62,7 +62,10 @@ const NORMALIZE_PHONE = process.env.GRAPHS_BACKFILL_NORMALIZE_PHONE !== 'false'; const START_DATE = process.env.GRAPHS_BACKFILL_START_DATE || '13/02/2025'; const END_DATE = process.env.GRAPHS_BACKFILL_END_DATE || getTodayDate(); const numberEnv = (name: string, fallback: number) => { - const value = Number(process.env[name] ?? fallback); + const raw = process.env[name]; + if (raw === undefined || raw.trim() === '') return fallback; + + const value = Number(raw); return Number.isFinite(value) && value >= 0 ? value : fallback; }; const MAX_DAYS = numberEnv('GRAPHS_BACKFILL_MAX_DAYS', 0);