Skip to content

Commit 19b7705

Browse files
committed
comments and update test
1 parent d8c023b commit 19b7705

File tree

5 files changed

+10
-7
lines changed

5 files changed

+10
-7
lines changed

dev-packages/browser-integration-tests/suites/replay/canvas/snapshots/test.ts renamed to dev-packages/browser-integration-tests/suites/replay/canvas/manualSnapshots/test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ sentryTest('can manually snapshot canvas', async ({ getLocalTestUrl, page, brows
3434
(window as any).Sentry.getClient().getIntegrationById('ReplayCanvas').snapshot();
3535
});
3636

37-
const { incrementalSnapshots:incrementalSnapshotsManual } = getReplayRecordingContent(await reqPromise3);
37+
const { incrementalSnapshots: incrementalSnapshotsManual } = getReplayRecordingContent(await reqPromise3);
3838
expect(incrementalSnapshotsManual).toEqual(
3939
expect.arrayContaining([
4040
{

packages/replay-canvas/src/canvas.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
import { CanvasManager } from '@sentry-internal/rrweb';
22
import { convertIntegrationFnToClass } from '@sentry/core';
3-
import type { CanvasManagerOptions } from '@sentry/replay';
3+
import type { CanvasManagerInterface, CanvasManagerOptions } from '@sentry/replay';
44
import type { IntegrationFn } from '@sentry/types';
55

66
interface ReplayCanvasOptions {
77
enableManualSnapshot?: boolean;
88
quality: 'low' | 'medium' | 'high';
99
}
1010

11-
type GetCanvasManager = (options: CanvasManagerOptions) => void;
11+
type GetCanvasManager = (options: CanvasManagerOptions) => CanvasManagerInterface;
1212
export interface ReplayCanvasIntegrationOptions {
1313
enableManualSnapshot?: boolean;
1414
recordCanvas: true;
@@ -64,7 +64,7 @@ const replayCanvasIntegration = ((options: Partial<ReplayCanvasOptions> = {}) =>
6464
};
6565

6666
let canvasManagerResolve: (value: CanvasManager) => void;
67-
const _canvasManager: Promise<CanvasManager> = new Promise((resolve) => canvasManagerResolve = resolve);
67+
const _canvasManager: Promise<CanvasManager> = new Promise(resolve => (canvasManagerResolve = resolve));
6868

6969
return {
7070
name: INTEGRATION_NAME,
@@ -75,7 +75,11 @@ const replayCanvasIntegration = ((options: Partial<ReplayCanvasOptions> = {}) =>
7575

7676
return {
7777
recordCanvas: true,
78-
getCanvasManager: (options: CanvasManagerOptions) => (canvasManagerResolve(new CanvasManager({ ...options, isManualSnapshot: enableManualSnapshot } ))),
78+
getCanvasManager: (options: CanvasManagerOptions) => {
79+
const manager = new CanvasManager({ ...options, isManualSnapshot: enableManualSnapshot });
80+
canvasManagerResolve(manager);
81+
return manager;
82+
},
7983
...(CANVAS_QUALITY[quality || 'medium'] || CANVAS_QUALITY.medium),
8084
};
8185
},

packages/replay-canvas/test/canvas.test.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,9 @@ it('initializes with default options', () => {
1717
});
1818

1919
it('initializes with quality option and manual snapshot', () => {
20-
const rc = new ReplayCanvas({ enableManualSnapshot: true, quality: 'low' });
20+
const rc = new ReplayCanvas({ quality: 'low' });
2121

2222
expect(rc.getOptions()).toEqual({
23-
enableManualSnapshot: true,
2423
recordCanvas: true,
2524
getCanvasManager: expect.any(Function),
2625
sampling: {

0 commit comments

Comments
 (0)