Skip to content

Commit

Permalink
ref(replay): Remove circular dep in replay eventBuffer (#8389)
Browse files Browse the repository at this point in the history
When running `yarn build:watch` I found some circular deps:

```
src/eventBuffer/index.ts -> src/eventBuffer/EventBufferArray.ts -> src/eventBuffer/index.ts
src/eventBuffer/index.ts -> src/eventBuffer/EventBufferProxy.ts -> src/eventBuffer/EventBufferCompressionWorker.ts -> src/eventBuffer/index.ts
```

This refactors the `EventBufferSizeExceededError` export to remove that.
  • Loading branch information
AbhiPrasad committed Jun 23, 2023
1 parent a34581d commit c77555e
Show file tree
Hide file tree
Showing 7 changed files with 16 additions and 14 deletions.
2 changes: 1 addition & 1 deletion packages/replay/src/eventBuffer/EventBufferArray.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { REPLAY_MAX_EVENT_BUFFER_SIZE } from '../constants';
import type { AddEventResult, EventBuffer, EventBufferType, RecordingEvent } from '../types';
import { timestampToMs } from '../util/timestampToMs';
import { EventBufferSizeExceededError } from '.';
import { EventBufferSizeExceededError } from './error';

/**
* A basic event buffer that does not do any compression.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import type { ReplayRecordingData } from '@sentry/types';
import { REPLAY_MAX_EVENT_BUFFER_SIZE } from '../constants';
import type { AddEventResult, EventBuffer, EventBufferType, RecordingEvent } from '../types';
import { timestampToMs } from '../util/timestampToMs';
import { EventBufferSizeExceededError } from '.';
import { EventBufferSizeExceededError } from './error';
import { WorkerHandler } from './WorkerHandler';

/**
Expand Down
8 changes: 8 additions & 0 deletions packages/replay/src/eventBuffer/error.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import { REPLAY_MAX_EVENT_BUFFER_SIZE } from '../constants';

/** This error indicates that the event buffer size exceeded the limit.. */
export class EventBufferSizeExceededError extends Error {
public constructor() {
super(`Event buffer exceeded maximum size of ${REPLAY_MAX_EVENT_BUFFER_SIZE}.`);
}
}
8 changes: 0 additions & 8 deletions packages/replay/src/eventBuffer/index.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { getWorkerURL } from '@sentry-internal/replay-worker';
import { logger } from '@sentry/utils';

import { REPLAY_MAX_EVENT_BUFFER_SIZE } from '../constants';
import type { EventBuffer } from '../types';
import { EventBufferArray } from './EventBufferArray';
import { EventBufferProxy } from './EventBufferProxy';
Expand Down Expand Up @@ -31,10 +30,3 @@ export function createEventBuffer({ useCompression }: CreateEventBufferParams):
__DEBUG_BUILD__ && logger.log('[Replay] Using simple buffer');
return new EventBufferArray();
}

/** This error indicates that the event buffer size exceeded the limit.. */
export class EventBufferSizeExceededError extends Error {
public constructor() {
super(`Event buffer exceeded maximum size of ${REPLAY_MAX_EVENT_BUFFER_SIZE}.`);
}
}
2 changes: 1 addition & 1 deletion packages/replay/src/util/addEvent.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { EventType } from '@sentry-internal/rrweb';
import { getCurrentHub } from '@sentry/core';
import { logger } from '@sentry/utils';

import { EventBufferSizeExceededError } from '../eventBuffer';
import { EventBufferSizeExceededError } from '../eventBuffer/error';
import type { AddEventResult, RecordingEvent, ReplayContainer, ReplayFrameEvent } from '../types';
import { timestampToMs } from './timestampToMs';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { REPLAY_MAX_EVENT_BUFFER_SIZE } from '../../../src/constants';
import { createEventBuffer, EventBufferSizeExceededError } from './../../../src/eventBuffer';
import { BASE_TIMESTAMP } from './../../index';
import { createEventBuffer } from '../../../src/eventBuffer';
import { EventBufferSizeExceededError } from '../../../src/eventBuffer/error';
import { BASE_TIMESTAMP } from '../../index';

const TEST_EVENT = { data: {}, timestamp: BASE_TIMESTAMP, type: 3 };

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@ import pako from 'pako';

import { BASE_TIMESTAMP } from '../..';
import { REPLAY_MAX_EVENT_BUFFER_SIZE } from '../../../src/constants';
import { createEventBuffer } from '../../../src/eventBuffer';
import { EventBufferSizeExceededError } from '../../../src/eventBuffer/error';
import { EventBufferProxy } from '../../../src/eventBuffer/EventBufferProxy';
import { createEventBuffer, EventBufferSizeExceededError } from './../../../src/eventBuffer';

const TEST_EVENT = { data: {}, timestamp: BASE_TIMESTAMP, type: 3 };

Expand Down

0 comments on commit c77555e

Please sign in to comment.