Skip to content

Commit fe17ad1

Browse files
committed
[v7] Capture sentry breadcrumb in captureEvent call
1 parent cf425c4 commit fe17ad1

File tree

2 files changed

+15
-16
lines changed

2 files changed

+15
-16
lines changed

packages/browser/src/client.ts

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -72,20 +72,4 @@ export class BrowserClient extends BaseClient<BrowserOptions> {
7272
protected _eventFromMessage(message: string, captureContext: CaptureContext): PromiseLike<SentryEvent> {
7373
return eventFromMessage(this.options, message, captureContext);
7474
}
75-
76-
// TODO: Restore this functionality somewhere else, it definitely shouldn't be here.
77-
// protected _sendEvent(event: SentryEvent): void {
78-
// this.getScope()?.addBreadcrumb(
79-
// {
80-
// category: `sentry.${event.type === 'transaction' ? 'transaction' : 'event'}`,
81-
// event_id: event.event_id,
82-
// level: event.level,
83-
// message: getEventDescription(event),
84-
// },
85-
// {
86-
// event,
87-
// },
88-
// );
89-
// super._sendEvent(event);
90-
// }
9175
}

packages/core/src/baseclient.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import {
1010
} from '@sentry/types';
1111
import {
1212
dateTimestampInSeconds,
13+
getEventDescription,
1314
isPrimitive,
1415
isThenable,
1516
logger,
@@ -121,6 +122,7 @@ export abstract class BaseClient<O extends OptionsV7> implements ClientLike<O> {
121122
* @inheritDoc
122123
*/
123124
public captureException(exception: unknown, captureContext: CaptureContext = {}): string | undefined {
125+
// TODO: This is broken. a) we dont pass event_id in hint anymore, b) its sync value assigned in async callback
124126
let eventId = captureContext.hint?.event_id;
125127

126128
this._process(
@@ -465,6 +467,19 @@ export abstract class BaseClient<O extends OptionsV7> implements ClientLike<O> {
465467
protected _captureEvent(event: SentryEvent, captureContext: CaptureContext): PromiseLike<string | undefined> {
466468
return this._processEvent(event, captureContext).then(
467469
finalEvent => {
470+
// TODO: Make it configurable or move to @sentry/integration-browser-breadcrumbs
471+
const eventType = finalEvent.type === 'transaction' ? 'transaction' : 'event';
472+
this.getScope().addBreadcrumb(
473+
{
474+
category: `sentry.${eventType}`,
475+
event_id: finalEvent.event_id,
476+
level: finalEvent.level,
477+
message: getEventDescription(finalEvent),
478+
},
479+
{
480+
event: finalEvent,
481+
},
482+
);
468483
return finalEvent.event_id;
469484
},
470485
reason => {

0 commit comments

Comments
 (0)