Skip to content

Commit e295944

Browse files
Make user feedback tree shakable
1 parent a0394a0 commit e295944

File tree

4 files changed

+28
-38
lines changed

4 files changed

+28
-38
lines changed

packages/browser/src/client.ts

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import type {
88
Options,
99
Severity,
1010
SeverityLevel,
11-
UserFeedback,
1211
} from '@sentry/types';
1312
import { createClientReportEnvelope, dsnToString, getSDKSource, logger } from '@sentry/utils';
1413

@@ -17,7 +16,6 @@ import { WINDOW } from './helpers';
1716
import type { Breadcrumbs } from './integrations';
1817
import { BREADCRUMB_INTEGRATION_ID } from './integrations/breadcrumbs';
1918
import type { BrowserTransportOptions } from './transports/types';
20-
import { createUserFeedbackEnvelope } from './userfeedback';
2119

2220
/**
2321
* Configuration options for the Sentry Browser SDK.
@@ -108,18 +106,6 @@ export class BrowserClient extends BaseClient<BrowserClientOptions> {
108106
super.sendEvent(event, hint);
109107
}
110108

111-
/**
112-
* Sends user feedback to Sentry.
113-
*/
114-
public captureUserFeedback(feedback: UserFeedback): void {
115-
const envelope = createUserFeedbackEnvelope(feedback, {
116-
metadata: this.getSdkMetadata(),
117-
dsn: this.getDsn(),
118-
tunnel: this.getOptions().tunnel,
119-
});
120-
void this._sendEnvelope(envelope);
121-
}
122-
123109
/**
124110
* @inheritDoc
125111
*/

packages/browser/src/exports.ts

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -59,16 +59,6 @@ export {
5959
winjsStackLineParser,
6060
} from './stack-parsers';
6161
export { eventFromException, eventFromMessage } from './eventbuilder';
62-
export {
63-
defaultIntegrations,
64-
forceLoad,
65-
init,
66-
lastEventId,
67-
onLoad,
68-
showReportDialog,
69-
flush,
70-
close,
71-
wrap,
72-
captureUserFeedback,
73-
} from './sdk';
62+
export { defaultIntegrations, forceLoad, init, lastEventId, onLoad, showReportDialog, flush, close, wrap } from './sdk';
63+
export { captureUserFeedback } from './userfeedback';
7464
export { GlobalHandlers, TryCatch, Breadcrumbs, LinkedErrors, HttpContext, Dedupe } from './integrations';

packages/browser/src/sdk.ts

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import {
66
initAndBind,
77
Integrations as CoreIntegrations,
88
} from '@sentry/core';
9-
import type { UserFeedback } from '@sentry/types';
109
import {
1110
addInstrumentationHandler,
1211
logger,
@@ -290,13 +289,3 @@ function startSessionTracking(): void {
290289
}
291290
});
292291
}
293-
294-
/**
295-
* Captures user feedback and sends it to Sentry.
296-
*/
297-
export function captureUserFeedback(feedback: UserFeedback): void {
298-
const client = getCurrentHub().getClient<BrowserClient>();
299-
if (client) {
300-
client.captureUserFeedback(feedback);
301-
}
302-
}

packages/browser/src/userfeedback.ts

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,30 @@
1+
import { getCurrentHub } from '@sentry/core';
12
import type { DsnComponents, EventEnvelope, SdkMetadata, UserFeedback, UserFeedbackItem } from '@sentry/types';
2-
import { createEnvelope, dsnToString } from '@sentry/utils';
3+
import { createEnvelope, dsnToString, logger } from '@sentry/utils';
4+
5+
/**
6+
* Sends user feedback to Sentry.
7+
*/
8+
export function captureUserFeedback(feedback: UserFeedback): void {
9+
const hub = getCurrentHub();
10+
const client = hub.getClient();
11+
const transport = client && client.getTransport();
12+
13+
if (!transport) {
14+
if (__DEBUG_BUILD__) {
15+
logger.log('[UserFeedback] getTransport did not return a Transport, user feedback will not be sent.');
16+
}
17+
return;
18+
}
19+
20+
const envelope = createUserFeedbackEnvelope(feedback, {
21+
metadata: client.getSdkMetadata && client.getSdkMetadata(),
22+
dsn: client.getDsn(),
23+
tunnel: client.getOptions().tunnel,
24+
});
25+
26+
void transport.send(envelope);
27+
}
328

429
/**
530
* Creates an envelope from a user feedback.

0 commit comments

Comments
 (0)