Commit graph

158 commits

Author SHA1 Message Date
e2d13ca64c deps: react-router-dom 4 -> 6 (history 5, react-router-bootstrap 0.26)
Removes the Router/Switch/Route/Link/LinkContainer legacy-context
warnings. Keeps the shared history singleton (used outside React by
NotificationsObserver + Utils/location) via unstable_HistoryRouter, and
bridges v6 hooks back to v4-shaped history/match/location props with a
new withRouterCompat HOC so the ~20 class pages stay untouched.

- <Switch> -> <Routes>, component= -> element=
- Authenticated/Public -> guard components (children or <Navigate replace>)
- LocationListener -> useLocation + useEffect function
- regex route /fire/:type(active|archive|alert)/:id -> /fire/:type/:id
- history.listen callback is ({ location }) in history v5

Browser-verified: SPA nav, /subscriptions->/login auth redirect,
deep-link /fire/archive/:id (params), browser back/forward. REST smoke
byte-identical.
2026-07-21 13:00:15 +02:00
a1a1b9a801 deps: react-bootstrap 0.31 -> 2 (Bootstrap 5 CSS deferred as debt)
Removes the largest batch of React-19-blocking warnings: the 0.31
components (Grid, FormGroup, ControlLabel, Navbar.Header/Brand, Checkbox,
SafeAnchor) all leaned on legacy context / defaultProps.

29 files converted: Grid->Container, FormGroup/ControlLabel/FormControl/
HelpBlock -> Form.Group/Label/Control/Text, Checkbox -> Form.Check (label
as prop), bsStyle->variant (default->secondary), bsSize->size,
pull-right->float-end. Custom Col.js now re-exports v2's Col; custom
NavItem.js rewritten self-contained (no SafeAnchor/createChainedFunction);
Navigation.js drops react-bootstrap Navbar (raw markup anyway).

CSS stays on Bootstrap 4 (alexwine:bootstrap-4) for now: the BS4->5 jump
is entangled with the jQuery carousel/swipe + navbar-collapse and is
tracked as separate debt in UPGRADE.md. Only .form-label needed a shim
(forms.scss). Browser-verified home carousel+navbar, signup form + terms
checkbox, login form; REST smoke byte-identical.
2026-07-21 12:44:46 +02:00
12bdbe8fed deps: i18next 10 -> 23, react-i18next 7 -> 14
Modernizes the whole i18n stack:
- 48 translate([], {wait:true}) / translate() HOCs -> withTranslation()
- react.wait:true -> react.useSuspense:false
- whitelist -> supportedLngs; added compatibilityJSON: 'v3' so our
  natural-language keys + v3 _plural layout keep working (custom
  separators ss/eth/dj preserved)
- backends: xhr -> i18next-http-backend (client), sync-fs ->
  i18next-fs-backend (server); dropped i18next-localstorage-cache
  (was enabled:false); languagedetector 2 -> 8
- ReSendEmail: <Interpolate> (removed in v10) -> <Trans values={{email}}/>,
  dropped the removed bare t export
- saveMissing handler signature (lngs, ns, key, fallbackValue)

Silences the per-component Translate/I18n legacy-context warnings.
Browser-verified es/en switch and <Trans> interpolation on /fires;
REST smoke byte-identical.
2026-07-18 06:28:41 +02:00
a997aa7cae cleanup: silence our own React dev-console warnings
UNSAFE_ rename of our 4 componentWillReceiveProps (FireStats, Fires, FromNow,
SelectionMap) and Authenticated/Public component propType func -> elementType.
Rest of the console noise is legacy react-* dev-mode warnings, absent in prod.
2026-07-18 05:47:44 +02:00
9feaca9d0b fix: fire ids leaked into URLs as ObjectID("...") on Mongo 7
Fire collections use idGeneration:'MONGO', so _id is a Mongo.ObjectID whose
toString() is ObjectID("<hex>"), not the bare hex. Interpolating _id into a
URL produced /fire/archive/ObjectID("c0..."), which no route matches -> the
fire-detail page 404'd. New hexId() helper returns the 24-char hex for an
ObjectID (and passes plain strings through); applied at the three string-context
sites: the map-marker click URL (MarkListeners), the active->archive redirect,
and the comments referenceId (Fires.js). Left falsePositives.insert untouched —
its check() expects a Meteor.Collection.ObjectID, so it takes the object.

Verified in browser: /fire/archive/<hex> and /fire/active/<hex> render the
detail page (map + comments), URL stays clean hex, no ObjectID( anywhere.
2026-07-17 18:31:59 +02:00
c6c22643c1 scss: migrate @import -> @use, lighten/darken -> color.adjust (dart-sass)
Silences the dart-sass deprecation warnings that flooded every build:
- All @import of local partials (colors, mixins, and the CSS-emitting
  partials) -> @use '...' as * (partials are pure defs, so 'as *' keeps the
  global names and the ~25 call sites unchanged). Added explicit @use './colors'
  to bootstrap-overrides.scss and cookies-eu.scss, which used -palette*
  transitively (broke under @use's scoping).
- lighten(c, x%) -> color.adjust(c, $lightness: x%) and darken -> negative,
  with @use 'sass:color' in the 6 affected files.
Compiles clean (byte-for-byte CSS behavior preserved).
2026-07-17 18:18:04 +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
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
vjrj
4cbbe65fa3 Fix wrong grey tiles 2022-08-13 19:37:56 +02:00
vjrj
b9457fe141 Minor changes in fires union 2018-12-23 13:31:41 +01:00
vjrj
5f9a84dfd7 Unify don't calc boundaries of empty union 2018-11-18 15:45:14 +01:00
vjrj
6abe668740 Added fires union (wip) 2018-11-18 11:48:03 +01:00
vjrj
e96e6ee8f7 Union of polygon to lib 2018-09-16 17:06:23 +02:00
vjrj
a208eb7ea1 More work with unify, circle/square 2018-09-11 11:40:17 +02:00
Vicente J. Ruiz Jurado
bf926514c9 Mobile notifications 2018-08-02 12:42:19 +02:00
vjrj
b7ebb9a28c Better loading in FiresMap 2018-05-10 11:47:45 +02:00
vjrj
395ee855dd Reconnect only for non authenticated 2018-05-01 17:41:50 +02:00
vjrj
7b056ae754 Terrain instead of satellite in Fires page 2018-04-19 12:52:25 +02:00
vjrj
ce23ae58e6 Readded reconnect 2018-04-01 16:58:08 +02:00
vjrj
b92e3c9b30 Added from now title 2018-03-13 01:46:46 +01:00
vjrj
d2d9b2cf05 Fire neighbour icon 2018-03-10 17:05:16 +01:00
vjrj
72f4ee7fd2 Added version to icons 2018-03-10 13:51:07 +01:00
vjrj
182dc4d878 Fire icons resized 2018-03-10 13:09:41 +01:00
vjrj
af6676cd8c Against the Fire 2018-03-05 12:04:55 +01:00
vjrj
24e8351ba5 Removed BettaRibbon 2018-03-04 13:38:05 +01:00
vjrj
2e09100bdc Cancel btn in SelectionMap only in subscriptions. Added title 2018-03-04 10:55:14 +01:00
vjrj
815bbb48fe Added opacity to maps 2018-03-04 10:44:26 +01:00
vjrj
dfd31e69ca Refactor App for better ErrorHandling when i18next is not ready 2018-03-03 11:41:43 +01:00
vjrj
83f5048ff8 Refactor Feedback 2018-03-03 11:26:19 +01:00
vjrj
8b0577b46f Refactor Reconnect 2018-03-03 10:54:53 +01:00
vjrj
38b4769806 Added subscriptions cancel 2018-03-02 12:53:03 +01:00
vjrj
ea8f6fbf5b Disable btn only in authenticated 2018-03-02 10:38:45 +01:00
vjrj
ac33bfa158 Space in center btn 2018-03-02 10:38:04 +01:00
vjrj
8deaafb96b Better error return in subscriptions 2018-03-02 10:08:52 +01:00
vjrj
3ce7d65bb8 Disable btn on action in Subscriptions 2018-03-02 09:22:55 +01:00
vjrj
ceebb5d5ad Improved subs messages 2018-03-02 07:36:54 +01:00
vjrj
91c67f0b5f Don't fit subsunion when adding 2018-03-02 07:22:19 +01:00
vjrj
e703057377 Dup subscriptions not allowed 2018-03-01 17:10:31 +01:00
vjrj
621cf4e2ad Improved autocomplete error handling 2018-03-01 16:47:37 +01:00
vjrj
a83495deea Minor change in error reporting 2018-03-01 16:47:17 +01:00
vjrj
7d5fe8f0ee isHomeAndMobile reactive 2018-02-28 01:52:10 +01:00
vjrj
58c557ecb2 Reconnect only for anon users 2018-02-28 01:36:34 +01:00
vjrj
2bad9d4083 New geolocation error 2018-02-27 19:32:43 +01:00
vjrj
0342bdf33f Removing logs 2018-02-27 18:53:01 +01:00
vjrj
c2270a860e Fix error message in geolocation 2018-02-27 18:50:38 +01:00
vjrj
5d216d81d4 Location search in Fire Map 2018-02-27 17:46:00 +01:00
vjrj
dc92574bc3 Full screen on maps 2018-02-27 11:37:54 +01:00
vjrj
b5620cea46 Added progress bar to fires map 2018-02-27 11:08:55 +01:00
vjrj
1df41f1e5a Industry message changed 2018-02-26 16:36:52 +01:00
vjrj
ccbfe642a8 Added industries collection 2018-02-26 12:11:23 +01:00