Commit graph

69 commits

Author SHA1 Message Date
e68340931c fix(meteor): pin session@1.2.2, 1.2.3 needs a newer Meteor core
session@1.2.3 requires meteor@2.3.1 (Meteor 3.3+) and this app is on 3.1, so
every `meteor test` and `meteor build` since 685af89 died at version selection
with "Constraint meteor@2.3.1 is not satisfied by meteor 2.0.2". 1.2.2 is the
release that ships with Meteor 3.1 and gives Bert.alert() the same Session var.

Nothing caught it because CI only builds the image and never ran the suite —
which is what the rest of this phase is about.
2026-08-01 17:37:19 +02:00
685af89f20 fix(client): add missing session package for Bert.alert()
Some checks failed
build-image / build (push) Failing after 3m10s
themeteorchef:bert's Bert.alert() calls Session.set('bertAlert', ...)
internally, but the session package was never declared in
.meteor/packages — only reactive-var/tracker were. Every Bert.alert()
call (subscribe/unsubscribe success and error paths, ViewSubscription,
SubscriptionEditor) threw "ReferenceError: Session is not defined",
which crashed the DDP method result callback and silently ate whatever
UI update was supposed to happen next.
2026-07-30 11:31:53 +02:00
bddfb392c1 bootstrap: swap BS4 (alexwine) CSS for bootstrap@5 npm
Completes the Bootstrap 4->5 migration now that every jQuery/BS4 widget is React
(navbar, carousel, dropdowns) — plus the feedback toggle here (Feedback.js:
global `$('#feedback-form').toggle()` -> React state).

- Load Bootstrap 5 CSS from the `bootstrap` npm package in client/index.js
  (imported first so app + component styles and react-bootstrap override it).
- Remove the `alexwine:bootstrap-4` meteor package (BS4 CSS + jQuery + BS4 JS).
  jQuery for jquery-validation still comes from the npm `jquery` dep.
- Utility renames to BS5: ml-auto->ms-auto, float-right->float-end,
  btn-block->w-100, data-toggle->data-bs-toggle (FromNow tooltip).
- forms.scss `.form-label` is no longer a shim (BS5 ships it); comment updated.

Full-app build boots clean; server suite 36 passing. Needs a visual staging pass
across all pages (BS4->5 shifts grid gutters/typography); forms should improve
since react-bootstrap v2 already emitted BS5 markup.
2026-07-22 05:55:34 +02:00
6b6f02d92d quality: web debt batch (tests runner, FireContainer, rate-limit, maps, i18n)
Independent-of-prod quality debt from PENDIENTE.md §2:

- test: migrate broken Jest -> meteortesting:mocha. Tests rewritten to chai +
  Meteor 3 async APIs, moved to test/server/ (server-only). test/server/
  00-setup.test.js re-runs the collection2/accounts init that `meteor test`
  skips (no server/main.js). New comments method + mediaAnalyzers coverage.
  Dropped rest.test.js (removed meteor/http; covered by smoke/). 36 passing.
- fix: scope FireContainer read by the URL _id on the archive route instead of
  a selector-less FiresCollection.findOne() (imports/ui/pages/Fires/Fires.js).
- feat: rate-limit abusable publications via rateLimitSubscriptions (fireFrom*
  and comments.forReference 5/1000ms; geo subs 10/1000ms).
- perf: append loading=async to the Google Maps loader URL (Gkeys.js).
- deps: meteor-accounts-t9n 2.0 -> 2.6 (no gl build -> keep gl->es fallback,
  documented); add 3 missing gl/common.json keys (0 missing now).
- deps: drop jest/babel/enzyme, add chai.
2026-07-21 22:59:06 +02:00
696789e2b1 meteor3: react-meteor-data 0.2.16 -> 3.0.6 (fixes blank fire-detail pages)
0.2.16 (React-15/16-era withTracker) looped forever on fire-detail pages
under React 18: the withTracker subscription never reached ready() so the
page stayed blank and pegged a CPU core. Publications were already correct
(subscribing standalone from the console readied instantly). 3.0.6 (the
React-18 line for Meteor 3.1) fixes it with zero call-site changes. Also
drops tmeasday:check-npm-versions (the constraint that pinned 0.2.16).

Browser-verified at /fire/archive/<id>: full render (map, NASA/satellite,
FalsePositives widget, Comments box), zero console errors. REST smoke
byte-identical (12/12).
2026-07-17 13:03:54 +02:00
4ca7e198d3 meteor3: raven -> @sentry/node + @sentry/browser
flowkey:raven (Sentry legacy SDK) is dead on Meteor 3 and, with the old
sentry.comunes.org DSN unreachable, spammed the boot log with 502s on every
exception. Replaced by the modern SDKs (8.x) behind the same ravenLogger.log()
facade so the 6 call sites are unchanged. Empty DSN -> plain console logger
(same behavior as before).

End-to-end verified against a real backend: GlitchTip deployed on aaron
(Sentry-compatible, fits in ~1.5GB vs Sentry's 16GB), fronted at
sentry.comunes.org. A test exception sent from the dev server appeared in
GlitchTip within seconds. REST smoke byte-identical (12/12).
2026-07-16 12:20:02 +02:00
eb3aec82ae meteor3: purge dead client packages — web UI renders on 3.1
alanning:roles removed (client crashed the whole bundle; plain user.roles
checks instead), selaias:cookie-consent replaced by in-repo React banner,
publish-performant-counts vendored with countAsync, Meteor.autorun dropped
(App)/Tracker.autorun (FiresMap), and the map publications not covered by
the REST smoke (activefiresmyloc, activefiresunionmyloc, fireAlerts,
oauth.verifyConfiguration) converted to async APIs.

Verified in browser: / and /fires render with map + cookie banner, zero
uncaught exceptions. REST smoke byte-identical (12/12).
2026-07-14 11:32:19 +02:00
0ff9848cd4 meteor3: re-enable fixtures and sitemaps with async/Meteor-3 implementations
fixtures: drop @cleverbeagle/seeder (sync Mongo, unmaintained) for a small
idempotent async seeder (same dev accounts). sitemaps: drop dead
gadicohen:sitemaps for a WebApp.connectHandlers /sitemap.xml with the same
static page list (the per-fire section was already disabled). Verified on
dev boot: 6 users ensured, sitemap serving; REST smoke byte-identical.
2026-07-14 07:06:07 +02:00
25dc1b99c0 WIP(meteor3): boot progresses past linker + several async fixes
Past the client-bundle underscore linker (pin underscore@1.6.4) and now working
through the server async/await migration on Meteor 3.1 + Mongo 7:

- Removed fibers (imports/startup/server/fibers.js + import) — gone in Meteor 3.
- accounts/oauth.js: upsert -> upsertAsync (top-level await).
- migrations.js: startup async + await Migrations.migrateTo (async in 2.x).
  mongo7 marked at version 18 so historical up() bodies (still sync Mongo) don't
  run — prod data restores already-migrated. Documented.
- subsUnion.js: fully async (fetchAsync/findOneAsync/countAsync/upsertAsync,
  observeAsync with async callbacks).
- facts.js: dropped dead sync findOne.
- email.js: ostrio:mailer 2.5 is a default export (was named import); dropped
  removed static MailTime.Template (built-in default '{{{html}}}').

NEXT wall + remaining chain (multi-session):
1. aldeed:collection2@4.2.0 needs simpl-schema 3.x (app has 1.x) -> 'attachSchema
   is not a function'. Requires upgrading npm simpl-schema to 3.x and migrating
   all collection schemas (SimpleSchema.RegEx.Id etc.) across ~8 files.
2. Rest.js + helpers (countRealFires/firesUnion/whichAreFalsePositives/
   fireFromHash/subscriptionsInsert/upsertFalsePositive) -> *Async.
3. Patch vendored restivus to await async endpoint handlers.
4. methods/publications/comments to async; cron SyncedCron(quave)/Facts imports.
5. alanning:roles@1.2.10 + gadicohen:sitemaps@0.0.17 warn incompatible -> bump.
6. React 16 -> 18 render root.

Run with: NODE_OPTIONS='--dns-result-order=ipv4first --no-network-family-autoselection'
MONGO_URL='mongodb://localhost:27019/fuegos?replicaSet=rs0'
2026-07-13 23:46:45 +02:00
8fa10e47c7 WIP: Meteor 2.5 -> 3.1 migration (package resolution done; build blocked)
Reaches release METEOR@3.1 with all package-version conflicts resolved against a
modern dockerized MongoDB 7 (replica set). NOT yet building — parked here.

Done:
- MongoDB 7 single-node replica set (docker, port 27019) as the fuegos DB,
  decoupled from the shared rsmain 3.2 (unblocks Meteor 3's mongodb driver).
- meteor update --release 3.1 resolves after swapping dead packages:
  mongo-livedata removed; facts -> facts-base; saucecode:timezoned-synced-cron
  -> quave:synced-cron; aldeed:collection2-core -> aldeed:collection2@4.0.4;
  mys:fonts removed (pinned caching-compiler@1.0.0); fourseven:scss 4.14.1 ->
  5.0.0 (Dart Sass, no node-sass) + sass installed; nimble-restivus vendored
  package loosened to accounts-password 2.x||3.x.
- Network: meteor-tool node 22 needs NODE_OPTIONS='--dns-result-order=ipv4first
  --no-network-family-autoselection' to reach warehouse.meteor.com (Happy
  Eyeballs picks an unreachable IPv6 otherwise).
- smoke/smoke.sh generalized to mongosh + configurable port for Mongo 7.

Blocked on (remaining Meteor 3 work):
1. Client bundle linker: 'Runtime is not available, but it uses features needing
   the runtime: underscore' — an old client atmosphere package needs replacing.
2. Server async/await migration (Rest.js + helpers + methods + publications +
   comments + subsUnion + migrations to *Async; no Fibers).
3. Patch vendored restivus to await async endpoint handlers.
4. cron.js SyncedCron import (quave), facts.js Facts import (facts-base).
5. React 16 -> 18 render root (createRoot).
6. SCSS @import/@use + lighten/darken -> color.adjust (dart-sass deprecations).
2026-07-13 23:25:29 +02:00
208e250277 escala: Meteor 2.4 -> 2.5 (Mongo 3.2 compatible, smoke byte-identical)
npm-mongo still 3.9.1 (driver 3.x). All 12 REST endpoints identical against
mongo:3.2.
2026-07-13 22:34:14 +02:00
9b0c53fa4a escala: Meteor 2.3 -> 2.4 (Mongo 3.2 compatible, smoke byte-identical)
Trivial escala; npm-mongo still driver 3.x. All 12 REST endpoints identical
against mongo:3.2.
2026-07-13 22:30:32 +02:00
cd570b9d9c escala 2+3: Meteor 1.8.3 -> 2.3 (Mongo 3.2 compatible), dead-package remediation
Reaches Meteor 2.3 building + running against Mongo 3.2, REST smoke test
byte-identical to the 1.6.1.1 baseline (all 12 Flutter endpoints green).

Dead/abandoned Atmosphere packages removed or replaced (the upgrade blockers):
- arkham:comments-ui (no Meteor 2.x build; pinned accounts-password@1.x):
  reimplemented the fire-page comments as a React feature:
    imports/api/Comments/ (collection, server methods, publication, media
    analyzers, new-fire-comment email) + imports/ui/components/Comments/CommentsBox.
    Comment text now rendered as safe plain text + image/youtube embed (was
    markdown-to-HTML). Wired into Fires.js; sitemaps.js + migration v11 updated
    to the new collection. Old Blaze/startup comments files deleted.
- nimble:restivus (REST API; pinned accounts-password@1.3.3, CoffeeScript source
  that crashes this build host): vendored as a local package
  packages/nimble-restivus with the .coffee precompiled to plain JS and the
  accounts-password constraint loosened to 2.x. REST behavior unchanged
  (verified by smoke test). This also dropped the entire iron:router stack.
- maximum:server-transform (+ peerlibrary:*, meteorhacks:zones/inject-initial):
  unused; removal broke Meteor.publishTransformed in FalsePositives publications
  -> replaced with plain Meteor.publish (no transform was configured).
- less, markdown (no source files), and the dead test stack
  (meteortesting:mocha, practicalmeteor:chai, xolvio:cleaner) which transitively
  pulled coffeescript@1.0.17 — the build plugin that crashed meteor-tool
  (node_contextify assertion) on this machine. Removing it unblocked the build.
- fourseven:scss 4.5.4 -> 4.14.1 (node-sass 4.5.3 doesn't build on node 12).

npm-mongo driver at 2.3 is 3.9.x — still compatible with the production Mongo
3.2 replica set.
2026-07-13 22:24:09 +02:00
ccfc80547a escala 1: Meteor 1.6.1.1 -> 1.8.3
meteor update --release 1.8.3 + Babel beta->stable fix.

- Core packages bumped (meteor 1.9.3, ecmascript 0.13.2, mongo 1.7.0,
  npm-mongo 3.2.0 driver — still compatible with Mongo 3.2 server).
- Fix boot failure 'Cannot find @babel/runtime/helpers/objectSpread2':
  upgraded @babel/runtime 7.0.0-beta.44 -> ^7.29.7 (stable 7.x; not 8.x).
- underscore auto-added, fetch/modern-browsers added by the release.

REST smoke test byte-identical to baseline. See UPGRADE.md.
2026-07-13 19:59:58 +02:00
vjrj
430ec1fbaa Revert mongo test version 2018-05-03 16:42:51 +02:00
vjrj
8cabf9b32b Removed kadira 2018-05-03 03:11:05 +02:00
vjrj
2d4f4f4d6e Testing again mongo 1.4.6 with this PR: https://github.com/meteor/meteor/pull/9739 2018-05-03 02:49:05 +02:00
vjrj
2d083d52ba Revert mongo test version 2018-05-03 01:56:29 +02:00
vjrj
9f63552b81 Testing mongo 1.4.6 with this PR: https://github.com/meteor/meteor/pull/9739 2018-05-02 20:30:10 +02:00
vjrj
4ca553ff92 Updated kadira agent 2018-05-01 20:50:24 +02:00
vjrj
1360f742f3 Fix test for CI 2018-04-12 20:54:34 +02:00
vjrj
eddc97fe98 meteor 1.6.1.1 2018-04-12 16:53:06 +02:00
vjrj
aa91984afb meteor 1.6.1.1 (wip) 2018-04-12 16:27:47 +02:00
vjrj
8dc1ec63f2 Added basic rest api 2018-04-12 10:45:20 +02:00
vjrj
903375a102 Added kadira-zones 2018-04-10 11:53:35 +02:00
vjrj
e9248c72a1 Added kadira 2018-04-10 10:42:31 +02:00
vjrj
e6a84852fa Enabled cron 2018-04-05 13:14:10 +02:00
vjrj
a511d7192a Disabled cron 2018-04-04 17:17:21 +02:00
vjrj
77f0f159ab Added cron (wp) 2018-03-17 02:03:26 +01:00
vjrj
4954b907de Autoreconnect 2018-03-07 11:44:56 +01:00
vjrj
c025ec5ce8 Removing user-status because not in use 2018-03-06 09:22:40 +01:00
vjrj
79bdc18934 Migrated to prerender node-module 2018-02-15 16:53:12 +01:00
vjrj
4f9e0cc63d Added prerender 2018-02-15 12:48:33 +01:00
vjrj
346016b5c4 Added sitemap 2018-02-09 11:02:21 +01:00
vjrj
323c77322b Upgraded npm-mongo 2018-02-02 17:05:10 +01:00
vjrj
a732daebc5 Update mailer and reconfigure interval 2018-01-31 17:03:35 +01:00
vjrj
67ab0186b5 Added facts status 2018-01-31 10:43:15 +01:00
vjrj
379e72a9e7 Site settings and fires fromNow Reactive 2018-01-29 11:30:17 +01:00
vjrj
a62e18d071 Fire when reactive 2018-01-23 09:47:44 +01:00
vjrj
40aedbfdfb Added Fires page, collection and fire comments 2018-01-17 18:23:32 +01:00
vjrj
3bf21c8caf Added web and email notifications. Tests. Fire page 2018-01-16 16:19:29 +01:00
vjrj
316e14f0ea Added subs management (wip) 2017-12-16 18:47:08 +01:00
vjrj
3d32e95150 user-status and constellation 2017-12-15 17:38:27 +01:00
vjrj
136177410f Removed tracker-react 2017-12-13 06:58:17 +01:00
vjrj
c7a2b9aab3 Lint fix 2017-12-13 06:31:43 +01:00
vjrj
a0e5dc4723 i18n in server. Some fixes 2017-12-09 17:54:18 +01:00
vjrj
ecb0d7961b Update pup, meteor 1.6 and added mailer 2017-12-08 23:48:08 +01:00
vjrj
f1786541cd Many improvements: navbar, favico, new icons 2017-12-07 17:29:17 +01:00
vjrj
5bc9b0b040 Adde noise and scale 2017-12-04 17:44:08 +01:00
vjrj
f9d60a1685 Updated piwik package 2017-12-03 18:24:00 +01:00