todos-contra-el-fuego-web/private
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
..
data Added EU fire stats tweets 2018-03-22 17:42:13 +01:00
email-templates Fire comments email notifications 2018-03-05 09:59:55 +01:00
pages Privacy updated 2018-08-04 18:42:37 +02:00
workers fix(subsUnion): move geo-union math to a worker thread, not just yields 2026-07-30 07:48:17 +02:00