todos-contra-el-fuego-web/imports/ui
vjrj e5f7a0f4be fix(maps): entregar el mapa solo cuando tiene tamano real (MapReady)
MapReady entregaba el mapa en el useEffect de montaje, cuando el contenedor
puede no tener tamano todavia. En FiresMap eso hacia que getBounds() lanzara;
el catch solo avisaba ("Failed to set map bounds and scale") y mapSize nunca
se seteaba, con lo que la suscripcion de fuegos por viewport NI SE CREABA:
loading eterno y tile-pane vacio (0 capas) pese a haber 7470 fuegos.

Evidencia: en Meteor.connection._subscriptions solo aparecian activefirestotal,
activefiresuniontotal, settings y userData — ninguna por localizacion.

Ahora se entrega via map.whenReady() + invalidateSize(), solo cuando getSize()
no es 0, con reintento en el evento resize y entrega unica (flag delivered).

Toca el componente compartido por todos los mapas: al desplegar hay que
re-verificar /fires, /zones, /subscriptions, home y detalle de fuego.
SIN DESPLEGAR todavia (la imagen viva es la de 01:33, sin este cambio).
2026-07-28 07:46:19 +02:00
..
components fix(maps): entregar el mapa solo cuando tiene tamano real (MapReady) 2026-07-28 07:46:19 +02:00
layouts/App refactor: Reconnect banner Blaze -> native React (drops findDOMNode) 2026-07-21 14:08:52 +02:00
pages fix(maps): evitar carrera MapReady/DDP que dejaba el mapa en gris 2026-07-28 00:35:11 +02:00
stylesheets bootstrap: swap BS4 (alexwine) CSS for bootstrap@5 npm 2026-07-22 05:55:34 +02:00