todos-contra-el-fuego-web/imports/startup/server
vjrj fbb746fba2
All checks were successful
build-image / build (push) Successful in 13m13s
fix(subsUnion): move geo-union math to a worker thread, not just yields
The previous fix (yielding to the event loop between turf.union calls)
was not enough: once the merged polygon gets complex with thousands of
subscriptions, a single turf.union call can itself take seconds, and
yielding between iterations doesn't help when one iteration alone
blocks that long. Confirmed in staging: the site was still fully
unresponsive (Cloudflare 524, curl hanging 2+ minutes, healthcheck
failing) while a recompute ran.

Validation/decoration (addNoisy/noNoisy, cheap) stays on the main
thread; the actual circle+union chain now runs in a worker_thread
(private/workers/unionWorker.js, plain CommonJS so meteor build copies
it verbatim instead of compiling it) so the main event loop serving
DDP/HTTP is never blocked by it, regardless of how slow any single
turf call gets.
2026-07-30 07:48:17 +02:00
..
accounts WIP(meteor3): boot progresses past linker + several async fixes 2026-07-13 23:46:45 +02:00
api.js quality: web debt batch (tests runner, FireContainer, rate-limit, maps, i18n) 2026-07-21 22:59:06 +02:00
calcUnionAsync.js fix(subsUnion): move geo-union math to a worker thread, not just yields 2026-07-30 07:48:17 +02:00
catchExceptions.js Removed some coments 2018-05-03 01:37:22 +02:00
cron.js notif: remove code migrated to tcef-notifications microservice 2026-07-13 19:45:13 +02:00
email.js WIP(meteor3): boot progresses past linker + several async fixes 2026-07-13 23:46:45 +02:00
facts.js meteor3: purge dead client packages — web UI renders on 3.1 2026-07-14 11:32:19 +02:00
feedback.js Change feedback email 2018-02-21 20:50:44 +01:00
fixtures.js meteor3: re-enable fixtures and sitemaps with async/Meteor-3 implementations 2026-07-14 07:06:07 +02:00
i18n.js deps: i18next 10 -> 23, react-i18next 7 -> 14 2026-07-18 06:28:41 +02:00
index.js sentry: tunnel client events through the app to dodge Cloudflare's 503 2026-07-17 18:17:47 +02:00
IPGeocoder.js smoke: REST API regression harness + baseline snapshots (Meteor 1.6.1.1) 2026-07-13 19:42:55 +02:00
isMaster.js Added master/worker pm2 detection and mail configuration 2018-04-04 08:42:02 +02:00
leaflet-workaround.js Refactor server startup: elimina segfaults, añade leaflet-workaround 2026-07-12 23:26:16 +02:00
migrations.js meteor3: port all 18 migration up() bodies to async 2026-07-14 11:36:30 +02:00
prerender.js Remove log 2018-02-17 08:52:50 +01:00
ravenLogger.js meteor3: raven -> @sentry/node + @sentry/browser 2026-07-16 12:20:02 +02:00
rest.js Rest api updated 2018-06-14 17:55:38 +02:00
sentryTunnel.js sentry: tunnel client events through the app to dodge Cloudflare's 503 2026-07-17 18:17:47 +02:00
sitemaps.js meteor3: re-enable fixtures and sitemaps with async/Meteor-3 implementations 2026-07-14 07:06:07 +02:00
subsUnion.js fix(subsUnion): move geo-union math to a worker thread, not just yields 2026-07-30 07:48:17 +02:00