todos-contra-el-fuego-web/imports/startup/client/ravenLogger.js
vjrj 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

31 lines
952 B
JavaScript

// Error reporter (client). Was flowkey:raven; replaced by @sentry/browser
// behind the same `.log()` facade (see the server counterpart). Enabled only
// when Meteor.settings.public.sentryPublicDSN is set; otherwise a plain console
// logger. ErrorBoundary calls `.log(error, info)` where info is React's
// { componentStack } — passed to Sentry as extra context.
import * as Sentry from '@sentry/browser';
import { Meteor } from 'meteor/meteor';
const dsn = Meteor.settings.public.sentryPublicDSN;
const enabled = !!dsn;
if (enabled) {
Sentry.init({
dsn,
environment: Meteor.isDevelopment ? 'development' : 'production',
tracesSampleRate: 0
});
}
const ravenLogger = {
log(error, info) {
console.log(error);
if (enabled) {
Sentry.captureException(error, info ? { extra: { info } } : undefined);
}
}
};
console.log(`sentryLogger (client) ${enabled ? 'enabled' : 'disabled'}`);
export default ravenLogger;