Skip to content

Commit d1d9acf

Browse files
committed
ref: Ensure dropped replays are recorded
1 parent 3b18830 commit d1d9acf

File tree

4 files changed

+8
-4
lines changed

4 files changed

+8
-4
lines changed

packages/core/src/baseclient.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,7 @@ export abstract class BaseClient<O extends ClientOptions> implements Client<O> {
317317
// Note: we use `event` in replay, where we overwrite this hook.
318318

319319
if (this._options.sendClientReports) {
320-
// We want to track each category (error, transaction, session) separately
320+
// We want to track each category (error, transaction, session, replay_event) separately
321321
// but still keep the distinction between different type of outcomes.
322322
// We could use nested maps, but it's much easier to read and type this way.
323323
// A correct type for map-based implementation if we want to go that route

packages/replay/src/replay.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -941,7 +941,9 @@ export class ReplayContainer implements ReplayContainerInterface {
941941
const replayEvent = await getReplayEvent({ scope, client, replayId, event: baseEvent });
942942

943943
if (!replayEvent) {
944-
__DEBUG_BUILD__ && logger.log('[Replay] Event was dropped.');
944+
// Taken from baseclient's `_processEvent` method, where this is handled for errors/transactions
945+
client.recordDroppedEvent('event_processor', 'replay_event', baseEvent);
946+
__DEBUG_BUILD__ && logger.log('An event processor returned `null`, will not send event.');
945947
return;
946948
}
947949

packages/replay/src/util/monkeyPatchRecordDroppedEvent.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ export function overwriteRecordDroppedEvent(errorIds: Set<string>): void {
1717
category: DataCategory,
1818
event?: Event,
1919
): void => {
20-
if (event && event.event_id) {
20+
if (event && !event.type && event.event_id) {
2121
errorIds.delete(event.event_id);
2222
}
2323

packages/types/src/datacategory.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,6 @@ export type DataCategory =
1919
// SDK internal event, like client_reports
2020
| 'internal'
2121
// Profile event type
22-
| 'profile';
22+
| 'profile'
23+
// Replay event type
24+
| 'replay_event';

0 commit comments

Comments
 (0)