Skip to content

Commit 3770187

Browse files
billyvgAbhiPrasad
authored andcommitted
fix(replay): Add errorHandler for replayCanvas integration (#10796)
`errorHandler` for `CanvasManager` was added in the latest rrweb, but was not configured in our integration.
1 parent c9e8fa9 commit 3770187

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

packages/replay-canvas/src/canvas.ts

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,20 @@ export const _replayCanvasIntegration = ((options: Partial<ReplayCanvasOptions>
7575
enableManualSnapshot,
7676
recordCanvas: true,
7777
getCanvasManager: (options: CanvasManagerOptions) => {
78-
const manager = new CanvasManager({ ...options, enableManualSnapshot });
78+
const manager = new CanvasManager({
79+
...options,
80+
enableManualSnapshot,
81+
errorHandler: (err: unknown) => {
82+
try {
83+
if (typeof err === 'object') {
84+
(err as Error & { __rrweb__?: boolean }).__rrweb__ = true;
85+
}
86+
} catch (error) {
87+
// ignore errors here
88+
// this can happen if the error is frozen or does not allow mutation for other reasons
89+
}
90+
},
91+
});
7992
canvasManagerResolve(manager);
8093
return manager;
8194
},

0 commit comments

Comments
 (0)