Todos contra el fuego — aplicación web (Meteor)
Find a file
vjrj 82d0399c86
All checks were successful
build-image / test (push) Successful in 3m15s
build-image / build (push) Successful in 13m51s
fix(maps): el mapa de /fires se quedaba en gris cuando hay clave de Google
Síntoma: en staging /fires no pintaba teselas ni fuegos, no creaba la
suscripción `activefiresmyloc` y se quedaba con "Actualizando…" para siempre. Se
había atribuido a que el navegador de las pruebas no compone; no era eso. El
mismo navegador pinta la portada, y pinta /fires perfectamente contra un
servidor local.

La diferencia era la clave de Google. `DefMapLayers` montaba el control de capas
con dos capas base (OSM color y gris) y, cuando `Gkeys` resolvía la clave,
volvía a renderizar añadiendo tres capas de Google. En esa segunda pasada
react-leaflet se dejaba por el camino la capa base marcada, y el mapa se quedaba
sin ninguna. En desarrollo no hay clave, así que la segunda pasada no añadía
nada y el bug no se veía nunca.

El control se monta ahora una sola vez, con la lista de capas ya cerrada, y con
un tope de 5 s por si el script de Google no llega: las capas de Google son un
extra, el mapa tiene que salir igual.

Reproducido en local poniendo una clave falsa en settings-ci.json (0 teselas
antes del arreglo, 15 después). Esa clave falsa se queda ahí a propósito, para
que la suite e2e recorra el mismo camino que staging y producción, y
e2e/tests/fires-map.spec.js lo fija: teselas, una única capa base marcada,
suscripción por viewport, y que no se quede en "Actualizando…".

16 tests e2e en verde.
2026-08-01 23:17:50 +02:00
.forgejo/workflows fix(ci): run playwright from e2e/, npx --prefix does not change the cwd 2026-08-01 19:07:11 +02:00
.meteor fix(meteor): pin session@1.2.2, 1.2.3 needs a newer Meteor core 2026-08-01 17:37:19 +02:00
bench perf(subsUnion): unión en árbol, menos vértices, timeout y cota de memoria 2026-08-01 22:32:37 +02:00
bin Added more industries 2018-02-27 16:50:26 +01:00
client WIP(meteor3): server BOOTS on 3.1 + Mongo 7; restivus async-patched 2026-07-14 06:11:00 +02:00
cucumber Added optional chimp configuration 2018-11-18 18:01:17 +01:00
designs Greater icon 2018-06-12 06:08:11 +02:00
docker fase 3: stack docker-compose local del sistema modernizado 2026-07-15 01:01:07 +02:00
e2e fix(maps): el mapa de /fires se quedaba en gris cuando hay clave de Google 2026-08-01 23:17:50 +02:00
imports fix(maps): el mapa de /fires se quedaba en gris cuando hay clave de Google 2026-08-01 23:17:50 +02:00
packages meteor3: purge dead client packages — web UI renders on 3.1 2026-07-14 11:32:19 +02:00
private perf(subsUnion): unión en árbol, menos vértices, timeout y cota de memoria 2026-08-01 22:32:37 +02:00
public quality: web debt batch (tests runner, FireContainer, rate-limit, maps, i18n) 2026-07-21 22:59:06 +02:00
scripts staging: neutralizar credenciales OAuth vivas, nombres reales y tokens de sesion 2026-07-28 00:35:11 +02:00
secrets staging: conecta el importador NASA reimplementado al stack 2026-07-28 07:49:05 +02:00
server WIP(meteor3): server BOOTS on 3.1 + Mongo 7; restivus async-patched 2026-07-14 06:11:00 +02:00
smoke WIP: Meteor 2.5 -> 3.1 migration (package resolution done; build blocked) 2026-07-13 23:25:29 +02:00
test/server perf(subsUnion): unión en árbol, menos vértices, timeout y cota de memoria 2026-08-01 22:32:37 +02:00
.dockerignore fase 3: stack docker-compose local del sistema modernizado 2026-07-15 01:01:07 +02:00
.gitignore fase 3: stack docker-compose local del sistema modernizado 2026-07-15 01:01:07 +02:00
.meteorignore bench(union): banco de carga de la unión de suscripciones 2026-08-01 21:51:27 +02:00
.npmrc fase 3: stack docker-compose local del sistema modernizado 2026-07-15 01:01:07 +02:00
API.md API doc 2018-04-12 10:53:43 +02:00
COPYRIGHT.md More doc, licenses, etc 2018-01-30 07:42:50 +01:00
docker-compose.e2e.yml test(e2e): browser suite for the flows the server tests cannot see 2026-08-01 18:44:09 +02:00
docker-compose.staging.yml staging: seguir la etiqueta de rama que publica el CI (meteor3-wip) 2026-07-28 15:12:01 +02:00
docker-compose.yml fase 3: stack docker-compose local del sistema modernizado 2026-07-15 01:01:07 +02:00
Dockerfile fase 3: stack docker-compose local del sistema modernizado 2026-07-15 01:01:07 +02:00
fonts.json Trying to fix fonts issue 'Failed to decode downloaded' because of wrong path 2018-02-19 16:31:05 +01:00
History.md Add attribution to issues in v.NEXT 2017-11-03 15:50:31 -05:00
LICENSE.md More doc, licenses, etc 2018-01-30 07:42:50 +01:00
package-lock.json fix(subsUnion): stop blocking DDP on subscription union recompute 2026-07-30 06:36:37 +02:00
package.json ci(web): run the server suite before building the image 2026-08-01 18:02:31 +02:00
PENDIENTE.md bootstrap: swap BS4 (alexwine) CSS for bootstrap@5 npm 2026-07-22 05:55:34 +02:00
README.md Improved chimp command in README 2018-11-18 18:01:38 +01:00
RUNBOOK.md fase 3: stack docker-compose local del sistema modernizado 2026-07-15 01:01:07 +02:00
settings-ci.json fix(maps): el mapa de /fires se quedaba en gris cuando hay clave de Google 2026-08-01 23:17:50 +02:00
settings-development-sample.json Mobile notifications 2018-08-02 12:42:19 +02:00
UPGRADE.md deps: react-leaflet 1.8 -> 4.2 (+ leaflet 1.9) — the last legacy react-* lib 2026-07-21 18:45:15 +02:00

Tod@s contra el Fuego (All Against Fire)

Build Status

This is web service that notifies about fires detected in an area of your interest. It helps the early detection of fires and facilitates local mobilization, while the professional extinction services arrive.

Install

Prerrequisites: a running meteor (we share the fuegos database with the telegram bot).

Install meteor and run meteor npm install and npm start

Some other development deps (in debian & ubuntu):

apt-get install libcairo2-dev libjpeg-dev libgif-dev pkg-config

GeoIP

Configure mirror and cron of the geoip database.

Telegram bot

See our bot.

More platforms and services in the future...

Tests

We do tests via:

TEST_PORT=3000 TEST_WATCH=1 TEST_CLIENT=0 MONGO_URL=mongodb://localhost:27017/fuegostest  meteor --settings settings-development.json test --driver-package meteortesting:mocha --port 3010

# and

node_modules/.bin/chimp --watch --ddp=http://localhost:3000 --path=cucumber

# and

node_modules/.bin/chimp --ddp=http://localhost:3000 --path=cucumber

FAQ & Troubleshooting

Q - I get something like (...) /node_modules/fibers/future.js:280 (...) Error: Could not locate the bindings file. What can I do? A - Try meteor npm rebuild

Data source acknowledgements

We acknowledge the use of data and imagery from LANCE FIRMS operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.

License

GNU APLv3. See our LICENSE, for a complete text.

Thanks & other acknowlegments

Thanks indeed to:

  • Lupe Bao Reixa for Galician translation