From 1c67f5814db0bb9c445b172c8990638187338c39 Mon Sep 17 00:00:00 2001 From: Jason Long Date: Fri, 25 Oct 2024 04:13:35 +0800 Subject: [PATCH] fix: write sentry tags to request scope Change-Id: Ic44f907c80e1f2f9f9401fe5a1edff930cac1dcd GitOrigin-RevId: 3fc1850e769f45ed36cfa92192239a2aff94ad38 --- platform/wab/src/wab/server/AppServer.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/platform/wab/src/wab/server/AppServer.ts b/platform/wab/src/wab/server/AppServer.ts index b589be555b9..8840619291c 100644 --- a/platform/wab/src/wab/server/AppServer.ts +++ b/platform/wab/src/wab/server/AppServer.ts @@ -406,6 +406,13 @@ function addSentry(app: express.Application, config: Config) { return event; }, }); + + app.use(Sentry.Handlers.requestHandler()); + app.use(Sentry.Handlers.tracingHandler()); + + // This anonymous handler uses Sentry.setTag() to modify the current scope. + // To ensure the global scope is not modified, the handler must be after + // Sentry.Handlers.requestHandler(), which creates a new scope per-request. app.use((req, _res, next) => { // Some routes get project ID as a path param (e.g. // /projects/:projectId/code/components) while others get it as query @@ -416,8 +423,6 @@ function addSentry(app: express.Application, config: Config) { } next(); }); - app.use(Sentry.Handlers.requestHandler()); - app.use(Sentry.Handlers.tracingHandler()); } // Copied from @sentry: https://github.com/getsentry/sentry-javascript/blob/master/packages/node/src/handlers.ts