Commit graph

27 commits

Author SHA1 Message Date
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
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
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
Vicente J. Ruiz Jurado
dc5e38f8d5 gl fallback to es in T9 2018-08-16 19:04:46 +02:00
vjrj
fa4af5e5fe Refactor i18n client code 2018-03-03 08:41:23 +01:00
vjrj
dbfbba1067 Added unstranslated cookie message 2018-02-15 13:27:09 +01:00
vjrj
26d668b68c Send missing in dev 2018-02-13 09:39:23 +01:00
vjrj
966b2d56b9 Save missing fallback 2018-02-12 13:06:06 +01:00
vjrj
eca58df6c2 Fire popupsand active/archive urls 2018-02-08 11:15:23 +01:00
vjrj
d798aa2cdf i18n setting right 2018-02-01 06:12:01 +01:00
vjrj
81acc255d7 Added meta management via react-helmet 2018-01-30 19:10:37 +01:00
vjrj
4674b48069 Cookie consent when i18n ready 2018-01-24 19:35:55 +01:00
vjrj
cd16f45d8e Style improvements for mobile 2018-01-19 11:04:14 +01:00
vjrj
97c47c5d1d Added user lang setting 2018-01-09 12:05:36 +01:00
vjrj
91b4197b04 Updated translations 2017-12-21 11:36:00 +01:00
vjrj
1742cd4913 Improvement in Subs and FireMap Union 2017-12-19 20:02:14 +01:00
vjrj
b6b8f893e3 Gkey improved. New pages. Home improved based in startbootstrap 2017-12-10 03:32:12 +01:00
vjrj
a0e5dc4723 i18n in server. Some fixes 2017-12-09 17:54:18 +01:00
vjrj
93d9ca43f1 Improved subs form 2017-12-06 17:10:47 +01:00
vjrj
df96b6e51e Subs form (wip) 2017-12-06 11:04:34 +01:00
vjrj
fe7a314d92 Added geolocation. Improved map subs. FireMap page 2017-12-01 21:18:10 +01:00
vjrj
e83be9c69f Added cookies 2017-11-29 12:02:50 +01:00
vjrj
e9029cd8b9 More i18n work 2017-11-29 10:50:28 +01:00
vjrj
3ef6f3c80b Basic navs and auth pages working· 2017-11-27 17:37:06 +01:00
vjrj
440f6c610d Enabled missings in i18n 2017-11-15 20:00:46 +01:00
vjrj
60fcd48140 Basic tcef home 2017-11-14 08:41:42 +01:00
vjrj
403a108dba Generic template with i18next 2017-11-13 21:24:35 +01:00