Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
123 changes: 97 additions & 26 deletions packages/core/src/types-hoist/options.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,45 +12,79 @@ import type { BaseTransportOptions, Transport } from './transport';

export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOptions> {
/**
* Enable debug functionality in the SDK itself
* Enable debug functionality in the SDK itself. If `debug` is set to `true` the SDK will attempt
* to print out useful debugging information about what the SDK is doing.
*
* @default false
*/
debug?: boolean;

/**
* Specifies whether this SDK should send events to Sentry.
* Defaults to true.
* Specifies whether this SDK should send events to Sentry. Setting this to `enabled: false`
* doesn't prevent all overhead from Sentry instrumentation. To disable Sentry completely,
* depending on environment, call `Sentry.init conditionally.
*
* @default true
*/
enabled?: boolean;

/** Attaches stacktraces to pure capture message / log integrations */
/**
* When enabled, stack traces are automatically attached to all events captured with `Sentry.captureMessage`.
*
* Grouping in Sentry is different for events with stack traces and without. As a result, you will get
* new groups as you enable or disable this flag for certain events.
*
* @default false
*/
attachStacktrace?: boolean;

/**
* Send SDK Client Reports. When calling `Sentry.init()`, this option defaults to `true`.
* Send SDK Client Reports, which are used to emit outcomes about events that the SDK dropped
* or failed to capture.
*
* @default true
*/
sendClientReports?: boolean;

/**
* The Dsn used to connect to Sentry and identify the project. If omitted, the
* SDK will not send any data to Sentry.
* The DSN tells the SDK where to send the events. If this is not set, the SDK will not send any events to Sentry.
*
* @default undefined
*/
dsn?: string;

/**
* The release identifier used when uploading respective source maps. Specify
* this value to allow Sentry to resolve the correct source maps when
* processing events.
* Sets the release. Release names are strings, but some formats are detected by Sentry and might be
* rendered differently. Learn more about how to send release data so Sentry can tell you about
* regressions between releases and identify the potential source in the
* [releases documentation](https://docs.sentry.io/product/releases/)
*
* @default undefined
*/
release?: string;

/** The current environment of your application (e.g. "production"). */
/**
* The current environment of your application (e.g. "production").
*
* Environments are case-sensitive. The environment name can't contain newlines, spaces or forward slashes,
* can't be the string "None", or exceed 64 characters. You can't delete environments, but you can hide them.
*
* @default "production"
*/
environment?: string;

/** Sets the distribution for all events */
/**
* Sets the distribution of the application. Distributions are used to disambiguate build or
* deployment variants of the same release of an application.
*
* @default undefined
*/
dist?: string;

/**
* List of integrations that should be installed after SDK was initialized.
*
* @default []
*/
integrations: Integration[];

Expand All@@ -61,8 +95,7 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
transport: (transportOptions: TO) => Transport;

/**
* A stack parser implementation
* By default, a stack parser is supplied for all supported platforms
* A stack parser implementation. By default, a stack parser is supplied for all supported platforms.
*/
stackParser: StackParser;

Expand All@@ -75,10 +108,12 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* Sample rate to determine trace sampling.
*
* 0.0 = 0% chance of a given trace being sent (send no traces) 1.0 = 100% chance of a given trace being sent (send
* all traces)
* all traces).
*
* Tracing is enabled if either this or `tracesSampler` is defined. If both are defined, `tracesSampleRate` is
* ignored.
* ignored. Set this and `tracesSampler` to `undefined` to disable tracing.
*
* @default undefined
*/
tracesSampleRate?: number;

Expand All@@ -97,24 +132,34 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp

/**
* Initial data to populate scope.
*
* @default undefined
*/
initialScope?: CaptureContext;

/**
* The maximum number of breadcrumbs sent with events. Defaults to 100.
* The maximum number of breadcrumbs sent with events.
* Sentry has a maximum payload size of 1MB and any events exceeding that payload size will be dropped.
*
* @default 100
*/
maxBreadcrumbs?: number;

/**
* A global sample rate to apply to all events.
* A global sample rate to apply to all error events.
*
* 0.0 = 0% chance of a given event being sent (send no events) 1.0 = 100% chance of a given event being sent (send
* all events)
*
* @default 1.0
*/
sampleRate?: number;

/** Maximum number of chars a single value can have before it will be truncated. */
/**
* Maximum number of chars a single value can have before it will be truncated.
*
* @default 250
*/
maxValueLength?: number;

/**
Expand All@@ -124,7 +169,8 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* - `user`
* - `contexts`
* - `extra`
* Defaults to `3`. Set to `0` to disable.
*
* @default 3
*/
normalizeDepth?: number;

Expand All@@ -135,26 +181,39 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* - `user`
* - `contexts`
* - `extra`
* Defaults to `1000`
*
* @default 1000
*/
normalizeMaxBreadth?: number;

/**
* A pattern for error messages which should not be sent to Sentry.
* By default, all errors will be sent.
*
* Behavior of the `ignoreErrors` option is controlled by the `Sentry.eventFiltersIntegration` integration. If the
* event filters integration is not installed, the `ignoreErrors` option will not have any effect.
*
* @default []
*/
ignoreErrors?: Array<string | RegExp>;

/**
* A pattern for transaction names which should not be sent to Sentry.
* By default, all transactions will be sent.
*
* Behavior of the `ignoreTransactions` option is controlled by the `Sentry.eventFiltersIntegration` integration.
* If the event filters integration is not installed, the `ignoreTransactions` option will not have any effect.
*
* @default []
*/
ignoreTransactions?: Array<string | RegExp>;

/**
* A URL to an envelope tunnel endpoint. An envelope tunnel is an HTTP endpoint
* that accepts Sentry envelopes for forwarding. This can be used to force data
* through a custom server independent of the type of data.
*
* @default undefined
*/
tunnel?: string;

Expand All@@ -163,7 +222,7 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* Note that this only applies to data that the SDK is sending by default
* but not data that was explicitly set (e.g. by calling `Sentry.setUser()`).
*
* Defaults to `false`.
* @default false
*
* NOTE: This option currently controls only a few data points in a selected
* set of SDKs. The goal for this option is to eventually control all sensitive
Expand All@@ -176,6 +235,8 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
/**
* Set of metadata about the SDK that can be internally used to enhance envelopes and events,
* and provide additional data about every request.
*
* @internal This option is not part of the public API and is subject to change at any time.
*/
_metadata?: SdkMetadata;

Expand All@@ -186,7 +247,9 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
// eslint-disable-next-line @typescript-eslint/no-explicit-any
[key: string]: any;
/**
* If logs support should be enabled. Defaults to false.
* If logs support should be enabled.
*
* @default false
*/
enableLogs?: boolean;
/**
Expand All@@ -196,6 +259,8 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* Note that you must return a valid log from this callback. If you do not wish to modify the log, simply return
* it at the end. Returning `null` will cause the log to be dropped.
*
* @default undefined
*
* @param log The log generated by the SDK.
* @returns A new log that will be sent | null.
*/
Expand All@@ -207,7 +272,10 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* This is the opposite of {@link Options.denyUrls}.
* By default, all errors will be sent.
*
* Requires the use of the `InboundFilters` integration.
* Behavior of the `allowUrls` option is controlled by the `Sentry.eventFiltersIntegration` integration.
* If the event filters integration is not installed, the `allowUrls` option will not have any effect.
*
* @default []
*/
allowUrls?: Array<string | RegExp>;

Expand All@@ -216,7 +284,10 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* To allow certain errors instead, use {@link Options.allowUrls}.
* By default, all errors will be sent.
*
* Requires the use of the `InboundFilters` integration.
* Behavior of the `denyUrls` option is controlled by the `Sentry.eventFiltersIntegration` integration.
* If the event filters integration is not installed, the `denyUrls` option will not have any effect.
*
* @default []
*/
denyUrls?: Array<string | RegExp>;

Expand DownExpand Up@@ -253,7 +324,7 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* Function to compute tracing sample rate dynamically and filter unwanted traces.
*
* Tracing is enabled if either this or `tracesSampleRate` is defined. If both are defined, `tracesSampleRate` is
* ignored.
* ignored. Set this and `tracesSampleRate` to `undefined` to disable tracing.
*
* Will automatically be passed a context object of default and optional custom data.
*
Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
123 changes: 97 additions & 26 deletions packages/core/src/types-hoist/options.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,45 +12,79 @@ import type { BaseTransportOptions, Transport } from './transport';

export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOptions> {
/**
* Enable debug functionality in the SDK itself
* Enable debug functionality in the SDK itself. If `debug` is set to `true` the SDK will attempt
* to print out useful debugging information about what the SDK is doing.
*
* @default false
*/
debug?: boolean;

/**
* Specifies whether this SDK should send events to Sentry.
* Defaults to true.
* Specifies whether this SDK should send events to Sentry. Setting this to `enabled: false`
* doesn't prevent all overhead from Sentry instrumentation. To disable Sentry completely,
* depending on environment, call `Sentry.init conditionally.
*
* @default true
*/
enabled?: boolean;

/** Attaches stacktraces to pure capture message / log integrations */
/**
* When enabled, stack traces are automatically attached to all events captured with `Sentry.captureMessage`.
*
* Grouping in Sentry is different for events with stack traces and without. As a result, you will get
* new groups as you enable or disable this flag for certain events.
*
* @default false
*/
attachStacktrace?: boolean;

/**
* Send SDK Client Reports. When calling `Sentry.init()`, this option defaults to `true`.
* Send SDK Client Reports, which are used to emit outcomes about events that the SDK dropped
* or failed to capture.
*
* @default true
*/
sendClientReports?: boolean;

/**
* The Dsn used to connect to Sentry and identify the project. If omitted, the
* SDK will not send any data to Sentry.
* The DSN tells the SDK where to send the events. If this is not set, the SDK will not send any events to Sentry.
*
* @default undefined
*/
dsn?: string;

/**
* The release identifier used when uploading respective source maps. Specify
* this value to allow Sentry to resolve the correct source maps when
* processing events.
* Sets the release. Release names are strings, but some formats are detected by Sentry and might be
* rendered differently. Learn more about how to send release data so Sentry can tell you about
* regressions between releases and identify the potential source in the
* [releases documentation](https://docs.sentry.io/product/releases/)
*
* @default undefined
*/
release?: string;

/** The current environment of your application (e.g. "production"). */
/**
* The current environment of your application (e.g. "production").
*
* Environments are case-sensitive. The environment name can't contain newlines, spaces or forward slashes,
* can't be the string "None", or exceed 64 characters. You can't delete environments, but you can hide them.
*
* @default "production"
*/
environment?: string;

/** Sets the distribution for all events */
/**
* Sets the distribution of the application. Distributions are used to disambiguate build or
* deployment variants of the same release of an application.
*
* @default undefined
*/
dist?: string;

/**
* List of integrations that should be installed after SDK was initialized.
*
* @default []
*/
integrations: Integration[];

Expand All@@ -61,8 +95,7 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
transport: (transportOptions: TO) => Transport;

/**
* A stack parser implementation
* By default, a stack parser is supplied for all supported platforms
* A stack parser implementation. By default, a stack parser is supplied for all supported platforms.
*/
stackParser: StackParser;

Expand All@@ -75,10 +108,12 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* Sample rate to determine trace sampling.
*
* 0.0 = 0% chance of a given trace being sent (send no traces) 1.0 = 100% chance of a given trace being sent (send
* all traces)
* all traces).
*
* Tracing is enabled if either this or `tracesSampler` is defined. If both are defined, `tracesSampleRate` is
* ignored.
* ignored. Set this and `tracesSampler` to `undefined` to disable tracing.
*
* @default undefined
*/
tracesSampleRate?: number;

Expand All@@ -97,24 +132,34 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp

/**
* Initial data to populate scope.
*
* @default undefined
*/
initialScope?: CaptureContext;

/**
* The maximum number of breadcrumbs sent with events. Defaults to 100.
* The maximum number of breadcrumbs sent with events.
* Sentry has a maximum payload size of 1MB and any events exceeding that payload size will be dropped.
*
* @default 100
*/
maxBreadcrumbs?: number;

/**
* A global sample rate to apply to all events.
* A global sample rate to apply to all error events.
*
* 0.0 = 0% chance of a given event being sent (send no events) 1.0 = 100% chance of a given event being sent (send
* all events)
*
* @default 1.0
*/
sampleRate?: number;

/** Maximum number of chars a single value can have before it will be truncated. */
/**
* Maximum number of chars a single value can have before it will be truncated.
*
* @default 250
*/
maxValueLength?: number;

/**
Expand All@@ -124,7 +169,8 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* - `user`
* - `contexts`
* - `extra`
* Defaults to `3`. Set to `0` to disable.
*
* @default 3
*/
normalizeDepth?: number;

Expand All@@ -135,26 +181,39 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* - `user`
* - `contexts`
* - `extra`
* Defaults to `1000`
*
* @default 1000
*/
normalizeMaxBreadth?: number;

/**
* A pattern for error messages which should not be sent to Sentry.
* By default, all errors will be sent.
*
* Behavior of the `ignoreErrors` option is controlled by the `Sentry.eventFiltersIntegration` integration. If the
* event filters integration is not installed, the `ignoreErrors` option will not have any effect.
*
* @default []
*/
ignoreErrors?: Array<string | RegExp>;

/**
* A pattern for transaction names which should not be sent to Sentry.
* By default, all transactions will be sent.
*
* Behavior of the `ignoreTransactions` option is controlled by the `Sentry.eventFiltersIntegration` integration.
* If the event filters integration is not installed, the `ignoreTransactions` option will not have any effect.
*
* @default []
*/
ignoreTransactions?: Array<string | RegExp>;

/**
* A URL to an envelope tunnel endpoint. An envelope tunnel is an HTTP endpoint
* that accepts Sentry envelopes for forwarding. This can be used to force data
* through a custom server independent of the type of data.
*
* @default undefined
*/
tunnel?: string;

Expand All@@ -163,7 +222,7 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* Note that this only applies to data that the SDK is sending by default
* but not data that was explicitly set (e.g. by calling `Sentry.setUser()`).
*
* Defaults to `false`.
* @default false
*
* NOTE: This option currently controls only a few data points in a selected
* set of SDKs. The goal for this option is to eventually control all sensitive
Expand All@@ -176,6 +235,8 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
/**
* Set of metadata about the SDK that can be internally used to enhance envelopes and events,
* and provide additional data about every request.
*
* @internal This option is not part of the public API and is subject to change at any time.
*/
_metadata?: SdkMetadata;

Expand All@@ -186,7 +247,9 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
// eslint-disable-next-line @typescript-eslint/no-explicit-any
[key: string]: any;
/**
* If logs support should be enabled. Defaults to false.
* If logs support should be enabled.
*
* @default false
*/
enableLogs?: boolean;
/**
Expand All@@ -196,6 +259,8 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* Note that you must return a valid log from this callback. If you do not wish to modify the log, simply return
* it at the end. Returning `null` will cause the log to be dropped.
*
* @default undefined
*
* @param log The log generated by the SDK.
* @returns A new log that will be sent | null.
*/
Expand All@@ -207,7 +272,10 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* This is the opposite of {@link Options.denyUrls}.
* By default, all errors will be sent.
*
* Requires the use of the `InboundFilters` integration.
* Behavior of the `allowUrls` option is controlled by the `Sentry.eventFiltersIntegration` integration.
* If the event filters integration is not installed, the `allowUrls` option will not have any effect.
*
* @default []
*/
allowUrls?: Array<string | RegExp>;

Expand All@@ -216,7 +284,10 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* To allow certain errors instead, use {@link Options.allowUrls}.
* By default, all errors will be sent.
*
* Requires the use of the `InboundFilters` integration.
* Behavior of the `denyUrls` option is controlled by the `Sentry.eventFiltersIntegration` integration.
* If the event filters integration is not installed, the `denyUrls` option will not have any effect.
*
* @default []
*/
denyUrls?: Array<string | RegExp>;

Expand DownExpand Up@@ -253,7 +324,7 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* Function to compute tracing sample rate dynamically and filter unwanted traces.
*
* Tracing is enabled if either this or `tracesSampleRate` is defined. If both are defined, `tracesSampleRate` is
* ignored.
* ignored. Set this and `tracesSampleRate` to `undefined` to disable tracing.
*
* Will automatically be passed a context object of default and optional custom data.
*
Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
123 changes: 97 additions & 26 deletions packages/core/src/types-hoist/options.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,45 +12,79 @@ import type { BaseTransportOptions, Transport } from './transport';

export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOptions> {
/**
* Enable debug functionality in the SDK itself
* Enable debug functionality in the SDK itself. If `debug` is set to `true` the SDK will attempt
* to print out useful debugging information about what the SDK is doing.
*
* @default false
*/
debug?: boolean;

/**
* Specifies whether this SDK should send events to Sentry.
* Defaults to true.
* Specifies whether this SDK should send events to Sentry. Setting this to `enabled: false`
* doesn't prevent all overhead from Sentry instrumentation. To disable Sentry completely,
* depending on environment, call `Sentry.init conditionally.
*
* @default true
*/
enabled?: boolean;

/** Attaches stacktraces to pure capture message / log integrations */
/**
* When enabled, stack traces are automatically attached to all events captured with `Sentry.captureMessage`.
*
* Grouping in Sentry is different for events with stack traces and without. As a result, you will get
* new groups as you enable or disable this flag for certain events.
*
* @default false
*/
attachStacktrace?: boolean;

/**
* Send SDK Client Reports. When calling `Sentry.init()`, this option defaults to `true`.
* Send SDK Client Reports, which are used to emit outcomes about events that the SDK dropped
* or failed to capture.
*
* @default true
*/
sendClientReports?: boolean;

/**
* The Dsn used to connect to Sentry and identify the project. If omitted, the
* SDK will not send any data to Sentry.
* The DSN tells the SDK where to send the events. If this is not set, the SDK will not send any events to Sentry.
*
* @default undefined
*/
dsn?: string;

/**
* The release identifier used when uploading respective source maps. Specify
* this value to allow Sentry to resolve the correct source maps when
* processing events.
* Sets the release. Release names are strings, but some formats are detected by Sentry and might be
* rendered differently. Learn more about how to send release data so Sentry can tell you about
* regressions between releases and identify the potential source in the
* [releases documentation](https://docs.sentry.io/product/releases/)
*
* @default undefined
*/
release?: string;

/** The current environment of your application (e.g. "production"). */
/**
* The current environment of your application (e.g. "production").
*
* Environments are case-sensitive. The environment name can't contain newlines, spaces or forward slashes,
* can't be the string "None", or exceed 64 characters. You can't delete environments, but you can hide them.
*
* @default "production"
*/
environment?: string;

/** Sets the distribution for all events */
/**
* Sets the distribution of the application. Distributions are used to disambiguate build or
* deployment variants of the same release of an application.
*
* @default undefined
*/
dist?: string;

/**
* List of integrations that should be installed after SDK was initialized.
*
* @default []
*/
integrations: Integration[];

Expand All@@ -61,8 +95,7 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
transport: (transportOptions: TO) => Transport;

/**
* A stack parser implementation
* By default, a stack parser is supplied for all supported platforms
* A stack parser implementation. By default, a stack parser is supplied for all supported platforms.
*/
stackParser: StackParser;

Expand All@@ -75,10 +108,12 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* Sample rate to determine trace sampling.
*
* 0.0 = 0% chance of a given trace being sent (send no traces) 1.0 = 100% chance of a given trace being sent (send
* all traces)
* all traces).
*
* Tracing is enabled if either this or `tracesSampler` is defined. If both are defined, `tracesSampleRate` is
* ignored.
* ignored. Set this and `tracesSampler` to `undefined` to disable tracing.
*
* @default undefined
*/
tracesSampleRate?: number;

Expand All@@ -97,24 +132,34 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp

/**
* Initial data to populate scope.
*
* @default undefined
*/
initialScope?: CaptureContext;

/**
* The maximum number of breadcrumbs sent with events. Defaults to 100.
* The maximum number of breadcrumbs sent with events.
* Sentry has a maximum payload size of 1MB and any events exceeding that payload size will be dropped.
*
* @default 100
*/
maxBreadcrumbs?: number;

/**
* A global sample rate to apply to all events.
* A global sample rate to apply to all error events.
*
* 0.0 = 0% chance of a given event being sent (send no events) 1.0 = 100% chance of a given event being sent (send
* all events)
*
* @default 1.0
*/
sampleRate?: number;

/** Maximum number of chars a single value can have before it will be truncated. */
/**
* Maximum number of chars a single value can have before it will be truncated.
*
* @default 250
*/
maxValueLength?: number;

/**
Expand All@@ -124,7 +169,8 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* - `user`
* - `contexts`
* - `extra`
* Defaults to `3`. Set to `0` to disable.
*
* @default 3
*/
normalizeDepth?: number;

Expand All@@ -135,26 +181,39 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* - `user`
* - `contexts`
* - `extra`
* Defaults to `1000`
*
* @default 1000
*/
normalizeMaxBreadth?: number;

/**
* A pattern for error messages which should not be sent to Sentry.
* By default, all errors will be sent.
*
* Behavior of the `ignoreErrors` option is controlled by the `Sentry.eventFiltersIntegration` integration. If the
* event filters integration is not installed, the `ignoreErrors` option will not have any effect.
*
* @default []
*/
ignoreErrors?: Array<string | RegExp>;

/**
* A pattern for transaction names which should not be sent to Sentry.
* By default, all transactions will be sent.
*
* Behavior of the `ignoreTransactions` option is controlled by the `Sentry.eventFiltersIntegration` integration.
* If the event filters integration is not installed, the `ignoreTransactions` option will not have any effect.
*
* @default []
*/
ignoreTransactions?: Array<string | RegExp>;

/**
* A URL to an envelope tunnel endpoint. An envelope tunnel is an HTTP endpoint
* that accepts Sentry envelopes for forwarding. This can be used to force data
* through a custom server independent of the type of data.
*
* @default undefined
*/
tunnel?: string;

Expand All@@ -163,7 +222,7 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* Note that this only applies to data that the SDK is sending by default
* but not data that was explicitly set (e.g. by calling `Sentry.setUser()`).
*
* Defaults to `false`.
* @default false
*
* NOTE: This option currently controls only a few data points in a selected
* set of SDKs. The goal for this option is to eventually control all sensitive
Expand All@@ -176,6 +235,8 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
/**
* Set of metadata about the SDK that can be internally used to enhance envelopes and events,
* and provide additional data about every request.
*
* @internal This option is not part of the public API and is subject to change at any time.
*/
_metadata?: SdkMetadata;

Expand All@@ -186,7 +247,9 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
// eslint-disable-next-line @typescript-eslint/no-explicit-any
[key: string]: any;
/**
* If logs support should be enabled. Defaults to false.
* If logs support should be enabled.
*
* @default false
*/
enableLogs?: boolean;
/**
Expand All@@ -196,6 +259,8 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* Note that you must return a valid log from this callback. If you do not wish to modify the log, simply return
* it at the end. Returning `null` will cause the log to be dropped.
*
* @default undefined
*
* @param log The log generated by the SDK.
* @returns A new log that will be sent | null.
*/
Expand All@@ -207,7 +272,10 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* This is the opposite of {@link Options.denyUrls}.
* By default, all errors will be sent.
*
* Requires the use of the `InboundFilters` integration.
* Behavior of the `allowUrls` option is controlled by the `Sentry.eventFiltersIntegration` integration.
* If the event filters integration is not installed, the `allowUrls` option will not have any effect.
*
* @default []
*/
allowUrls?: Array<string | RegExp>;

Expand All@@ -216,7 +284,10 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* To allow certain errors instead, use {@link Options.allowUrls}.
* By default, all errors will be sent.
*
* Requires the use of the `InboundFilters` integration.
* Behavior of the `denyUrls` option is controlled by the `Sentry.eventFiltersIntegration` integration.
* If the event filters integration is not installed, the `denyUrls` option will not have any effect.
*
* @default []
*/
denyUrls?: Array<string | RegExp>;

Expand DownExpand Up@@ -253,7 +324,7 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* Function to compute tracing sample rate dynamically and filter unwanted traces.
*
* Tracing is enabled if either this or `tracesSampleRate` is defined. If both are defined, `tracesSampleRate` is
* ignored.
* ignored. Set this and `tracesSampleRate` to `undefined` to disable tracing.
*
* Will automatically be passed a context object of default and optional custom data.
*
Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
123 changes: 97 additions & 26 deletions packages/core/src/types-hoist/options.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,45 +12,79 @@ import type { BaseTransportOptions, Transport } from './transport';

export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOptions> {
/**
* Enable debug functionality in the SDK itself
* Enable debug functionality in the SDK itself. If `debug` is set to `true` the SDK will attempt
* to print out useful debugging information about what the SDK is doing.
*
* @default false
*/
debug?: boolean;

/**
* Specifies whether this SDK should send events to Sentry.
* Defaults to true.
* Specifies whether this SDK should send events to Sentry. Setting this to `enabled: false`
* doesn't prevent all overhead from Sentry instrumentation. To disable Sentry completely,
* depending on environment, call `Sentry.init conditionally.
*
* @default true
*/
enabled?: boolean;

/** Attaches stacktraces to pure capture message / log integrations */
/**
* When enabled, stack traces are automatically attached to all events captured with `Sentry.captureMessage`.
*
* Grouping in Sentry is different for events with stack traces and without. As a result, you will get
* new groups as you enable or disable this flag for certain events.
*
* @default false
*/
attachStacktrace?: boolean;

/**
* Send SDK Client Reports. When calling `Sentry.init()`, this option defaults to `true`.
* Send SDK Client Reports, which are used to emit outcomes about events that the SDK dropped
* or failed to capture.
*
* @default true
*/
sendClientReports?: boolean;

/**
* The Dsn used to connect to Sentry and identify the project. If omitted, the
* SDK will not send any data to Sentry.
* The DSN tells the SDK where to send the events. If this is not set, the SDK will not send any events to Sentry.
*
* @default undefined
*/
dsn?: string;

/**
* The release identifier used when uploading respective source maps. Specify
* this value to allow Sentry to resolve the correct source maps when
* processing events.
* Sets the release. Release names are strings, but some formats are detected by Sentry and might be
* rendered differently. Learn more about how to send release data so Sentry can tell you about
* regressions between releases and identify the potential source in the
* [releases documentation](https://docs.sentry.io/product/releases/)
*
* @default undefined
*/
release?: string;

/** The current environment of your application (e.g. "production"). */
/**
* The current environment of your application (e.g. "production").
*
* Environments are case-sensitive. The environment name can't contain newlines, spaces or forward slashes,
* can't be the string "None", or exceed 64 characters. You can't delete environments, but you can hide them.
*
* @default "production"
*/
environment?: string;

/** Sets the distribution for all events */
/**
* Sets the distribution of the application. Distributions are used to disambiguate build or
* deployment variants of the same release of an application.
*
* @default undefined
*/
dist?: string;

/**
* List of integrations that should be installed after SDK was initialized.
*
* @default []
*/
integrations: Integration[];

Expand All@@ -61,8 +95,7 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
transport: (transportOptions: TO) => Transport;

/**
* A stack parser implementation
* By default, a stack parser is supplied for all supported platforms
* A stack parser implementation. By default, a stack parser is supplied for all supported platforms.
*/
stackParser: StackParser;

Expand All@@ -75,10 +108,12 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* Sample rate to determine trace sampling.
*
* 0.0 = 0% chance of a given trace being sent (send no traces) 1.0 = 100% chance of a given trace being sent (send
* all traces)
* all traces).
*
* Tracing is enabled if either this or `tracesSampler` is defined. If both are defined, `tracesSampleRate` is
* ignored.
* ignored. Set this and `tracesSampler` to `undefined` to disable tracing.
*
* @default undefined
*/
tracesSampleRate?: number;

Expand All@@ -97,24 +132,34 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp

/**
* Initial data to populate scope.
*
* @default undefined
*/
initialScope?: CaptureContext;

/**
* The maximum number of breadcrumbs sent with events. Defaults to 100.
* The maximum number of breadcrumbs sent with events.
* Sentry has a maximum payload size of 1MB and any events exceeding that payload size will be dropped.
*
* @default 100
*/
maxBreadcrumbs?: number;

/**
* A global sample rate to apply to all events.
* A global sample rate to apply to all error events.
*
* 0.0 = 0% chance of a given event being sent (send no events) 1.0 = 100% chance of a given event being sent (send
* all events)
*
* @default 1.0
*/
sampleRate?: number;

/** Maximum number of chars a single value can have before it will be truncated. */
/**
* Maximum number of chars a single value can have before it will be truncated.
*
* @default 250
*/
maxValueLength?: number;

/**
Expand All@@ -124,7 +169,8 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* - `user`
* - `contexts`
* - `extra`
* Defaults to `3`. Set to `0` to disable.
*
* @default 3
*/
normalizeDepth?: number;

Expand All@@ -135,26 +181,39 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* - `user`
* - `contexts`
* - `extra`
* Defaults to `1000`
*
* @default 1000
*/
normalizeMaxBreadth?: number;

/**
* A pattern for error messages which should not be sent to Sentry.
* By default, all errors will be sent.
*
* Behavior of the `ignoreErrors` option is controlled by the `Sentry.eventFiltersIntegration` integration. If the
* event filters integration is not installed, the `ignoreErrors` option will not have any effect.
*
* @default []
*/
ignoreErrors?: Array<string | RegExp>;

/**
* A pattern for transaction names which should not be sent to Sentry.
* By default, all transactions will be sent.
*
* Behavior of the `ignoreTransactions` option is controlled by the `Sentry.eventFiltersIntegration` integration.
* If the event filters integration is not installed, the `ignoreTransactions` option will not have any effect.
*
* @default []
*/
ignoreTransactions?: Array<string | RegExp>;

/**
* A URL to an envelope tunnel endpoint. An envelope tunnel is an HTTP endpoint
* that accepts Sentry envelopes for forwarding. This can be used to force data
* through a custom server independent of the type of data.
*
* @default undefined
*/
tunnel?: string;

Expand All@@ -163,7 +222,7 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* Note that this only applies to data that the SDK is sending by default
* but not data that was explicitly set (e.g. by calling `Sentry.setUser()`).
*
* Defaults to `false`.
* @default false
*
* NOTE: This option currently controls only a few data points in a selected
* set of SDKs. The goal for this option is to eventually control all sensitive
Expand All@@ -176,6 +235,8 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
/**
* Set of metadata about the SDK that can be internally used to enhance envelopes and events,
* and provide additional data about every request.
*
* @internal This option is not part of the public API and is subject to change at any time.
*/
_metadata?: SdkMetadata;

Expand All@@ -186,7 +247,9 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
// eslint-disable-next-line @typescript-eslint/no-explicit-any
[key: string]: any;
/**
* If logs support should be enabled. Defaults to false.
* If logs support should be enabled.
*
* @default false
*/
enableLogs?: boolean;
/**
Expand All@@ -196,6 +259,8 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* Note that you must return a valid log from this callback. If you do not wish to modify the log, simply return
* it at the end. Returning `null` will cause the log to be dropped.
*
* @default undefined
*
* @param log The log generated by the SDK.
* @returns A new log that will be sent | null.
*/
Expand All@@ -207,7 +272,10 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* This is the opposite of {@link Options.denyUrls}.
* By default, all errors will be sent.
*
* Requires the use of the `InboundFilters` integration.
* Behavior of the `allowUrls` option is controlled by the `Sentry.eventFiltersIntegration` integration.
* If the event filters integration is not installed, the `allowUrls` option will not have any effect.
*
* @default []
*/
allowUrls?: Array<string | RegExp>;

Expand All@@ -216,7 +284,10 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* To allow certain errors instead, use {@link Options.allowUrls}.
* By default, all errors will be sent.
*
* Requires the use of the `InboundFilters` integration.
* Behavior of the `denyUrls` option is controlled by the `Sentry.eventFiltersIntegration` integration.
* If the event filters integration is not installed, the `denyUrls` option will not have any effect.
*
* @default []
*/
denyUrls?: Array<string | RegExp>;

Expand DownExpand Up@@ -253,7 +324,7 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* Function to compute tracing sample rate dynamically and filter unwanted traces.
*
* Tracing is enabled if either this or `tracesSampleRate` is defined. If both are defined, `tracesSampleRate` is
* ignored.
* ignored. Set this and `tracesSampleRate` to `undefined` to disable tracing.
*
* Will automatically be passed a context object of default and optional custom data.
*
Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
123 changes: 97 additions & 26 deletions packages/core/src/types-hoist/options.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,45 +12,79 @@ import type { BaseTransportOptions, Transport } from './transport';

export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOptions> {
/**
* Enable debug functionality in the SDK itself
* Enable debug functionality in the SDK itself. If `debug` is set to `true` the SDK will attempt
* to print out useful debugging information about what the SDK is doing.
*
* @default false
*/
debug?: boolean;

/**
* Specifies whether this SDK should send events to Sentry.
* Defaults to true.
* Specifies whether this SDK should send events to Sentry. Setting this to `enabled: false`
* doesn't prevent all overhead from Sentry instrumentation. To disable Sentry completely,
* depending on environment, call `Sentry.init conditionally.
*
* @default true
*/
enabled?: boolean;

/** Attaches stacktraces to pure capture message / log integrations */
/**
* When enabled, stack traces are automatically attached to all events captured with `Sentry.captureMessage`.
*
* Grouping in Sentry is different for events with stack traces and without. As a result, you will get
* new groups as you enable or disable this flag for certain events.
*
* @default false
*/
attachStacktrace?: boolean;

/**
* Send SDK Client Reports. When calling `Sentry.init()`, this option defaults to `true`.
* Send SDK Client Reports, which are used to emit outcomes about events that the SDK dropped
* or failed to capture.
*
* @default true
*/
sendClientReports?: boolean;

/**
* The Dsn used to connect to Sentry and identify the project. If omitted, the
* SDK will not send any data to Sentry.
* The DSN tells the SDK where to send the events. If this is not set, the SDK will not send any events to Sentry.
*
* @default undefined
*/
dsn?: string;

/**
* The release identifier used when uploading respective source maps. Specify
* this value to allow Sentry to resolve the correct source maps when
* processing events.
* Sets the release. Release names are strings, but some formats are detected by Sentry and might be
* rendered differently. Learn more about how to send release data so Sentry can tell you about
* regressions between releases and identify the potential source in the
* [releases documentation](https://docs.sentry.io/product/releases/)
*
* @default undefined
*/
release?: string;

/** The current environment of your application (e.g. "production"). */
/**
* The current environment of your application (e.g. "production").
*
* Environments are case-sensitive. The environment name can't contain newlines, spaces or forward slashes,
* can't be the string "None", or exceed 64 characters. You can't delete environments, but you can hide them.
*
* @default "production"
*/
environment?: string;

/** Sets the distribution for all events */
/**
* Sets the distribution of the application. Distributions are used to disambiguate build or
* deployment variants of the same release of an application.
*
* @default undefined
*/
dist?: string;

/**
* List of integrations that should be installed after SDK was initialized.
*
* @default []
*/
integrations: Integration[];

Expand All@@ -61,8 +95,7 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
transport: (transportOptions: TO) => Transport;

/**
* A stack parser implementation
* By default, a stack parser is supplied for all supported platforms
* A stack parser implementation. By default, a stack parser is supplied for all supported platforms.
*/
stackParser: StackParser;

Expand All@@ -75,10 +108,12 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* Sample rate to determine trace sampling.
*
* 0.0 = 0% chance of a given trace being sent (send no traces) 1.0 = 100% chance of a given trace being sent (send
* all traces)
* all traces).
*
* Tracing is enabled if either this or `tracesSampler` is defined. If both are defined, `tracesSampleRate` is
* ignored.
* ignored. Set this and `tracesSampler` to `undefined` to disable tracing.
*
* @default undefined
*/
tracesSampleRate?: number;

Expand All@@ -97,24 +132,34 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp

/**
* Initial data to populate scope.
*
* @default undefined
*/
initialScope?: CaptureContext;

/**
* The maximum number of breadcrumbs sent with events. Defaults to 100.
* The maximum number of breadcrumbs sent with events.
* Sentry has a maximum payload size of 1MB and any events exceeding that payload size will be dropped.
*
* @default 100
*/
maxBreadcrumbs?: number;

/**
* A global sample rate to apply to all events.
* A global sample rate to apply to all error events.
*
* 0.0 = 0% chance of a given event being sent (send no events) 1.0 = 100% chance of a given event being sent (send
* all events)
*
* @default 1.0
*/
sampleRate?: number;

/** Maximum number of chars a single value can have before it will be truncated. */
/**
* Maximum number of chars a single value can have before it will be truncated.
*
* @default 250
*/
maxValueLength?: number;

/**
Expand All@@ -124,7 +169,8 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* - `user`
* - `contexts`
* - `extra`
* Defaults to `3`. Set to `0` to disable.
*
* @default 3
*/
normalizeDepth?: number;

Expand All@@ -135,26 +181,39 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* - `user`
* - `contexts`
* - `extra`
* Defaults to `1000`
*
* @default 1000
*/
normalizeMaxBreadth?: number;

/**
* A pattern for error messages which should not be sent to Sentry.
* By default, all errors will be sent.
*
* Behavior of the `ignoreErrors` option is controlled by the `Sentry.eventFiltersIntegration` integration. If the
* event filters integration is not installed, the `ignoreErrors` option will not have any effect.
*
* @default []
*/
ignoreErrors?: Array<string | RegExp>;

/**
* A pattern for transaction names which should not be sent to Sentry.
* By default, all transactions will be sent.
*
* Behavior of the `ignoreTransactions` option is controlled by the `Sentry.eventFiltersIntegration` integration.
* If the event filters integration is not installed, the `ignoreTransactions` option will not have any effect.
*
* @default []
*/
ignoreTransactions?: Array<string | RegExp>;

/**
* A URL to an envelope tunnel endpoint. An envelope tunnel is an HTTP endpoint
* that accepts Sentry envelopes for forwarding. This can be used to force data
* through a custom server independent of the type of data.
*
* @default undefined
*/
tunnel?: string;

Expand All@@ -163,7 +222,7 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* Note that this only applies to data that the SDK is sending by default
* but not data that was explicitly set (e.g. by calling `Sentry.setUser()`).
*
* Defaults to `false`.
* @default false
*
* NOTE: This option currently controls only a few data points in a selected
* set of SDKs. The goal for this option is to eventually control all sensitive
Expand All@@ -176,6 +235,8 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
/**
* Set of metadata about the SDK that can be internally used to enhance envelopes and events,
* and provide additional data about every request.
*
* @internal This option is not part of the public API and is subject to change at any time.
*/
_metadata?: SdkMetadata;

Expand All@@ -186,7 +247,9 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
// eslint-disable-next-line @typescript-eslint/no-explicit-any
[key: string]: any;
/**
* If logs support should be enabled. Defaults to false.
* If logs support should be enabled.
*
* @default false
*/
enableLogs?: boolean;
/**
Expand All@@ -196,6 +259,8 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* Note that you must return a valid log from this callback. If you do not wish to modify the log, simply return
* it at the end. Returning `null` will cause the log to be dropped.
*
* @default undefined
*
* @param log The log generated by the SDK.
* @returns A new log that will be sent | null.
*/
Expand All@@ -207,7 +272,10 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* This is the opposite of {@link Options.denyUrls}.
* By default, all errors will be sent.
*
* Requires the use of the `InboundFilters` integration.
* Behavior of the `allowUrls` option is controlled by the `Sentry.eventFiltersIntegration` integration.
* If the event filters integration is not installed, the `allowUrls` option will not have any effect.
*
* @default []
*/
allowUrls?: Array<string | RegExp>;

Expand All@@ -216,7 +284,10 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* To allow certain errors instead, use {@link Options.allowUrls}.
* By default, all errors will be sent.
*
* Requires the use of the `InboundFilters` integration.
* Behavior of the `denyUrls` option is controlled by the `Sentry.eventFiltersIntegration` integration.
* If the event filters integration is not installed, the `denyUrls` option will not have any effect.
*
* @default []
*/
denyUrls?: Array<string | RegExp>;

Expand DownExpand Up@@ -253,7 +324,7 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* Function to compute tracing sample rate dynamically and filter unwanted traces.
*
* Tracing is enabled if either this or `tracesSampleRate` is defined. If both are defined, `tracesSampleRate` is
* ignored.
* ignored. Set this and `tracesSampleRate` to `undefined` to disable tracing.
*
* Will automatically be passed a context object of default and optional custom data.
*
Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
123 changes: 97 additions & 26 deletions packages/core/src/types-hoist/options.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,45 +12,79 @@ import type { BaseTransportOptions, Transport } from './transport';

export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOptions> {
/**
* Enable debug functionality in the SDK itself
* Enable debug functionality in the SDK itself. If `debug` is set to `true` the SDK will attempt
* to print out useful debugging information about what the SDK is doing.
*
* @default false
*/
debug?: boolean;

/**
* Specifies whether this SDK should send events to Sentry.
* Defaults to true.
* Specifies whether this SDK should send events to Sentry. Setting this to `enabled: false`
* doesn't prevent all overhead from Sentry instrumentation. To disable Sentry completely,
* depending on environment, call `Sentry.init conditionally.
*
* @default true
*/
enabled?: boolean;

/** Attaches stacktraces to pure capture message / log integrations */
/**
* When enabled, stack traces are automatically attached to all events captured with `Sentry.captureMessage`.
*
* Grouping in Sentry is different for events with stack traces and without. As a result, you will get
* new groups as you enable or disable this flag for certain events.
*
* @default false
*/
attachStacktrace?: boolean;

/**
* Send SDK Client Reports. When calling `Sentry.init()`, this option defaults to `true`.
* Send SDK Client Reports, which are used to emit outcomes about events that the SDK dropped
* or failed to capture.
*
* @default true
*/
sendClientReports?: boolean;

/**
* The Dsn used to connect to Sentry and identify the project. If omitted, the
* SDK will not send any data to Sentry.
* The DSN tells the SDK where to send the events. If this is not set, the SDK will not send any events to Sentry.
*
* @default undefined
*/
dsn?: string;

/**
* The release identifier used when uploading respective source maps. Specify
* this value to allow Sentry to resolve the correct source maps when
* processing events.
* Sets the release. Release names are strings, but some formats are detected by Sentry and might be
* rendered differently. Learn more about how to send release data so Sentry can tell you about
* regressions between releases and identify the potential source in the
* [releases documentation](https://docs.sentry.io/product/releases/)
*
* @default undefined
*/
release?: string;

/** The current environment of your application (e.g. "production"). */
/**
* The current environment of your application (e.g. "production").
*
* Environments are case-sensitive. The environment name can't contain newlines, spaces or forward slashes,
* can't be the string "None", or exceed 64 characters. You can't delete environments, but you can hide them.
*
* @default "production"
*/
environment?: string;

/** Sets the distribution for all events */
/**
* Sets the distribution of the application. Distributions are used to disambiguate build or
* deployment variants of the same release of an application.
*
* @default undefined
*/
dist?: string;

/**
* List of integrations that should be installed after SDK was initialized.
*
* @default []
*/
integrations: Integration[];

Expand All@@ -61,8 +95,7 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
transport: (transportOptions: TO) => Transport;

/**
* A stack parser implementation
* By default, a stack parser is supplied for all supported platforms
* A stack parser implementation. By default, a stack parser is supplied for all supported platforms.
*/
stackParser: StackParser;

Expand All@@ -75,10 +108,12 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* Sample rate to determine trace sampling.
*
* 0.0 = 0% chance of a given trace being sent (send no traces) 1.0 = 100% chance of a given trace being sent (send
* all traces)
* all traces).
*
* Tracing is enabled if either this or `tracesSampler` is defined. If both are defined, `tracesSampleRate` is
* ignored.
* ignored. Set this and `tracesSampler` to `undefined` to disable tracing.
*
* @default undefined
*/
tracesSampleRate?: number;

Expand All@@ -97,24 +132,34 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp

/**
* Initial data to populate scope.
*
* @default undefined
*/
initialScope?: CaptureContext;

/**
* The maximum number of breadcrumbs sent with events. Defaults to 100.
* The maximum number of breadcrumbs sent with events.
* Sentry has a maximum payload size of 1MB and any events exceeding that payload size will be dropped.
*
* @default 100
*/
maxBreadcrumbs?: number;

/**
* A global sample rate to apply to all events.
* A global sample rate to apply to all error events.
*
* 0.0 = 0% chance of a given event being sent (send no events) 1.0 = 100% chance of a given event being sent (send
* all events)
*
* @default 1.0
*/
sampleRate?: number;

/** Maximum number of chars a single value can have before it will be truncated. */
/**
* Maximum number of chars a single value can have before it will be truncated.
*
* @default 250
*/
maxValueLength?: number;

/**
Expand All@@ -124,7 +169,8 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* - `user`
* - `contexts`
* - `extra`
* Defaults to `3`. Set to `0` to disable.
*
* @default 3
*/
normalizeDepth?: number;

Expand All@@ -135,26 +181,39 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* - `user`
* - `contexts`
* - `extra`
* Defaults to `1000`
*
* @default 1000
*/
normalizeMaxBreadth?: number;

/**
* A pattern for error messages which should not be sent to Sentry.
* By default, all errors will be sent.
*
* Behavior of the `ignoreErrors` option is controlled by the `Sentry.eventFiltersIntegration` integration. If the
* event filters integration is not installed, the `ignoreErrors` option will not have any effect.
*
* @default []
*/
ignoreErrors?: Array<string | RegExp>;

/**
* A pattern for transaction names which should not be sent to Sentry.
* By default, all transactions will be sent.
*
* Behavior of the `ignoreTransactions` option is controlled by the `Sentry.eventFiltersIntegration` integration.
* If the event filters integration is not installed, the `ignoreTransactions` option will not have any effect.
*
* @default []
*/
ignoreTransactions?: Array<string | RegExp>;

/**
* A URL to an envelope tunnel endpoint. An envelope tunnel is an HTTP endpoint
* that accepts Sentry envelopes for forwarding. This can be used to force data
* through a custom server independent of the type of data.
*
* @default undefined
*/
tunnel?: string;

Expand All@@ -163,7 +222,7 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* Note that this only applies to data that the SDK is sending by default
* but not data that was explicitly set (e.g. by calling `Sentry.setUser()`).
*
* Defaults to `false`.
* @default false
*
* NOTE: This option currently controls only a few data points in a selected
* set of SDKs. The goal for this option is to eventually control all sensitive
Expand All@@ -176,6 +235,8 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
/**
* Set of metadata about the SDK that can be internally used to enhance envelopes and events,
* and provide additional data about every request.
*
* @internal This option is not part of the public API and is subject to change at any time.
*/
_metadata?: SdkMetadata;

Expand All@@ -186,7 +247,9 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
// eslint-disable-next-line @typescript-eslint/no-explicit-any
[key: string]: any;
/**
* If logs support should be enabled. Defaults to false.
* If logs support should be enabled.
*
* @default false
*/
enableLogs?: boolean;
/**
Expand All@@ -196,6 +259,8 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* Note that you must return a valid log from this callback. If you do not wish to modify the log, simply return
* it at the end. Returning `null` will cause the log to be dropped.
*
* @default undefined
*
* @param log The log generated by the SDK.
* @returns A new log that will be sent | null.
*/
Expand All@@ -207,7 +272,10 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* This is the opposite of {@link Options.denyUrls}.
* By default, all errors will be sent.
*
* Requires the use of the `InboundFilters` integration.
* Behavior of the `allowUrls` option is controlled by the `Sentry.eventFiltersIntegration` integration.
* If the event filters integration is not installed, the `allowUrls` option will not have any effect.
*
* @default []
*/
allowUrls?: Array<string | RegExp>;

Expand All@@ -216,7 +284,10 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* To allow certain errors instead, use {@link Options.allowUrls}.
* By default, all errors will be sent.
*
* Requires the use of the `InboundFilters` integration.
* Behavior of the `denyUrls` option is controlled by the `Sentry.eventFiltersIntegration` integration.
* If the event filters integration is not installed, the `denyUrls` option will not have any effect.
*
* @default []
*/
denyUrls?: Array<string | RegExp>;

Expand DownExpand Up@@ -253,7 +324,7 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* Function to compute tracing sample rate dynamically and filter unwanted traces.
*
* Tracing is enabled if either this or `tracesSampleRate` is defined. If both are defined, `tracesSampleRate` is
* ignored.
* ignored. Set this and `tracesSampleRate` to `undefined` to disable tracing.
*
* Will automatically be passed a context object of default and optional custom data.
*
Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
123 changes: 97 additions & 26 deletions packages/core/src/types-hoist/options.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,45 +12,79 @@ import type { BaseTransportOptions, Transport } from './transport';

export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOptions> {
/**
* Enable debug functionality in the SDK itself
* Enable debug functionality in the SDK itself. If `debug` is set to `true` the SDK will attempt
* to print out useful debugging information about what the SDK is doing.
*
* @default false
*/
debug?: boolean;

/**
* Specifies whether this SDK should send events to Sentry.
* Defaults to true.
* Specifies whether this SDK should send events to Sentry. Setting this to `enabled: false`
* doesn't prevent all overhead from Sentry instrumentation. To disable Sentry completely,
* depending on environment, call `Sentry.init conditionally.
*
* @default true
*/
enabled?: boolean;

/** Attaches stacktraces to pure capture message / log integrations */
/**
* When enabled, stack traces are automatically attached to all events captured with `Sentry.captureMessage`.
*
* Grouping in Sentry is different for events with stack traces and without. As a result, you will get
* new groups as you enable or disable this flag for certain events.
*
* @default false
*/
attachStacktrace?: boolean;

/**
* Send SDK Client Reports. When calling `Sentry.init()`, this option defaults to `true`.
* Send SDK Client Reports, which are used to emit outcomes about events that the SDK dropped
* or failed to capture.
*
* @default true
*/
sendClientReports?: boolean;

/**
* The Dsn used to connect to Sentry and identify the project. If omitted, the
* SDK will not send any data to Sentry.
* The DSN tells the SDK where to send the events. If this is not set, the SDK will not send any events to Sentry.
*
* @default undefined
*/
dsn?: string;

/**
* The release identifier used when uploading respective source maps. Specify
* this value to allow Sentry to resolve the correct source maps when
* processing events.
* Sets the release. Release names are strings, but some formats are detected by Sentry and might be
* rendered differently. Learn more about how to send release data so Sentry can tell you about
* regressions between releases and identify the potential source in the
* [releases documentation](https://docs.sentry.io/product/releases/)
*
* @default undefined
*/
release?: string;

/** The current environment of your application (e.g. "production"). */
/**
* The current environment of your application (e.g. "production").
*
* Environments are case-sensitive. The environment name can't contain newlines, spaces or forward slashes,
* can't be the string "None", or exceed 64 characters. You can't delete environments, but you can hide them.
*
* @default "production"
*/
environment?: string;

/** Sets the distribution for all events */
/**
* Sets the distribution of the application. Distributions are used to disambiguate build or
* deployment variants of the same release of an application.
*
* @default undefined
*/
dist?: string;

/**
* List of integrations that should be installed after SDK was initialized.
*
* @default []
*/
integrations: Integration[];

Expand All@@ -61,8 +95,7 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
transport: (transportOptions: TO) => Transport;

/**
* A stack parser implementation
* By default, a stack parser is supplied for all supported platforms
* A stack parser implementation. By default, a stack parser is supplied for all supported platforms.
*/
stackParser: StackParser;

Expand All@@ -75,10 +108,12 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* Sample rate to determine trace sampling.
*
* 0.0 = 0% chance of a given trace being sent (send no traces) 1.0 = 100% chance of a given trace being sent (send
* all traces)
* all traces).
*
* Tracing is enabled if either this or `tracesSampler` is defined. If both are defined, `tracesSampleRate` is
* ignored.
* ignored. Set this and `tracesSampler` to `undefined` to disable tracing.
*
* @default undefined
*/
tracesSampleRate?: number;

Expand All@@ -97,24 +132,34 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp

/**
* Initial data to populate scope.
*
* @default undefined
*/
initialScope?: CaptureContext;

/**
* The maximum number of breadcrumbs sent with events. Defaults to 100.
* The maximum number of breadcrumbs sent with events.
* Sentry has a maximum payload size of 1MB and any events exceeding that payload size will be dropped.
*
* @default 100
*/
maxBreadcrumbs?: number;

/**
* A global sample rate to apply to all events.
* A global sample rate to apply to all error events.
*
* 0.0 = 0% chance of a given event being sent (send no events) 1.0 = 100% chance of a given event being sent (send
* all events)
*
* @default 1.0
*/
sampleRate?: number;

/** Maximum number of chars a single value can have before it will be truncated. */
/**
* Maximum number of chars a single value can have before it will be truncated.
*
* @default 250
*/
maxValueLength?: number;

/**
Expand All@@ -124,7 +169,8 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* - `user`
* - `contexts`
* - `extra`
* Defaults to `3`. Set to `0` to disable.
*
* @default 3
*/
normalizeDepth?: number;

Expand All@@ -135,26 +181,39 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* - `user`
* - `contexts`
* - `extra`
* Defaults to `1000`
*
* @default 1000
*/
normalizeMaxBreadth?: number;

/**
* A pattern for error messages which should not be sent to Sentry.
* By default, all errors will be sent.
*
* Behavior of the `ignoreErrors` option is controlled by the `Sentry.eventFiltersIntegration` integration. If the
* event filters integration is not installed, the `ignoreErrors` option will not have any effect.
*
* @default []
*/
ignoreErrors?: Array<string | RegExp>;

/**
* A pattern for transaction names which should not be sent to Sentry.
* By default, all transactions will be sent.
*
* Behavior of the `ignoreTransactions` option is controlled by the `Sentry.eventFiltersIntegration` integration.
* If the event filters integration is not installed, the `ignoreTransactions` option will not have any effect.
*
* @default []
*/
ignoreTransactions?: Array<string | RegExp>;

/**
* A URL to an envelope tunnel endpoint. An envelope tunnel is an HTTP endpoint
* that accepts Sentry envelopes for forwarding. This can be used to force data
* through a custom server independent of the type of data.
*
* @default undefined
*/
tunnel?: string;

Expand All@@ -163,7 +222,7 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* Note that this only applies to data that the SDK is sending by default
* but not data that was explicitly set (e.g. by calling `Sentry.setUser()`).
*
* Defaults to `false`.
* @default false
*
* NOTE: This option currently controls only a few data points in a selected
* set of SDKs. The goal for this option is to eventually control all sensitive
Expand All@@ -176,6 +235,8 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
/**
* Set of metadata about the SDK that can be internally used to enhance envelopes and events,
* and provide additional data about every request.
*
* @internal This option is not part of the public API and is subject to change at any time.
*/
_metadata?: SdkMetadata;

Expand All@@ -186,7 +247,9 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
// eslint-disable-next-line @typescript-eslint/no-explicit-any
[key: string]: any;
/**
* If logs support should be enabled. Defaults to false.
* If logs support should be enabled.
*
* @default false
*/
enableLogs?: boolean;
/**
Expand All@@ -196,6 +259,8 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* Note that you must return a valid log from this callback. If you do not wish to modify the log, simply return
* it at the end. Returning `null` will cause the log to be dropped.
*
* @default undefined
*
* @param log The log generated by the SDK.
* @returns A new log that will be sent | null.
*/
Expand All@@ -207,7 +272,10 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* This is the opposite of {@link Options.denyUrls}.
* By default, all errors will be sent.
*
* Requires the use of the `InboundFilters` integration.
* Behavior of the `allowUrls` option is controlled by the `Sentry.eventFiltersIntegration` integration.
* If the event filters integration is not installed, the `allowUrls` option will not have any effect.
*
* @default []
*/
allowUrls?: Array<string | RegExp>;

Expand All@@ -216,7 +284,10 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* To allow certain errors instead, use {@link Options.allowUrls}.
* By default, all errors will be sent.
*
* Requires the use of the `InboundFilters` integration.
* Behavior of the `denyUrls` option is controlled by the `Sentry.eventFiltersIntegration` integration.
* If the event filters integration is not installed, the `denyUrls` option will not have any effect.
*
* @default []
*/
denyUrls?: Array<string | RegExp>;

Expand DownExpand Up@@ -253,7 +324,7 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* Function to compute tracing sample rate dynamically and filter unwanted traces.
*
* Tracing is enabled if either this or `tracesSampleRate` is defined. If both are defined, `tracesSampleRate` is
* ignored.
* ignored. Set this and `tracesSampleRate` to `undefined` to disable tracing.
*
* Will automatically be passed a context object of default and optional custom data.
*
Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
123 changes: 97 additions & 26 deletions packages/core/src/types-hoist/options.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -12,45 +12,79 @@ import type { BaseTransportOptions, Transport } from './transport';

export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOptions> {
/**
* Enable debug functionality in the SDK itself
* Enable debug functionality in the SDK itself. If `debug` is set to `true` the SDK will attempt
* to print out useful debugging information about what the SDK is doing.
*
* @default false
*/
debug?: boolean;

/**
* Specifies whether this SDK should send events to Sentry.
* Defaults to true.
* Specifies whether this SDK should send events to Sentry. Setting this to `enabled: false`
* doesn't prevent all overhead from Sentry instrumentation. To disable Sentry completely,
* depending on environment, call `Sentry.init conditionally.
*
* @default true
*/
enabled?: boolean;

/** Attaches stacktraces to pure capture message / log integrations */
/**
* When enabled, stack traces are automatically attached to all events captured with `Sentry.captureMessage`.
*
* Grouping in Sentry is different for events with stack traces and without. As a result, you will get
* new groups as you enable or disable this flag for certain events.
*
* @default false
*/
attachStacktrace?: boolean;

/**
* Send SDK Client Reports. When calling `Sentry.init()`, this option defaults to `true`.
* Send SDK Client Reports, which are used to emit outcomes about events that the SDK dropped
* or failed to capture.
*
* @default true
*/
sendClientReports?: boolean;

/**
* The Dsn used to connect to Sentry and identify the project. If omitted, the
* SDK will not send any data to Sentry.
* The DSN tells the SDK where to send the events. If this is not set, the SDK will not send any events to Sentry.
*
* @default undefined
*/
dsn?: string;

/**
* The release identifier used when uploading respective source maps. Specify
* this value to allow Sentry to resolve the correct source maps when
* processing events.
* Sets the release. Release names are strings, but some formats are detected by Sentry and might be
* rendered differently. Learn more about how to send release data so Sentry can tell you about
* regressions between releases and identify the potential source in the
* [releases documentation](https://docs.sentry.io/product/releases/)
*
* @default undefined
*/
release?: string;

/** The current environment of your application (e.g. "production"). */
/**
* The current environment of your application (e.g. "production").
*
* Environments are case-sensitive. The environment name can't contain newlines, spaces or forward slashes,
* can't be the string "None", or exceed 64 characters. You can't delete environments, but you can hide them.
*
* @default "production"
*/
environment?: string;

/** Sets the distribution for all events */
/**
* Sets the distribution of the application. Distributions are used to disambiguate build or
* deployment variants of the same release of an application.
*
* @default undefined
*/
dist?: string;

/**
* List of integrations that should be installed after SDK was initialized.
*
* @default []
*/
integrations: Integration[];

Expand All@@ -61,8 +95,7 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
transport: (transportOptions: TO) => Transport;

/**
* A stack parser implementation
* By default, a stack parser is supplied for all supported platforms
* A stack parser implementation. By default, a stack parser is supplied for all supported platforms.
*/
stackParser: StackParser;

Expand All@@ -75,10 +108,12 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* Sample rate to determine trace sampling.
*
* 0.0 = 0% chance of a given trace being sent (send no traces) 1.0 = 100% chance of a given trace being sent (send
* all traces)
* all traces).
*
* Tracing is enabled if either this or `tracesSampler` is defined. If both are defined, `tracesSampleRate` is
* ignored.
* ignored. Set this and `tracesSampler` to `undefined` to disable tracing.
*
* @default undefined
*/
tracesSampleRate?: number;

Expand All@@ -97,24 +132,34 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp

/**
* Initial data to populate scope.
*
* @default undefined
*/
initialScope?: CaptureContext;

/**
* The maximum number of breadcrumbs sent with events. Defaults to 100.
* The maximum number of breadcrumbs sent with events.
* Sentry has a maximum payload size of 1MB and any events exceeding that payload size will be dropped.
*
* @default 100
*/
maxBreadcrumbs?: number;

/**
* A global sample rate to apply to all events.
* A global sample rate to apply to all error events.
*
* 0.0 = 0% chance of a given event being sent (send no events) 1.0 = 100% chance of a given event being sent (send
* all events)
*
* @default 1.0
*/
sampleRate?: number;

/** Maximum number of chars a single value can have before it will be truncated. */
/**
* Maximum number of chars a single value can have before it will be truncated.
*
* @default 250
*/
maxValueLength?: number;

/**
Expand All@@ -124,7 +169,8 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* - `user`
* - `contexts`
* - `extra`
* Defaults to `3`. Set to `0` to disable.
*
* @default 3
*/
normalizeDepth?: number;

Expand All@@ -135,26 +181,39 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* - `user`
* - `contexts`
* - `extra`
* Defaults to `1000`
*
* @default 1000
*/
normalizeMaxBreadth?: number;

/**
* A pattern for error messages which should not be sent to Sentry.
* By default, all errors will be sent.
*
* Behavior of the `ignoreErrors` option is controlled by the `Sentry.eventFiltersIntegration` integration. If the
* event filters integration is not installed, the `ignoreErrors` option will not have any effect.
*
* @default []
*/
ignoreErrors?: Array<string | RegExp>;

/**
* A pattern for transaction names which should not be sent to Sentry.
* By default, all transactions will be sent.
*
* Behavior of the `ignoreTransactions` option is controlled by the `Sentry.eventFiltersIntegration` integration.
* If the event filters integration is not installed, the `ignoreTransactions` option will not have any effect.
*
* @default []
*/
ignoreTransactions?: Array<string | RegExp>;

/**
* A URL to an envelope tunnel endpoint. An envelope tunnel is an HTTP endpoint
* that accepts Sentry envelopes for forwarding. This can be used to force data
* through a custom server independent of the type of data.
*
* @default undefined
*/
tunnel?: string;

Expand All@@ -163,7 +222,7 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* Note that this only applies to data that the SDK is sending by default
* but not data that was explicitly set (e.g. by calling `Sentry.setUser()`).
*
* Defaults to `false`.
* @default false
*
* NOTE: This option currently controls only a few data points in a selected
* set of SDKs. The goal for this option is to eventually control all sensitive
Expand All@@ -176,6 +235,8 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
/**
* Set of metadata about the SDK that can be internally used to enhance envelopes and events,
* and provide additional data about every request.
*
* @internal This option is not part of the public API and is subject to change at any time.
*/
_metadata?: SdkMetadata;

Expand All@@ -186,7 +247,9 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
// eslint-disable-next-line @typescript-eslint/no-explicit-any
[key: string]: any;
/**
* If logs support should be enabled. Defaults to false.
* If logs support should be enabled.
*
* @default false
*/
enableLogs?: boolean;
/**
Expand All@@ -196,6 +259,8 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* Note that you must return a valid log from this callback. If you do not wish to modify the log, simply return
* it at the end. Returning `null` will cause the log to be dropped.
*
* @default undefined
*
* @param log The log generated by the SDK.
* @returns A new log that will be sent | null.
*/
Expand All@@ -207,7 +272,10 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* This is the opposite of {@link Options.denyUrls}.
* By default, all errors will be sent.
*
* Requires the use of the `InboundFilters` integration.
* Behavior of the `allowUrls` option is controlled by the `Sentry.eventFiltersIntegration` integration.
* If the event filters integration is not installed, the `allowUrls` option will not have any effect.
*
* @default []
*/
allowUrls?: Array<string | RegExp>;

Expand All@@ -216,7 +284,10 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* To allow certain errors instead, use {@link Options.allowUrls}.
* By default, all errors will be sent.
*
* Requires the use of the `InboundFilters` integration.
* Behavior of the `denyUrls` option is controlled by the `Sentry.eventFiltersIntegration` integration.
* If the event filters integration is not installed, the `denyUrls` option will not have any effect.
*
* @default []
*/
denyUrls?: Array<string | RegExp>;

Expand DownExpand Up@@ -253,7 +324,7 @@ export interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOp
* Function to compute tracing sample rate dynamically and filter unwanted traces.
*
* Tracing is enabled if either this or `tracesSampleRate` is defined. If both are defined, `tracesSampleRate` is
* ignored.
* ignored. Set this and `tracesSampleRate` to `undefined` to disable tracing.
*
* Will automatically be passed a context object of default and optional custom data.
*
Expand Down