Skip to content

Commit dcd8c9c

Browse files
authored
fix: enable cloud sentry (#455)
* fix: enable cloud sentry * chore: skip sentry init if sentry dns is unset
1 parent 3ae8140 commit dcd8c9c

6 files changed

Lines changed: 98 additions & 120 deletions

File tree

.env

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,12 @@ REACT_APP_VERSION=$npm_package_version
22
API_URL="http://localhost:8000"
33
USE_AXE=
44
SENTRY_DSN=
5-
SENTRY_ENV=
5+
SENTRY_ENVIRONMENT=
6+
SENTRY_RELEASE=
7+
SENTRY_TRACES_SAMPLE_RATE=0
8+
SENTRY_TRACE_PROPAGATION_TARGETS=
9+
SENTRY_REPLAYS_SESSION_SAMPLE_RATE=0
10+
SENTRY_REPLAYS_ON_ERROR_SAMPLE_RATE=0
611
FEEDBACK_EMAILS=
712
MATOMO_SRC_URL=
813
MATOMO_URL_BASE=

.env.test

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
REACT_APP_VERSION=$npm_package_version
2-
API_URL=http://localhost:8000
2+
API_URL="http://localhost:8000"
33
USE_AXE=
44
SENTRY_DSN=
5-
SENTRY_ENV=
5+
SENTRY_ENVIRONMENT=
6+
SENTRY_RELEASE=
7+
SENTRY_TRACES_SAMPLE_RATE=0
8+
SENTRY_TRACE_PROPAGATION_TARGETS=
9+
SENTRY_REPLAYS_SESSION_SAMPLE_RATE=0
10+
SENTRY_REPLAYS_ON_ERROR_SAMPLE_RATE=0
611
FEEDBACK_EMAILS=
712
MATOMO_SRC_URL=
813
MATOMO_URL_BASE='test'

package.json

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@
77
},
88
"dependencies": {
99
"@axe-core/react": "^4.8.4",
10-
"@sentry/react": "^6.19.7",
11-
"@sentry/tracing": "^6.16.1",
10+
"@sentry/react": "^10.24.0",
1211
"@types/jest": "^26.0.24",
1312
"@types/lodash": "4.14.192",
1413
"@types/node": "^22.10.2",
@@ -91,14 +90,14 @@
9190
"@testing-library/react": "^15.0.0",
9291
"@testing-library/user-event": "^14.0.0",
9392
"@vitest/coverage-istanbul": "^3.2.4",
94-
"vitest": "^3.2.4",
9593
"eslint-plugin-jsx-a11y": "^6.3.1",
9694
"husky": "^8.0.3",
9795
"jsdom": "^26.1.0",
96+
"react-test-renderer": "^18.2.0",
9897
"stylelint": "^16.5.0",
9998
"stylelint-config-standard": "^36.0.0",
10099
"stylelint-value-no-unknown-custom-properties": "^6.0.1",
101-
"react-test-renderer": "^18.2.0"
100+
"vitest": "^3.2.4"
102101
},
103102
"resolutions": {
104103
"braces": "^3.0.3",

src/globals.d.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,12 @@ interface Window {
33
API_URL: string;
44
USE_AXE: string;
55
SENTRY_DSN: string;
6-
SENTRY_ENV: string;
6+
SENTRY_ENVIRONMENT: string;
7+
SENTRY_RELEASE: string;
8+
SENTRY_TRACES_SAMPLE_RATE: number;
9+
SENTRY_TRACE_PROPAGATION_TARGETS: string;
10+
SENTRY_REPLAYS_SESSION_SAMPLE_RATE: number;
11+
SENTRY_REPLAYS_ON_ERROR_SAMPLE_RATE: number;
712
REACT_APP_VERSION: string;
813
FEEDBACK_EMAILS: string;
914
MATOMO_SRC_URL: string;

src/index.tsx

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import React from 'react';
33
import ReactDOM from 'react-dom';
44
import { createRoot } from 'react-dom/client';
55
import * as Sentry from '@sentry/react';
6-
import { Integrations } from '@sentry/tracing';
76
import './index.scss';
87
import axe from '@axe-core/react';
98
import App from './App';
@@ -16,15 +15,25 @@ declare global {
1615
}
1716
}
1817

19-
Sentry.init({
20-
dsn: window._env_.SENTRY_DSN,
21-
integrations: [new Integrations.BrowserTracing()],
22-
environment: window._env_.SENTRY_ENV,
23-
sampleRate: window._env_.SENTRY_ENV === 'local' ? 0.0 : 1.0, // We do not wish to trace in local env by default
24-
ignoreErrors: [
25-
'ResizeObserver loop completed with undelivered notifications',
26-
],
27-
});
18+
if (!window._env_?.SENTRY_DSN) {
19+
Sentry.init({
20+
dsn: window._env_.SENTRY_DSN,
21+
environment: window._env_.SENTRY_ENVIRONMENT,
22+
release: window._env_.SENTRY_RELEASE,
23+
tracesSampleRate:
24+
window._env_.SENTRY_ENV === 'local'
25+
? 0
26+
: window._env_.SENTRY_TRACES_SAMPLE_RATE,
27+
tracePropagationTargets: window._env_.SENTRY_TRACE_PROPAGATION_TARGETS,
28+
replaysSessionSampleRate: window._env_.SENTRY_REPLAYS_SESSION_SAMPLE_RATE,
29+
replaysOnErrorSampleRate: window._env_.SENTRY_REPLAYS_ON_ERROR_SAMPLE_RATE,
30+
ignoreErrors: [
31+
'ResizeObserver loop completed with undelivered notifications',
32+
'ResizeObserver loop limit exceeded',
33+
],
34+
integrations: [Sentry.browserTracingIntegration()],
35+
});
36+
}
2837

2938
if (window._env_?.USE_AXE === 'true') {
3039
axe(React, ReactDOM, 1000);

yarn.lock

Lines changed: 57 additions & 102 deletions
Original file line numberDiff line numberDiff line change
@@ -1187,80 +1187,60 @@
11871187
resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8"
11881188
integrity sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==
11891189

1190-
"@sentry/browser@6.19.7":
1191-
version "6.19.7"
1192-
resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-6.19.7.tgz#a40b6b72d911b5f1ed70ed3b4e7d4d4e625c0b5f"
1193-
integrity sha512-oDbklp4O3MtAM4mtuwyZLrgO1qDVYIujzNJQzXmi9YzymJCuzMLSRDvhY83NNDCRxf0pds4DShgYeZdbSyKraA==
1194-
dependencies:
1195-
"@sentry/core" "6.19.7"
1196-
"@sentry/types" "6.19.7"
1197-
"@sentry/utils" "6.19.7"
1198-
tslib "^1.9.3"
1199-
1200-
"@sentry/core@6.19.7":
1201-
version "6.19.7"
1202-
resolved "https://registry.yarnpkg.com/@sentry/core/-/core-6.19.7.tgz#156aaa56dd7fad8c89c145be6ad7a4f7209f9785"
1203-
integrity sha512-tOfZ/umqB2AcHPGbIrsFLcvApdTm9ggpi/kQZFkej7kMphjT+SGBiQfYtjyg9jcRW+ilAR4JXC9BGKsdEQ+8Vw==
1204-
dependencies:
1205-
"@sentry/hub" "6.19.7"
1206-
"@sentry/minimal" "6.19.7"
1207-
"@sentry/types" "6.19.7"
1208-
"@sentry/utils" "6.19.7"
1209-
tslib "^1.9.3"
1210-
1211-
"@sentry/hub@6.19.7":
1212-
version "6.19.7"
1213-
resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-6.19.7.tgz#58ad7776bbd31e9596a8ec46365b45cd8b9cfd11"
1214-
integrity sha512-y3OtbYFAqKHCWezF0EGGr5lcyI2KbaXW2Ik7Xp8Mu9TxbSTuwTe4rTntwg8ngPjUQU3SUHzgjqVB8qjiGqFXCA==
1215-
dependencies:
1216-
"@sentry/types" "6.19.7"
1217-
"@sentry/utils" "6.19.7"
1218-
tslib "^1.9.3"
1219-
1220-
"@sentry/minimal@6.19.7":
1221-
version "6.19.7"
1222-
resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-6.19.7.tgz#b3ee46d6abef9ef3dd4837ebcb6bdfd01b9aa7b4"
1223-
integrity sha512-wcYmSJOdvk6VAPx8IcmZgN08XTXRwRtB1aOLZm+MVHjIZIhHoBGZJYTVQS/BWjldsamj2cX3YGbGXNunaCfYJQ==
1224-
dependencies:
1225-
"@sentry/hub" "6.19.7"
1226-
"@sentry/types" "6.19.7"
1227-
tslib "^1.9.3"
1228-
1229-
"@sentry/react@^6.19.7":
1230-
version "6.19.7"
1231-
resolved "https://registry.yarnpkg.com/@sentry/react/-/react-6.19.7.tgz#58cc2d6da20f7d3b0df40638dfbbbc86c9c85caf"
1232-
integrity sha512-VzJeBg/v41jfxUYPkH2WYrKjWc4YiMLzDX0f4Zf6WkJ4v3IlDDSkX6DfmWekjTKBho6wiMkSNy2hJ1dHfGZ9jA==
1233-
dependencies:
1234-
"@sentry/browser" "6.19.7"
1235-
"@sentry/minimal" "6.19.7"
1236-
"@sentry/types" "6.19.7"
1237-
"@sentry/utils" "6.19.7"
1190+
"@sentry-internal/browser-utils@10.24.0":
1191+
version "10.24.0"
1192+
resolved "https://registry.yarnpkg.com/@sentry-internal/browser-utils/-/browser-utils-10.24.0.tgz#e838704c87d058d79dbcc90ea53d5516e884199d"
1193+
integrity sha512-2nLj5TgPc/KkGy7LCW9sBGJT0CT+9U+Vlqa8yl7APd5agzxrpRyTcm4hPBBOw5tw7D4NWWUMulFxtZKZzT/Rcw==
1194+
dependencies:
1195+
"@sentry/core" "10.24.0"
1196+
1197+
"@sentry-internal/feedback@10.24.0":
1198+
version "10.24.0"
1199+
resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-10.24.0.tgz#978a7da738f2b6832217c4211e412c022d9ed92c"
1200+
integrity sha512-leYFQfgax50sYTEgkcEzPP8lTvtE12nryJSsdtPNym6gmQgA2SN20oSRNlxo1AitNpwNnTkj+ow/Y9ytrJlXUQ==
1201+
dependencies:
1202+
"@sentry/core" "10.24.0"
1203+
1204+
"@sentry-internal/replay-canvas@10.24.0":
1205+
version "10.24.0"
1206+
resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-10.24.0.tgz#50b85ae2f4b402c4a6bb24dba7bb99d7e3a9b9d1"
1207+
integrity sha512-pjNZ+/L/ct0huutkTQrcR+V/v3ICf5wKE8OOB2Dt3DcjNsbLKtUsy9Um6bCbSz/fRI8K/ZFlVLjiIQkMW+WX0Q==
1208+
dependencies:
1209+
"@sentry-internal/replay" "10.24.0"
1210+
"@sentry/core" "10.24.0"
1211+
1212+
"@sentry-internal/replay@10.24.0":
1213+
version "10.24.0"
1214+
resolved "https://registry.yarnpkg.com/@sentry-internal/replay/-/replay-10.24.0.tgz#ffbc97cbe8e47ea0177eafebaf3c1cde4f375eb5"
1215+
integrity sha512-xqSw3sCu5yxDQFpo/42t1zzxe+6kn542DRwHNBqIBd0CWN7un/j5YIW1Sq/+TdHYGbeG8LzD5UOuvZsT4zF2nQ==
1216+
dependencies:
1217+
"@sentry-internal/browser-utils" "10.24.0"
1218+
"@sentry/core" "10.24.0"
1219+
1220+
"@sentry/browser@10.24.0":
1221+
version "10.24.0"
1222+
resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-10.24.0.tgz#7b0fb22cbfc69fedd3ccd799a22712493b158dac"
1223+
integrity sha512-kKSNYupPIIk02+4OVR13qpJ8/uzsf6SrCzgxr6EvdK8qEuGYLJyM6lLJze/C5BZTSsam6UGAfahrSI1K5il8oQ==
1224+
dependencies:
1225+
"@sentry-internal/browser-utils" "10.24.0"
1226+
"@sentry-internal/feedback" "10.24.0"
1227+
"@sentry-internal/replay" "10.24.0"
1228+
"@sentry-internal/replay-canvas" "10.24.0"
1229+
"@sentry/core" "10.24.0"
1230+
1231+
"@sentry/core@10.24.0":
1232+
version "10.24.0"
1233+
resolved "https://registry.yarnpkg.com/@sentry/core/-/core-10.24.0.tgz#a2b93b8d8241810dc72ae677bcfc00d4b753442c"
1234+
integrity sha512-apJ1NtCK/Kt5uTytee+4rhhcTm4u3+z0bESH8GNMXMcuJ/A3Rvy3HUh+gqCx4BTOR0Sa44dbMvJcm/ewO+mzVg==
1235+
1236+
"@sentry/react@^10.24.0":
1237+
version "10.24.0"
1238+
resolved "https://registry.yarnpkg.com/@sentry/react/-/react-10.24.0.tgz#07003a0fc1c43c36a183dca586fda2aaad51235f"
1239+
integrity sha512-HW83v7LC5E06H/cYtU4fnlOV5fykNl5QkrOoZzKrYfAUCh4T11gjd4RvlvI+WaXb6nhD+gW2YLu95iIRHid/TA==
1240+
dependencies:
1241+
"@sentry/browser" "10.24.0"
1242+
"@sentry/core" "10.24.0"
12381243
hoist-non-react-statics "^3.3.2"
1239-
tslib "^1.9.3"
1240-
1241-
"@sentry/tracing@^6.16.1":
1242-
version "6.19.7"
1243-
resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-6.19.7.tgz#54bb99ed5705931cd33caf71da347af769f02a4c"
1244-
integrity sha512-ol4TupNnv9Zd+bZei7B6Ygnr9N3Gp1PUrNI761QSlHtPC25xXC5ssSD3GMhBgyQrcvpuRcCFHVNNM97tN5cZiA==
1245-
dependencies:
1246-
"@sentry/hub" "6.19.7"
1247-
"@sentry/minimal" "6.19.7"
1248-
"@sentry/types" "6.19.7"
1249-
"@sentry/utils" "6.19.7"
1250-
tslib "^1.9.3"
1251-
1252-
"@sentry/types@6.19.7":
1253-
version "6.19.7"
1254-
resolved "https://registry.yarnpkg.com/@sentry/types/-/types-6.19.7.tgz#c6b337912e588083fc2896eb012526cf7cfec7c7"
1255-
integrity sha512-jH84pDYE+hHIbVnab3Hr+ZXr1v8QABfhx39KknxqKWr2l0oEItzepV0URvbEhB446lk/S/59230dlUUIBGsXbg==
1256-
1257-
"@sentry/utils@6.19.7":
1258-
version "6.19.7"
1259-
resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-6.19.7.tgz#6edd739f8185fd71afe49cbe351c1bbf5e7b7c79"
1260-
integrity sha512-z95ECmE3i9pbWoXQrD/7PgkBAzJYR+iXtPuTkpBjDKs86O3mT+PXOT3BAn79w2wkn7/i3vOGD2xVr1uiMl26dA==
1261-
dependencies:
1262-
"@sentry/types" "6.19.7"
1263-
tslib "^1.9.3"
12641244

12651245
"@svgr/babel-plugin-add-jsx-attribute@8.0.0":
12661246
version "8.0.0"
@@ -5794,16 +5774,7 @@ stop-iteration-iterator@^1.1.0:
57945774
es-errors "^1.3.0"
57955775
internal-slot "^1.1.0"
57965776

5797-
"string-width-cjs@npm:string-width@^4.2.0":
5798-
version "4.2.3"
5799-
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
5800-
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
5801-
dependencies:
5802-
emoji-regex "^8.0.0"
5803-
is-fullwidth-code-point "^3.0.0"
5804-
strip-ansi "^6.0.1"
5805-
5806-
string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
5777+
"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
58075778
version "4.2.3"
58085779
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
58095780
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
@@ -5896,14 +5867,7 @@ string_decoder@^1.1.1:
58965867
dependencies:
58975868
safe-buffer "~5.2.0"
58985869

5899-
"strip-ansi-cjs@npm:strip-ansi@^6.0.1":
5900-
version "6.0.1"
5901-
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
5902-
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
5903-
dependencies:
5904-
ansi-regex "^5.0.1"
5905-
5906-
strip-ansi@^6.0.0, strip-ansi@^6.0.1:
5870+
"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1:
59075871
version "6.0.1"
59085872
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
59095873
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
@@ -6195,7 +6159,7 @@ tsconfig-paths@^3.15.0:
61956159
minimist "^1.2.6"
61966160
strip-bom "^3.0.0"
61976161

6198-
tslib@^1.8.1, tslib@^1.9.3:
6162+
tslib@^1.8.1:
61996163
version "1.14.1"
62006164
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
62016165
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
@@ -6562,16 +6526,7 @@ word-wrap@^1.2.5:
65626526
resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34"
65636527
integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==
65646528

6565-
"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0":
6566-
version "7.0.0"
6567-
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
6568-
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
6569-
dependencies:
6570-
ansi-styles "^4.0.0"
6571-
string-width "^4.1.0"
6572-
strip-ansi "^6.0.0"
6573-
6574-
wrap-ansi@^7.0.0:
6529+
"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0:
65756530
version "7.0.0"
65766531
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
65776532
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==

0 commit comments

Comments
 (0)