Skip to content

Commit 1c52a91

Browse files
JonasBamitsuhiko
andauthored
ref(types): deprecate status enum (#4298)
* ref(types): deprecate enum and export type * ref(types): fix fromHttpCode usage to statusFromHttpCode * ref(types): remove enum usage * fix(types): fix mistake on span * fix: fmt * ref(types): do not export the status enum * ref(types): fix all imports * ref(utils): consistent naming * ref(types): deprecate span status enum (#4299) * ref(span): deprecate span status enum * ts(span): widen type * ref(span): avoid reexporting the enum * ref(types): fix all imports * fix(test): remove extra space * fix(test): import extension methods * ref(types): deprecate transactionmethod enum (#4314) * ref(types): deprecate transactionmethod enum * fix(types): drop transactionsamplingmethod * ref(types): deprecate outcome enum (#4315) * ref(types): deprecate outcome enum * fix(types): drop transportoutcome * ref(types): deprecate request status enum (#4316) * ref(types): deprecate request status * ref(types): deprecate session status * ref(types): remove unused logLevel (#4317) (#4320) Co-authored-by: Armin Ronacher <[email protected]>
1 parent 1dbeeda commit 1c52a91

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+402
-393
lines changed

Diff for: packages/browser/src/exports.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ export {
55
SdkInfo,
66
Event,
77
EventHint,
8+
EventStatus,
89
Exception,
910
Response,
1011
SeverityLevel,
1112
StackFrame,
1213
Stacktrace,
13-
Status,
1414
Thread,
1515
User,
1616
} from '@sentry/types';

Diff for: packages/browser/src/transports/base.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@ import {
99
Outcome,
1010
Response as SentryResponse,
1111
SentryRequestType,
12-
Status,
1312
Transport,
1413
TransportOptions,
1514
} from '@sentry/types';
1615
import {
1716
dateTimestampInSeconds,
17+
eventStatusFromHttpCode,
1818
getGlobalObject,
1919
logger,
2020
parseRetryAfterHeader,
@@ -155,7 +155,7 @@ export abstract class BaseTransport implements Transport {
155155
resolve: (value?: SentryResponse | PromiseLike<SentryResponse> | null | undefined) => void;
156156
reject: (reason?: unknown) => void;
157157
}): void {
158-
const status = Status.fromHttpCode(response.status);
158+
const status = eventStatusFromHttpCode(response.status);
159159
/**
160160
* "The name is case-insensitive."
161161
* https://developer.mozilla.org/en-US/docs/Web/API/Headers/get
@@ -164,7 +164,7 @@ export abstract class BaseTransport implements Transport {
164164
if (limited)
165165
logger.warn(`Too many ${requestType} requests, backing off until: ${this._disabledUntil(requestType)}`);
166166

167-
if (status === Status.Success) {
167+
if (status === 'success') {
168168
resolve({ status });
169169
return;
170170
}

Diff for: packages/browser/src/transports/fetch.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { eventToSentryRequest, sessionToSentryRequest } from '@sentry/core';
2-
import { Event, Outcome, Response, SentryRequest, Session, TransportOptions } from '@sentry/types';
2+
import { Event, Response, SentryRequest, Session, TransportOptions } from '@sentry/types';
33
import { SentryError, supportsReferrerPolicy, SyncPromise } from '@sentry/utils';
44

55
import { BaseTransport } from './base';
@@ -37,7 +37,7 @@ export class FetchTransport extends BaseTransport {
3737
*/
3838
private _sendRequest(sentryRequest: SentryRequest, originalPayload: Event | Session): PromiseLike<Response> {
3939
if (this._isRateLimited(sentryRequest.type)) {
40-
this.recordLostEvent(Outcome.RateLimitBackoff, sentryRequest.type);
40+
this.recordLostEvent('ratelimit_backoff', sentryRequest.type);
4141

4242
return Promise.reject({
4343
event: originalPayload,
@@ -89,9 +89,9 @@ export class FetchTransport extends BaseTransport {
8989
.then(undefined, reason => {
9090
// It's either buffer rejection or any other xhr/fetch error, which are treated as NetworkError.
9191
if (reason instanceof SentryError) {
92-
this.recordLostEvent(Outcome.QueueOverflow, sentryRequest.type);
92+
this.recordLostEvent('queue_overflow', sentryRequest.type);
9393
} else {
94-
this.recordLostEvent(Outcome.NetworkError, sentryRequest.type);
94+
this.recordLostEvent('network_error', sentryRequest.type);
9595
}
9696
throw reason;
9797
});

Diff for: packages/browser/src/transports/xhr.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { eventToSentryRequest, sessionToSentryRequest } from '@sentry/core';
2-
import { Event, Outcome, Response, SentryRequest, Session } from '@sentry/types';
2+
import { Event, Response, SentryRequest, Session } from '@sentry/types';
33
import { SentryError, SyncPromise } from '@sentry/utils';
44

55
import { BaseTransport } from './base';
@@ -26,7 +26,7 @@ export class XHRTransport extends BaseTransport {
2626
*/
2727
private _sendRequest(sentryRequest: SentryRequest, originalPayload: Event | Session): PromiseLike<Response> {
2828
if (this._isRateLimited(sentryRequest.type)) {
29-
this.recordLostEvent(Outcome.RateLimitBackoff, sentryRequest.type);
29+
this.recordLostEvent('ratelimit_backoff', sentryRequest.type);
3030

3131
return Promise.reject({
3232
event: originalPayload,
@@ -66,9 +66,9 @@ export class XHRTransport extends BaseTransport {
6666
.then(undefined, reason => {
6767
// It's either buffer rejection or any other xhr/fetch error, which are treated as NetworkError.
6868
if (reason instanceof SentryError) {
69-
this.recordLostEvent(Outcome.QueueOverflow, sentryRequest.type);
69+
this.recordLostEvent('queue_overflow', sentryRequest.type);
7070
} else {
71-
this.recordLostEvent(Outcome.NetworkError, sentryRequest.type);
71+
this.recordLostEvent('network_error', sentryRequest.type);
7272
}
7373
throw reason;
7474
});

Diff for: packages/browser/test/unit/mocks/simpletransport.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
import { SyncPromise } from '@sentry/utils';
1+
import { eventStatusFromHttpCode, SyncPromise } from '@sentry/utils';
22

3-
import { Event, Response, Status } from '../../../src';
3+
import { Event, Response } from '../../../src';
44
import { BaseTransport } from '../../../src/transports';
55

66
export class SimpleTransport extends BaseTransport {
77
public sendEvent(_: Event): PromiseLike<Response> {
88
return this._buffer.add(() =>
99
SyncPromise.resolve({
10-
status: Status.fromHttpCode(200),
10+
status: eventStatusFromHttpCode(200),
1111
}),
1212
);
1313
}

Diff for: packages/browser/test/unit/transports/base.test.ts

+15-17
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
import { Outcome } from '@sentry/types';
2-
31
import { BaseTransport } from '../../../src/transports/base';
42

53
const testDsn = 'https://[email protected]/42';
@@ -44,12 +42,12 @@ describe('BaseTransport', () => {
4442
it('sends beacon request when there are outcomes captured and visibility changed to `hidden`', () => {
4543
const transport = new SimpleTransport({ dsn: testDsn, sendClientReports: true });
4644

47-
transport.recordLostEvent(Outcome.BeforeSend, 'event');
45+
transport.recordLostEvent('before_send', 'event');
4846

4947
visibilityState = 'hidden';
5048
document.dispatchEvent(new Event('visibilitychange'));
5149

52-
const outcomes = [{ reason: Outcome.BeforeSend, category: 'error', quantity: 1 }];
50+
const outcomes = [{ reason: 'before_send', category: 'error', quantity: 1 }];
5351

5452
expect(sendBeaconSpy).toHaveBeenCalledWith(
5553
envelopeEndpoint,
@@ -59,7 +57,7 @@ describe('BaseTransport', () => {
5957

6058
it('doesnt send beacon request when there are outcomes captured, but visibility state did not change to `hidden`', () => {
6159
const transport = new SimpleTransport({ dsn: testDsn, sendClientReports: true });
62-
transport.recordLostEvent(Outcome.BeforeSend, 'event');
60+
transport.recordLostEvent('before_send', 'event');
6361

6462
visibilityState = 'visible';
6563
document.dispatchEvent(new Event('visibilitychange'));
@@ -70,21 +68,21 @@ describe('BaseTransport', () => {
7068
it('correctly serializes request with different categories/reasons pairs', () => {
7169
const transport = new SimpleTransport({ dsn: testDsn, sendClientReports: true });
7270

73-
transport.recordLostEvent(Outcome.BeforeSend, 'event');
74-
transport.recordLostEvent(Outcome.BeforeSend, 'event');
75-
transport.recordLostEvent(Outcome.SampleRate, 'transaction');
76-
transport.recordLostEvent(Outcome.NetworkError, 'session');
77-
transport.recordLostEvent(Outcome.NetworkError, 'session');
78-
transport.recordLostEvent(Outcome.RateLimitBackoff, 'event');
71+
transport.recordLostEvent('before_send', 'event');
72+
transport.recordLostEvent('before_send', 'event');
73+
transport.recordLostEvent('sample_rate', 'transaction');
74+
transport.recordLostEvent('network_error', 'session');
75+
transport.recordLostEvent('network_error', 'session');
76+
transport.recordLostEvent('ratelimit_backoff', 'event');
7977

8078
visibilityState = 'hidden';
8179
document.dispatchEvent(new Event('visibilitychange'));
8280

8381
const outcomes = [
84-
{ reason: Outcome.BeforeSend, category: 'error', quantity: 2 },
85-
{ reason: Outcome.SampleRate, category: 'transaction', quantity: 1 },
86-
{ reason: Outcome.NetworkError, category: 'session', quantity: 2 },
87-
{ reason: Outcome.RateLimitBackoff, category: 'error', quantity: 1 },
82+
{ reason: 'before_send', category: 'error', quantity: 2 },
83+
{ reason: 'sample_rate', category: 'transaction', quantity: 1 },
84+
{ reason: 'network_error', category: 'session', quantity: 2 },
85+
{ reason: 'ratelimit_backoff', category: 'error', quantity: 1 },
8886
];
8987

9088
expect(sendBeaconSpy).toHaveBeenCalledWith(
@@ -97,12 +95,12 @@ describe('BaseTransport', () => {
9795
const tunnel = 'https://hello.com/world';
9896
const transport = new SimpleTransport({ dsn: testDsn, sendClientReports: true, tunnel });
9997

100-
transport.recordLostEvent(Outcome.BeforeSend, 'event');
98+
transport.recordLostEvent('before_send', 'event');
10199

102100
visibilityState = 'hidden';
103101
document.dispatchEvent(new Event('visibilitychange'));
104102

105-
const outcomes = [{ reason: Outcome.BeforeSend, category: 'error', quantity: 1 }];
103+
const outcomes = [{ reason: 'before_send', category: 'error', quantity: 1 }];
106104

107105
expect(sendBeaconSpy).toHaveBeenCalledWith(
108106
tunnel,

Diff for: packages/browser/test/unit/transports/fetch.test.ts

+17-18
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
import { Outcome } from '@sentry/types';
21
import { SentryError } from '@sentry/utils';
32

4-
import { Event, Response, Status, Transports } from '../../../src';
3+
import { Event, Response, Transports } from '../../../src';
54

65
const testDsn = 'https://[email protected]/42';
76
const storeUrl = 'https://sentry.io/api/42/store/?sentry_key=123&sentry_version=7';
@@ -61,7 +60,7 @@ describe('FetchTransport', () => {
6160

6261
const res = await transport.sendEvent(eventPayload);
6362

64-
expect((res as Response).status).toBe(Status.Success);
63+
expect((res as Response).status).toBe('success');
6564
expect(fetch).toHaveBeenCalledWith(storeUrl, {
6665
body: JSON.stringify(eventPayload),
6766
method: 'POST',
@@ -117,7 +116,7 @@ describe('FetchTransport', () => {
117116
try {
118117
await transport.sendEvent(eventPayload);
119118
} catch (_) {
120-
expect(spy).toHaveBeenCalledWith(Outcome.NetworkError, 'event');
119+
expect(spy).toHaveBeenCalledWith('network_error', 'event');
121120
}
122121
});
123122

@@ -129,7 +128,7 @@ describe('FetchTransport', () => {
129128
try {
130129
await transport.sendEvent(transactionPayload);
131130
} catch (_) {
132-
expect(spy).toHaveBeenCalledWith(Outcome.QueueOverflow, 'transaction');
131+
expect(spy).toHaveBeenCalledWith('queue_overflow', 'transaction');
133132
}
134133
});
135134

@@ -149,7 +148,7 @@ describe('FetchTransport', () => {
149148

150149
const res = await transport.sendEvent(eventPayload);
151150

152-
expect((res as Response).status).toBe(Status.Success);
151+
expect((res as Response).status).toBe('success');
153152
expect(fetch).toHaveBeenCalledWith(storeUrl, {
154153
body: JSON.stringify(eventPayload),
155154
headers: {
@@ -176,7 +175,7 @@ describe('FetchTransport', () => {
176175

177176
const res = await transport.sendEvent(eventPayload);
178177

179-
expect((res as Response).status).toBe(Status.Success);
178+
expect((res as Response).status).toBe('success');
180179
expect(fetch).toHaveBeenCalledWith(storeUrl, {
181180
body: JSON.stringify(eventPayload),
182181
credentials: 'include',
@@ -232,7 +231,7 @@ describe('FetchTransport', () => {
232231
window.fetch.mockImplementation(() => Promise.resolve({ status: 200, headers: new Headers() }));
233232

234233
const eventRes = await transport.sendEvent(eventPayload);
235-
expect(eventRes.status).toBe(Status.Success);
234+
expect(eventRes.status).toBe('success');
236235
expect(fetch).toHaveBeenCalledTimes(2);
237236
});
238237

@@ -275,7 +274,7 @@ describe('FetchTransport', () => {
275274
window.fetch.mockImplementation(() => Promise.resolve({ status: 200, headers: new Headers() }));
276275

277276
const transactionRes = await transport.sendEvent(transactionPayload);
278-
expect(transactionRes.status).toBe(Status.Success);
277+
expect(transactionRes.status).toBe('success');
279278
expect(fetch).toHaveBeenCalledTimes(2);
280279

281280
try {
@@ -290,7 +289,7 @@ describe('FetchTransport', () => {
290289
}
291290

292291
const eventRes = await transport.sendEvent(eventPayload);
293-
expect(eventRes.status).toBe(Status.Success);
292+
expect(eventRes.status).toBe('success');
294293
expect(fetch).toHaveBeenCalledTimes(3);
295294
});
296295

@@ -357,11 +356,11 @@ describe('FetchTransport', () => {
357356
window.fetch.mockImplementation(() => Promise.resolve({ status: 200, headers: new Headers() }));
358357

359358
const eventRes = await transport.sendEvent(eventPayload);
360-
expect(eventRes.status).toBe(Status.Success);
359+
expect(eventRes.status).toBe('success');
361360
expect(fetch).toHaveBeenCalledTimes(2);
362361

363362
const transactionRes = await transport.sendEvent(transactionPayload);
364-
expect(transactionRes.status).toBe(Status.Success);
363+
expect(transactionRes.status).toBe('success');
365364
expect(fetch).toHaveBeenCalledTimes(3);
366365
});
367366

@@ -428,11 +427,11 @@ describe('FetchTransport', () => {
428427
window.fetch.mockImplementation(() => Promise.resolve({ status: 200, headers: new Headers() }));
429428

430429
const eventRes = await transport.sendEvent(eventPayload);
431-
expect(eventRes.status).toBe(Status.Success);
430+
expect(eventRes.status).toBe('success');
432431
expect(fetch).toHaveBeenCalledTimes(2);
433432

434433
const transactionRes = await transport.sendEvent(transactionPayload);
435-
expect(transactionRes.status).toBe(Status.Success);
434+
expect(transactionRes.status).toBe('success');
436435
expect(fetch).toHaveBeenCalledTimes(3);
437436
});
438437

@@ -460,7 +459,7 @@ describe('FetchTransport', () => {
460459
window.fetch.mockImplementation(() => Promise.resolve({ status: 200, headers }));
461460

462461
let eventRes = await transport.sendEvent(eventPayload);
463-
expect(eventRes.status).toBe(Status.Success);
462+
expect(eventRes.status).toBe('success');
464463
expect(fetch).toHaveBeenCalled();
465464

466465
try {
@@ -477,7 +476,7 @@ describe('FetchTransport', () => {
477476
window.fetch.mockImplementation(() => Promise.resolve({ status: 200, headers: new Headers() }));
478477

479478
eventRes = await transport.sendEvent(eventPayload);
480-
expect(eventRes.status).toBe(Status.Success);
479+
expect(eventRes.status).toBe('success');
481480
expect(fetch).toHaveBeenCalledTimes(2);
482481
});
483482

@@ -490,13 +489,13 @@ describe('FetchTransport', () => {
490489
try {
491490
await transport.sendEvent(eventPayload);
492491
} catch (_) {
493-
expect(spy).toHaveBeenCalledWith(Outcome.RateLimitBackoff, 'event');
492+
expect(spy).toHaveBeenCalledWith('ratelimit_backoff', 'event');
494493
}
495494

496495
try {
497496
await transport.sendEvent(transactionPayload);
498497
} catch (_) {
499-
expect(spy).toHaveBeenCalledWith(Outcome.RateLimitBackoff, 'transaction');
498+
expect(spy).toHaveBeenCalledWith('ratelimit_backoff', 'transaction');
500499
}
501500
});
502501
});

0 commit comments

Comments
 (0)