8000 feat(replay): Add url to replay hydration error breadcrumb type (#12521) · n4bb12/sentry-javascript@2c12022 · GitHub
[go: up one dir, main page]

Skip to content

Commit 2c12022

Browse files
authored
feat(replay): Add url to replay hydration error breadcrumb type (getsentry#12521)
Fixes getsentry/sentry#72152
1 parent a08335d commit 2c12022

File tree

3 files changed

+15
-0
lines changed

3 files changed

+15
-0
lines changed

packages/replay-internal/src/coreHandlers/handleBeforeSendEvent.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import type { ErrorEvent, Event } from '@sentry/types';
2+
import { getLocationHref } from '@sentry/utils';
23

34
import type { ReplayContainer } from '../types';
45
import { createBreadcrumb } from '../util/createBreadcrumb';
@@ -41,6 +42,9 @@ function handleHydrationError(replay: ReplayContainer, event: ErrorEvent): void
4142
) {
4243
const breadcrumb = createBreadcrumb({
4344
category: 'replay.hydrate-error',
45+
data: {
46+
url: getLocationHref(),
47+
},
4448
});
4549
addBreadcrumbEvent(replay, breadcrumb);
4650
}

packages/replay-internal/src/types/replayFrame.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,14 @@ interface ReplayMutationFrame extends ReplayBaseBreadcrumbFrame {
6868
data: ReplayMutationFrameData;
6969
}
7070

71+
interface ReplayHydrationErrorFrameData {
72+
url: string;
73+
}
74+
interface ReplayHydrationErrorFrame extends ReplayBaseBreadcrumbFrame {
75+
category: 'replay.hydrate-error';
76+
data: ReplayHydrationErrorFrameData;
77+
}
78+
7179
interface ReplayKeyboardEventFrameData extends ReplayBaseDomFrameData {
7280
metaKey: boolean;
7381
shiftKey: boolean;
@@ -146,6 +154,7 @@ export type ReplayBreadcrumbFrame =
146154
| ReplaySlowClickFrame
147155
| ReplayMultiClickFrame
148156
| ReplayMutationFrame
157+
| ReplayHydrationErrorFrame
149158
| ReplayFeedbackFrame
150159
| ReplayBaseBreadcrumbFrame;
151160

packages/replay-internal/test/integration/coreHandlers/handleBeforeSendEvent.test.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ describe('Integration | coreHandlers | handleBeforeSendEvent', () => {
3838
data: {
3939
payload: {
4040
category: 'replay.hydrate-error',
41+
data: { url: 'http://localhost:3000/' },
4142
timestamp: expect.any(Number),
4243
type: 'default',
4344
},
@@ -71,6 +72,7 @@ describe('Integration | coreHandlers | handleBeforeSendEvent', () => {
7172
data: {
7273
payload: {
7374
category: 'replay.hydrate-error',
75+
data: { url: 'http://localhost:3000/' },
7476
timestamp: expect.any(Number),
7577
type: 'default',
7678
},

0 commit comments

Comments
 (0)
0