Fix Sentry Replay integration

This commit is contained in:
Sebastian Serth
2023-06-02 14:33:32 +02:00
parent a98e0290da
commit 9e3c76465d
2 changed files with 13 additions and 9 deletions

View File

@ -44,7 +44,9 @@ $(document).on('turbolinks:load', function() {
// Initialize Sentry
const sentrySettings = $('meta[name="sentry"]')
if (sentrySettings.data()['enabled']) {
// Workaround for Turbolinks: We must not re-initialize the Relay object when visiting another page
if (sentrySettings.data()['enabled'] && !Sentry.Replay.prototype._isInitialized) {
Sentry.init({
dsn: sentrySettings.data('dsn'),
attachStacktrace: true,
@ -54,7 +56,7 @@ $(document).on('turbolinks:load', function() {
tracesSampleRate: 1.0,
replaysSessionSampleRate: 0.0,
replaysOnErrorSampleRate: 1.0,
integrations: window.SentryIntegrations,
integrations: window.SentryIntegrations(),
initialScope: scope =>{
const user = $('meta[name="current-user"]').attr('content');

View File

@ -24,13 +24,15 @@ window.bootstrap = bootstrap; // Publish bootstrap in global namespace
window._ = _; // Publish underscore's `_` in global namespace
window.d3 = d3; // Publish d3 in global namespace
window.Sentry = Sentry; // Publish sentry in global namespace
window.SentryIntegrations = [ // Publish sentry integration in global namespace
new SentryIntegration.ReportingObserver(),
new SentryIntegration.ExtraErrorData(),
new SentryIntegration.HttpClient(),
new Sentry.BrowserTracing(),
new Sentry.Replay(),
];
window.SentryIntegrations = function() { // Publish sentry integration in global namespace
return [
new SentryIntegration.ReportingObserver(),
new SentryIntegration.ExtraErrorData(),
new SentryIntegration.HttpClient(),
new Sentry.BrowserTracing(),
new Sentry.Replay(),
]
};
window.SentryUtils = { dynamicSamplingContextToSentryBaggageHeader, startIdleTransaction, TRACING_DEFAULTS };
// CSS