Skip to content

Commit c35331c

Browse files
committed
Keep html string for replays, add componentName as additional field
1 parent cc74458 commit c35331c

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

packages/replay/src/coreHandlers/handleDom.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { record } from '@sentry-internal/rrweb';
22
import type { serializedElementNodeWithId, serializedNodeWithId } from '@sentry-internal/rrweb-snapshot';
33
import { NodeType } from '@sentry-internal/rrweb-snapshot';
44
import type { Breadcrumb } from '@sentry/types';
5-
import { getElementIdentifier } from '@sentry/utils';
5+
import { getElementIdentifier, htmlTreeAsString } from '@sentry/utils';
66

77
import type { ReplayContainer } from '../types';
88
import { createBreadcrumb } from '../util/createBreadcrumb';
@@ -70,6 +70,7 @@ export function getBaseDomBreadcrumb(target: Node | null, message: string): Brea
7070
.map(text => (text as string).trim())
7171
.join(''),
7272
attributes: getAttributesToRecord(element.attributes),
73+
componentName: getElementIdentifier(target),
7374
},
7475
}
7576
: {},
@@ -98,7 +99,7 @@ function getDomTarget(handlerData: DomHandlerData): { target: Node | null; messa
9899
// Accessing event.target can throw (see getsentry/raven-js#838, #768)
99100
try {
100101
target = isClick ? getClickTargetNode(handlerData.event) : getTargetNode(handlerData.event);
101-
message = getElementIdentifier(target, { maxStringLength: 200 }) || '<unknown>';
102+
message = htmlTreeAsString(target, { maxStringLength: 200 }) || '<unknown>';
102103
} catch (e) {
103104
message = '<unknown>';
104105
}

packages/replay/src/coreHandlers/handleKeyboardEvent.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type { Breadcrumb } from '@sentry/types';
2-
import { getElementIdentifier } from '@sentry/utils';
2+
import { getElementIdentifier, htmlTreeAsString } from '@sentry/utils';
33

44
import type { ReplayContainer } from '../types';
55
import { createBreadcrumb } from '../util/createBreadcrumb';
@@ -45,7 +45,7 @@ export function getKeyboardBreadcrumb(event: KeyboardEvent): Breadcrumb | null {
4545
return null;
4646
}
4747

48-
const message = getElementIdentifier(target, { maxStringLength: 200 }) || '<unknown>';
48+
const message = htmlTreeAsString(target, { maxStringLength: 200 }) || '<unknown>';
4949
const baseBreadcrumb = getBaseDomBreadcrumb(target as Node, message);
5050

5151
return createBreadcrumb({
@@ -58,6 +58,7 @@ export function getKeyboardBreadcrumb(event: KeyboardEvent): Breadcrumb | null {
5858
ctrlKey,
5959
altKey,
6060
key,
61+
componentName: getElementIdentifier(target),
6162
},
6263
});
6364
}

0 commit comments

Comments
 (0)