Todos contra el fuego — aplicación web (Meteor)
Find a file
vjrj 229b2cb233 cleanup: UNSAFE_componentWillReceiveProps -> modern lifecycles (React 19)
The 4 class components on UNSAFE_componentWillReceiveProps converted:
- FromNow, FireStats: state is a pure mirror of props -> getDerivedStateFromProps
- Fires: split the derived state (getDerivedStateFromProps) from the URL-
  canonicalization side effect (componentDidUpdate, guarded by prevProps) so
  the side effect never runs inside the pure gDSFP
- SelectionMap: marker is also locally draggable, so gDSFP would clobber a
  drag -> componentDidUpdate guarded on a real center/distance value change
  (no clobber, no setState loop), merged with the existing fit()

Browser-verified: /fires count, fire detail + FromNow, active-fire URL
canonicalizes to /fire/archive/:id, home SelectionMap renders stably (no
render loop). No UNSAFE_ warnings remain from our code. REST smoke
byte-identical.
2026-07-21 14:03:44 +02:00
.meteor meteor3: react-meteor-data 0.2.16 -> 3.0.6 (fixes blank fire-detail pages) 2026-07-17 13:03:54 +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
imports cleanup: UNSAFE_componentWillReceiveProps -> modern lifecycles (React 19) 2026-07-21 14:03:44 +02:00
packages meteor3: purge dead client packages — web UI renders on 3.1 2026-07-14 11:32:19 +02:00
private Privacy updated 2018-08-04 18:42:37 +02:00
public fix: NaN in /fires 'active fires in map' count (react-i18next 14 <Trans>) 2026-07-21 13:45:59 +02:00
secrets fase 3: stack docker-compose local del sistema modernizado 2026-07-15 01:01:07 +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 Added activeFiresUnion (wip) 2018-10-28 20:27:38 +01: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 smoke: REST API regression harness + baseline snapshots (Meteor 1.6.1.1) 2026-07-13 19:42:55 +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.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 deps: react-router-dom 4 -> 6 (history 5, react-router-bootstrap 0.26) 2026-07-21 13:00:15 +02:00
package.json deps: react-router-dom 4 -> 6 (history 5, react-router-bootstrap 0.26) 2026-07-21 13:00:15 +02:00
PENDIENTE.md docs: record react-* modernization (helmet/i18n/bootstrap/router) + deferred leaflet & BS5 2026-07-21 13:05:05 +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-development-sample.json Mobile notifications 2018-08-02 12:42:19 +02:00
UPGRADE.md docs: record react-* modernization (helmet/i18n/bootstrap/router) + deferred leaflet & BS5 2026-07-21 13:05:05 +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