From 28b0031382368767c462ec9b8dce3bb2a0ce6ce8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karlo=20Miku=C5=A1?= Date: Wed, 18 Dec 2024 19:52:59 +0100 Subject: [PATCH] Load sentry if dsn is setup --- docker/config.js | 1 + package-lock.json | 91 +++++++++++++++++++++++++++++++++++++++++++++++ package.json | 1 + src/main.js | 11 ++++++ 4 files changed, 104 insertions(+) diff --git a/docker/config.js b/docker/config.js index 92abeb7c..db6f3854 100644 --- a/docker/config.js +++ b/docker/config.js @@ -10,3 +10,4 @@ window.srConfig.BILLING_ENABLED = "$BILLING_ENABLED" === 'true'; window.srConfig.BILLING_ENV = "$BILLING_ENV"; window.srConfig.ANALYTICS_HOST = "$ANALYTICS_HOST"; window.srConfig.ALLOW_REGISTRATION = "$ALLOW_REGISTRATION"; +window.srConfig.SENTRY_DSN = "$SENTRY_DSN"; diff --git a/package-lock.json b/package-lock.json index 3c433ca4..1f0dd3f0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "@floating-ui/vue": "^1.1.5", "@meilisearch/instant-meilisearch": "^1.0.0", "@paddle/paddle-js": "^1.2.1", + "@sentry/vue": "^8.47.0", "@types/sortablejs": "^1.15.8", "@vueuse/core": "^11.0.3", "cropperjs": "^1.6.1", @@ -2766,6 +2767,96 @@ "win32" ] }, + "node_modules/@sentry-internal/browser-utils": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-8.47.0.tgz", + "integrity": "sha512-vOXzYzHTKkahTLDzWWIA4EiVCQ+Gk+7xGWUlNcR2ZiEPBqYZVb5MjsUozAcc7syrSUy6WicyFjcomZ3rlCVQhg==", + "dependencies": { + "@sentry/core": "8.47.0" + }, + "engines": { + "node": ">=14.18" + } + }, + "node_modules/@sentry-internal/feedback": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-8.47.0.tgz", + "integrity": "sha512-IAiIemTQIalxAOYhUENs9bZ8pMNgJnX3uQSuY7v0gknEqClOGpGkG04X/cxCmtJUj1acZ9ShTGDxoh55a+ggAQ==", + "dependencies": { + "@sentry/core": "8.47.0" + }, + "engines": { + "node": ">=14.18" + } + }, + "node_modules/@sentry-internal/replay": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-8.47.0.tgz", + "integrity": "sha512-G/S40ZBORj0HSMLw/uVC6YDEPN/dqVk901vf4VYfml686DEhJrZesfAfp5SydJumQ0NKZQrdtvny+BWnlI5H1w==", + "dependencies": { + "@sentry-internal/browser-utils": "8.47.0", + "@sentry/core": "8.47.0" + }, + "engines": { + "node": ">=14.18" + } + }, + "node_modules/@sentry-internal/replay-canvas": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-8.47.0.tgz", + "integrity": "sha512-M4W9UGouEeELbGbP3QsXLDVtGiQSZoWJlKwqMWyqdQgZuLoKw0S33+60t6teLVMhuQZR0UI9VJTF5coiXysnnA==", + "dependencies": { + "@sentry-internal/replay": "8.47.0", + "@sentry/core": "8.47.0" + }, + "engines": { + "node": ">=14.18" + } + }, + "node_modules/@sentry/browser": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-8.47.0.tgz", + "integrity": "sha512-K6BzHisykmbFy/wORtGyfsAlw7ShevLALzu3ReZZZ18dVubO1bjSNjkZQU9MJD5Jcb9oLwkq89n3N9XIBfvdRA==", + "dependencies": { + "@sentry-internal/browser-utils": "8.47.0", + "@sentry-internal/feedback": "8.47.0", + "@sentry-internal/replay": "8.47.0", + "@sentry-internal/replay-canvas": "8.47.0", + "@sentry/core": "8.47.0" + }, + "engines": { + "node": ">=14.18" + } + }, + "node_modules/@sentry/core": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.47.0.tgz", + "integrity": "sha512-iSEJZMe3DOcqBFZQAqgA3NB2lCWBc4Gv5x/SCri/TVg96wAlss4VrUunSI2Mp0J4jJ5nJcJ2ChqHSBAU48k3FA==", + "engines": { + "node": ">=14.18" + } + }, + "node_modules/@sentry/vue": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@sentry/vue/-/vue-8.47.0.tgz", + "integrity": "sha512-MBzCWcVI4WqQTUOnHEO/PmlBRT8MGYNXBjuJhWtJo89J3CEHgZq4Jg2NgYf0q8OGshOAyra/Zv2rHUe7+9sUUg==", + "dependencies": { + "@sentry/browser": "8.47.0", + "@sentry/core": "8.47.0" + }, + "engines": { + "node": ">=14.18" + }, + "peerDependencies": { + "pinia": "2.x", + "vue": "2.x || 3.x" + }, + "peerDependenciesMeta": { + "pinia": { + "optional": true + } + } + }, "node_modules/@surma/rollup-plugin-off-main-thread": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", diff --git a/package.json b/package.json index ae2e7981..3cc8f0c4 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "@floating-ui/vue": "^1.1.5", "@meilisearch/instant-meilisearch": "^1.0.0", "@paddle/paddle-js": "^1.2.1", + "@sentry/vue": "^8.47.0", "@types/sortablejs": "^1.15.8", "@vueuse/core": "^11.0.3", "cropperjs": "^1.6.1", diff --git a/src/main.js b/src/main.js index 63e35bcb..3a306bac 100644 --- a/src/main.js +++ b/src/main.js @@ -10,6 +10,7 @@ import AppState from './AppState.js' import Plausible from 'plausible-tracker' import { registerSW } from 'virtual:pwa-register' import { register as registerSwiperElements } from 'swiper/element/bundle' +import * as Sentry from "@sentry/vue"; import en_US from './locales/en-US' import hr_HR from './locales/hr-HR' @@ -45,6 +46,16 @@ if (userSelectedTheme == 'dark' && !document.body.classList.contains('dark-theme } const app = createApp(App) + +if (window.srConfig.SENTRY_DSN && window.srConfig.SENTRY_DSN != '') { + Sentry.init({ + app, + release: window.srConfig.VERSION, + dsn: window.srConfig.SENTRY_DSN, + integrations: [], + }); +} + const i18n = createI18n({ legacy: false, locale: userSelectedLocale,