From d9075a08d0df646da663c75ad80735302d19b4c9 Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Fri, 15 Sep 2023 15:43:20 +0200 Subject: [PATCH] fix(replay): Ensure replay events go through `preprocessEvent` hook --- packages/replay/src/util/prepareReplayEvent.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/replay/src/util/prepareReplayEvent.ts b/packages/replay/src/util/prepareReplayEvent.ts index 522e7e7689bc..4505b5b86f41 100644 --- a/packages/replay/src/util/prepareReplayEvent.ts +++ b/packages/replay/src/util/prepareReplayEvent.ts @@ -1,7 +1,7 @@ import type { Scope } from '@sentry/core'; import { prepareEvent } from '@sentry/core'; import type { IntegrationIndex } from '@sentry/core/build/types/integration'; -import type { Client, ReplayEvent } from '@sentry/types'; +import type { Client, EventHint, ReplayEvent } from '@sentry/types'; /** * Prepare a replay event & enrich it with the SDK metadata. @@ -21,11 +21,19 @@ export async function prepareReplayEvent({ typeof client._integrations === 'object' && client._integrations !== null && !Array.isArray(client._integrations) ? Object.keys(client._integrations) : undefined; + + const eventHint: EventHint = { event_id, integrations }; + + if (client.emit) { + client.emit('preprocessEvent', event, eventHint); + } + const preparedEvent = (await prepareEvent( client.getOptions(), event, - { event_id, integrations }, + eventHint, scope, + client, )) as ReplayEvent | null; // If e.g. a global event processor returned null