diff --git a/.github/workflows/codeowner_assignment.yaml b/.github/workflows/codeowner_assignment.yaml index 6749067d4c2de2..0ca85219963cf4 100644 --- a/.github/workflows/codeowner_assignment.yaml +++ b/.github/workflows/codeowner_assignment.yaml @@ -47,7 +47,7 @@ jobs: echo "----------------------------------------" # Get existing reviewers - # merge reqeusted teams and users into a single array + # merge requested teams and users into a single array REQUESTED_REVIEWERS=$(gh pr view $PR_NUMBER --json reviewRequests --jq '[.reviewRequests[] | if .__typename == "Team" then .slug else .login end]') echo "Requested reviewers:" echo "$REQUESTED_REVIEWERS" | tr ' ' '\n' | sed 's/^/- /' diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b6df57d1bd1f21..7127fec5074fce 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -31,7 +31,7 @@ docker-compose up -d If you already run a local postgres, it will create a `changelog` table. -The inital setup or the clean the database call: +The initial setup or the clean the database call: ``` yarn migrate:dev diff --git a/app/[[...path]]/page.tsx b/app/[[...path]]/page.tsx index 7c02fdca36d14d..1d21e608e1deb9 100644 --- a/app/[[...path]]/page.tsx +++ b/app/[[...path]]/page.tsx @@ -194,7 +194,7 @@ export async function generateMetadata(props: MetadataProps): Promise const domain = isDeveloperDocs ? 'https://develop.sentry.dev' : 'https://docs.sentry.io'; - // enable og iamge preview on preview deployments + // enable og image preview on preview deployments const previewDomain = process.env.VERCEL_URL ? `https://${process.env.VERCEL_URL}` : domain; diff --git a/apps/changelog/src/client/components/navbar.tsx b/apps/changelog/src/client/components/navbar.tsx index 2c0ede231bcbee..b3d6f9f4d0fd09 100644 --- a/apps/changelog/src/client/components/navbar.tsx +++ b/apps/changelog/src/client/components/navbar.tsx @@ -111,7 +111,7 @@ export function Navbar() {
diff --git a/develop-docs/application-architecture/multi-region-deployment/cross-region-rpc.mdx b/develop-docs/application-architecture/multi-region-deployment/cross-region-rpc.mdx index b2cb2a3e46de7e..e9562f987d5ffb 100644 --- a/develop-docs/application-architecture/multi-region-deployment/cross-region-rpc.mdx +++ b/develop-docs/application-architecture/multi-region-deployment/cross-region-rpc.mdx @@ -59,7 +59,7 @@ Service classes act as stubs that define the interface a service will have. In t - `local_mode` defines which silo mode this service uses it’s ‘local implementation’. Services can have local implementations in either silo mode. - `get_local_implementation` is used by the RPC machinery to find the implementation service when the silo mode matches or is `MONOLITH`. -RPC methods like `get_org_by_slug` must be defined as `abstractmethod` and must have either `rpc_method` or `regional_rpc_method` applied. If a method has `local_mode = REGION` it should use `regional_rpc_method` with a resolve ‘resolver’. There are several resolvers that accomodate a variety of method call signatures: +RPC methods like `get_org_by_slug` must be defined as `abstractmethod` and must have either `rpc_method` or `regional_rpc_method` applied. If a method has `local_mode = REGION` it should use `regional_rpc_method` with a resolve ‘resolver’. There are several resolvers that accommodate a variety of method call signatures: - `ByOrganizationSlug` will extract the `organization_slug` parameter and use it to locate the region using `sentry_organizationmapping`. - `ByOrganizationId` will extract the `organization_id` parameter and use it to locate the organization’s region using `sentry_organizationmapping` diff --git a/develop-docs/application-architecture/overview.mdx b/develop-docs/application-architecture/overview.mdx index f1859aa5e1247f..d67e96f66ebc72 100644 --- a/develop-docs/application-architecture/overview.mdx +++ b/develop-docs/application-architecture/overview.mdx @@ -41,7 +41,7 @@ This graph is extremely simplified mostly due to layout constraints. Missing fro * How Relay fetches project configs. Answer: from sentry-web * How Relay caches project configs. Answer: In memory, and in Redis * How Relay counts events and keeps track of quotas. Answer: more Redis -* Symbolicator as auxilliary service to symbolicate-event +* Symbolicator as auxiliary service to symbolicate-event * How alerting is triggered. Answer: postprocess-event, a Celery task which is responsible for alerting (spawned by a Kafka consumer in Sentry reading from eventstream) * Possibly more diff --git a/develop-docs/backend/api/design.mdx b/develop-docs/backend/api/design.mdx index a349ca5d477072..58d1f7193672ed 100644 --- a/develop-docs/backend/api/design.mdx +++ b/develop-docs/backend/api/design.mdx @@ -3,7 +3,7 @@ title: Design Principles sidebar_order: 2 --- -This document contains a set of design principles and requirements whish should be applied to all Sentry APIs. These are _requirements_ when designing public APIs (such as Sentry's Web API), but internal APIs (such as an an internal service that Sentry communicates with) should attempt to adhere to these principles as well where it makes sense. +This document contains a set of design principles and requirements which should be applied to all Sentry APIs. These are _requirements_ when designing public APIs (such as Sentry's Web API), but internal APIs (such as an an internal service that Sentry communicates with) should attempt to adhere to these principles as well where it makes sense. In the Sentry monolith, we use [Django REST framework](https://www.django-rest-framework.org/) (DRF). diff --git a/develop-docs/backend/api/serializers.mdx b/develop-docs/backend/api/serializers.mdx index e200064d84306a..9f7252cfa21d5d 100644 --- a/develop-docs/backend/api/serializers.mdx +++ b/develop-docs/backend/api/serializers.mdx @@ -163,7 +163,7 @@ class ModelSerializer(Serializer): **get_attrs Method** -Why do this when Django Rest Framework has similar functionality? The `get_attrs` method is the reason. It allows you to do a bulk query versus multiple queries. In our example, instead of calling `ExampleTypes.objects.get(...)` multiple items, I can filter for the ones I want and assign them to the item in question using python. In the case of `attr` dictionary, the `key` is the item iteself. and the `value` is a dictionary with the name of the attribute you want to add and it's values. +Why do this when Django Rest Framework has similar functionality? The `get_attrs` method is the reason. It allows you to do a bulk query versus multiple queries. In our example, instead of calling `ExampleTypes.objects.get(...)` multiple items, I can filter for the ones I want and assign them to the item in question using python. In the case of `attr` dictionary, the `key` is the item itself. and the `value` is a dictionary with the name of the attribute you want to add and it's values. ```python attrs[item] = {'attribute_name': attribute} diff --git a/develop-docs/backend/application-domains/feature-flags/flagpole.mdx b/develop-docs/backend/application-domains/feature-flags/flagpole.mdx index 1da9afd277bd5a..658b97ca9999e3 100644 --- a/develop-docs/backend/application-domains/feature-flags/flagpole.mdx +++ b/develop-docs/backend/application-domains/feature-flags/flagpole.mdx @@ -84,11 +84,11 @@ Flagpole currently supports the following `operator` types: `contains` -: Given a single int, string, float, or boolean value, evalutes to `True` if the context property value is a list containing the provided value. +: Given a single int, string, float, or boolean value, evaluates to `True` if the context property value is a list containing the provided value. `not_contains` -: The inverse of `contains`, evalutes to `True` if the context property value is a list which does not contain the provided value. +: The inverse of `contains`, evaluates to `True` if the context property value is a list which does not contain the provided value. `equals` @@ -114,7 +114,7 @@ Here are some common properties we surface via our Sentry and GetSentry context `sentry_region` [str] -: The sentry region or single-tenant the flag check is being perfomed in. +: The sentry region or single-tenant the flag check is being performed in. `sentry_singletenant` [bool] diff --git a/develop-docs/backend/application-domains/grouping.mdx b/develop-docs/backend/application-domains/grouping.mdx index c7024ee09af140..81cd7dfe672226 100644 --- a/develop-docs/backend/application-domains/grouping.mdx +++ b/develop-docs/backend/application-domains/grouping.mdx @@ -8,7 +8,7 @@ which can be customized [on the client](https://docs.sentry.io/platforms/python/ and on the server via [fingerprint rules](https://docs.sentry.io/product/data-management-settings/event-grouping/fingerprint-rules/) and [stack trace rules](https://docs.sentry.io/product/data-management-settings/event-grouping/stack-trace-rules/). -This documentation attemps to explain how the system currently functions and what limitations exist presently with it. +This documentation attempts to explain how the system currently functions and what limitations exist presently with it. # Basics @@ -192,8 +192,8 @@ The following general paths forward are current envisioned: The consequences of making too many groups today are alert spam and the inability to work with multiple issues at once. If Sentry were to no longer be alerting on all new groups and tools existed to work -across multiple groups more opportunies arise. In particular the grouping algorithm could continue to -just fingerprint the stack trace but a secondary process could come in peridically and sweep up related +across multiple groups more opportunities arise. In particular the grouping algorithm could continue to +just fingerprint the stack trace but a secondary process could come in periodically and sweep up related fingerprints into a larger group. If we take the `get_current_user` example the creation of 50 independent groups is not much of an issue if no alerts are fired. If after 5 minute the system detected that they are in fact all very related (eg: the bug is "in `get_current_user`") it could leave the 50 generated groups diff --git a/develop-docs/backend/application-domains/metrics.mdx b/develop-docs/backend/application-domains/metrics.mdx index 93bae8f8504bfa..c00b9013e08dfb 100644 --- a/develop-docs/backend/application-domains/metrics.mdx +++ b/develop-docs/backend/application-domains/metrics.mdx @@ -145,9 +145,9 @@ LOGGING['handlers']['console:metrics'] = { } ``` -## Composit Experimental Backend +## Composite Experimental Backend -The current implementation of the `MetricsBackend` is known as `CompositExperimentalMetricsBackend`. The `CompositeExperimentalMetricsBackend` reports all operations to both Datadog and Sentry. For this reason, you will be able to see your metrics on both platforms. +The current implementation of the `MetricsBackend` is known as `CompositeExperimentalMetricsBackend`. The `CompositeExperimentalMetricsBackend` reports all operations to both Datadog and Sentry. For this reason, you will be able to see your metrics on both platforms. ```python SENTRY_METRICS_BACKEND = "sentry.metrics.composite_experimental.CompositeExperimentalMetricsBackend" diff --git a/develop-docs/backend/application-domains/nodestore.mdx b/develop-docs/backend/application-domains/nodestore.mdx index 44e234432fafb1..d5f0f3c5028dff 100644 --- a/develop-docs/backend/application-domains/nodestore.mdx +++ b/develop-docs/backend/application-domains/nodestore.mdx @@ -26,4 +26,4 @@ If you have a favorite data storage solution, it only has to operate under a few - get key - delete key -For more information on implementating your own backend, take a look at `sentry.nodestore.base.NodeStorage`. +For more information on implementing your own backend, take a look at `sentry.nodestore.base.NodeStorage`. diff --git a/develop-docs/backend/application-domains/pii/selectors.mdx b/develop-docs/backend/application-domains/pii/selectors.mdx index 1fc1348b26b7dd..732605c506e0ca 100644 --- a/develop-docs/backend/application-domains/pii/selectors.mdx +++ b/develop-docs/backend/application-domains/pii/selectors.mdx @@ -102,7 +102,7 @@ Select known parts of the schema using the following: [Remove] [Anything] from [$frame.vars] ``` -### Escaping Specal Characters +### Escaping Special Characters If the object key you want to match contains whitespace or special characters, you can use quotes to escape it: diff --git a/develop-docs/development-infrastructure/analytics.mdx b/develop-docs/development-infrastructure/analytics.mdx index cdaa568afc650d..66c3d855c1f411 100644 --- a/develop-docs/development-infrastructure/analytics.mdx +++ b/develop-docs/development-infrastructure/analytics.mdx @@ -300,11 +300,11 @@ If your analytics aren't showing up after you added it, you can't find an event - Check Amplitude for blocked events: In Amplitude, go to the "Data" section in the sidebar. From there, navigate to "Events" and search for your event name. It will show up with status "Blocked" if blocked, which means events won't show up. Some events may be blocked in favor of automatic route or button analytics. - For route analytics, confirm that the analytic event isn't being blocked with `useDisableRouteAnalytics`. Some components already had an analytic event so the route analytics were disabled. - Check the types of the data you are sending. Arrays aren't recommended data types to send (they can be hard to query and produce some unexpected behavior). Try to remove those if you are using them. -- Remember there will always be some discrepency. Ad-blockers, for example, can block events from being sent. This could be a cause of why some numbers aren't adding up. +- Remember there will always be some discrepancy. Ad-blockers, for example, can block events from being sent. This could be a cause of why some numbers aren't adding up. ## Metrics -Track aggregrate stats with [Metrics](/backend/metrics/). For example, this can be used to track aggregate response codes for an endpoint. +Track aggregate stats with [Metrics](/backend/metrics/). For example, this can be used to track aggregate response codes for an endpoint. Import the metrics library and use the `metrics.inc` function. The key needs to be unique. diff --git a/develop-docs/development-infrastructure/environment/index.mdx b/develop-docs/development-infrastructure/environment/index.mdx index 898ebc562c1f9d..732fc27286f680 100644 --- a/develop-docs/development-infrastructure/environment/index.mdx +++ b/develop-docs/development-infrastructure/environment/index.mdx @@ -213,7 +213,7 @@ Then, either end the process or kill it if you need to. --- -**Problem:** You see `Error occured while trying to proxy to: dev.getsentry.net:8000/` +**Problem:** You see `Error occurred while trying to proxy to: dev.getsentry.net:8000/` **Solution:** You likely need to upgrade your Python dependencies. Go to the git root directory and run `make install-py-dev`. diff --git a/develop-docs/development-infrastructure/frontend-development-server.mdx b/develop-docs/development-infrastructure/frontend-development-server.mdx index ac42a2d5e7159b..009bf7a0d8d082 100644 --- a/develop-docs/development-infrastructure/frontend-development-server.mdx +++ b/develop-docs/development-infrastructure/frontend-development-server.mdx @@ -15,7 +15,7 @@ The development server can be viewed at [https://dev.getsentry.net:7999](https:/ In any case, you can now login to your development server with your Sentry.io credentials. The SSO-login flow will *NOT* work. Only email/password is supported on the login form in development. -While the SSO-login flow will not work, cookies from an existing logged-in sessions will work correctly. You may use our [Cookie Sync](https://github.com/getsentry/cookie-sync) browser extension to sync session cookies from `*.sentry.io` into `*.dev.getsentry.net`, and `*.sentry.dev` -- the latter being the Github Preview environment hosted on Vercel. +While the SSO-login flow will not work, cookies from an existing logged-in sessions will work correctly. You may use our [Cookie Sync](https://github.com/getsentry/cookie-sync) browser extension to sync session cookies from `*.sentry.io` into `*.dev.getsentry.net`, and `*.sentry.dev` -- the latter being the GitHub Preview environment hosted on Vercel. - [Get Cookie Sync for Chrome](https://chrome.google.com/webstore/detail/sentry-cookie-sync/kchlmkcdfohlmobgojmipoppgpedhijh) - [Get Cookie Sync for Firefox](https://addons.mozilla.org/en-US/firefox/addon/sentry-cookie-sync/) diff --git a/develop-docs/engineering-practices/documentation.mdx b/develop-docs/engineering-practices/documentation.mdx index 662a35a213c307..5e25f2e2adccc0 100644 --- a/develop-docs/engineering-practices/documentation.mdx +++ b/develop-docs/engineering-practices/documentation.mdx @@ -6,7 +6,7 @@ sidebar_order: 30 Because documentation is a big part of what makes Sentry work we’ve outlined some guidelines about how this documentation is structured and how to extend it. -This page primarily focuses on writing **developer-facing documentation**, although some concepts may also apply to user-facing documentation. We have separate [contribution guidelines](https://docs.sentry.io/contributing/) specifically for user-facing documenation. +This page primarily focuses on writing **developer-facing documentation**, although some concepts may also apply to user-facing documentation. We have separate [contribution guidelines](https://docs.sentry.io/contributing/) specifically for user-facing documentation. ## Repository diff --git a/develop-docs/frontend/component-library.mdx b/develop-docs/frontend/component-library.mdx index 15d972505c5684..7a24d7908e0a65 100644 --- a/develop-docs/frontend/component-library.mdx +++ b/develop-docs/frontend/component-library.mdx @@ -158,7 +158,7 @@ For button this is the "Default" case and it fits all on one line: story('Default', () => ); ``` -The next thing to do is follow it up with common and simple props, and all their possible values. Think about things that affects rendering for example sizes and colors, whether something is open or closed by default, things that don't need a lot of explination. One way to do this is by using the `` component, or just listing them out in their own stories one by one. +The next thing to do is follow it up with common and simple props, and all their possible values. Think about things that affects rendering for example sizes and colors, whether something is open or closed by default, things that don't need a lot of explanation. One way to do this is by using the `` component, or just listing them out in their own stories one by one. With the common and simple props out of the way, now is the time to get into more interesting props, like callbacks or complex example data & fixtures. One way to document a callbacks, like `onClick`, is to include `useState()` in your story, and implement a basic counter to demonstrate that the method is being executed; or if you have an `onChange` callback capture the callback args in state, and print that to the screen. diff --git a/develop-docs/frontend/using-hooks.mdx b/develop-docs/frontend/using-hooks.mdx index 6a0c60980971fa..fdcc1db2473f94 100644 --- a/develop-docs/frontend/using-hooks.mdx +++ b/develop-docs/frontend/using-hooks.mdx @@ -35,7 +35,7 @@ callback. ### Using context -The `useContext` hook provides a simpler implemtation option to share state and +The `useContext` hook provides a simpler implementation option to share state and behavior compared to our previous uses of Reflux. When you need to create new sources of shared state, consider using context and `useContext` instead of Reflux. Additionally the [wormhole state management diff --git a/develop-docs/frontend/using-rtl.mdx b/develop-docs/frontend/using-rtl.mdx index d1fb4bf0588c33..b906b29009b525 100644 --- a/develop-docs/frontend/using-rtl.mdx +++ b/develop-docs/frontend/using-rtl.mdx @@ -20,7 +20,7 @@ As a part of this goal, we avoid testing implementation details so refactors (ch We are generally in favor of Use Case Coverage over Code Coverage. ## Use our built-in contexts -By default, `render()` has some default contexts setup for you. The organization context is set to `OrganizationFixture()` and the router context has some default params like orgId and projectId. These can be overriden by passing a proptery to the 2nd argument of the `render()` function. +By default, `render()` has some default contexts setup for you. The organization context is set to `OrganizationFixture()` and the router context has some default params like orgId and projectId. These can be overridden by passing a proptery to the 2nd argument of the `render()` function. Example of overriding the default organization features and access: ```tsx @@ -34,7 +34,7 @@ render(, {organization}); ## Testing route changes -When using `render()`, an in-memory router is used, which will react to navigations with `useNavigate()` or interations with `Link` components. If your component relies on the URL, you can define the initial state in `initialRouterConfig`. You can access the current router state by referencing the returned `router` class, as well as navigate programmatically with `router.navigate()`. +When using `render()`, an in-memory router is used, which will react to navigations with `useNavigate()` or interactions with `Link` components. If your component relies on the URL, you can define the initial state in `initialRouterConfig`. You can access the current router state by referencing the returned `router` class, as well as navigate programmatically with `router.navigate()`. ```tsx const {router} = render(, { @@ -90,7 +90,7 @@ expect(screen.getByText('123')).toBeInTheDocument(); To ensure that the tests resemble how users interact with our code we recommend the following priority for querying: 1. `getByRole` - This should be the go-to selector for almost everything. As a nice bonus with this selector, we make sure that our app is accessible. It will most likely be used together with the name option `getByRole('button', {name: /save/i})`. The name is usually the label of a form element or the text content of a button, or the value of the aria-label attribute. If unsure, use the [logRoles](https://testing-library.com/docs/dom-testing-library/api-accessibility/#logroles) feature or consult the [list of available roles](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques#roles). -2. `getByLabelText`/`getByPlaceholderText` - Users find form elements using label text, therefore this option is prefered when testing forms. +2. `getByLabelText`/`getByPlaceholderText` - Users find form elements using label text, therefore this option is preferred when testing forms. 3. `getByText` - Outside of forms, text content is the main way users find elements. This method can be used to find non-interactive elements (like divs, spans, and paragraphs). 4. `getByTestId` - As this does not reflect how users interact with the app, it is only recommended for cases where you can't use any other selector diff --git a/develop-docs/frontend/working-on-getting-started-docs.mdx b/develop-docs/frontend/working-on-getting-started-docs.mdx index b27e44e06ecc04..edf313c8a7b7b4 100644 --- a/develop-docs/frontend/working-on-getting-started-docs.mdx +++ b/develop-docs/frontend/working-on-getting-started-docs.mdx @@ -23,7 +23,7 @@ The structure for the documentation is built on React and follows the following 1. Create a new folder with the name of the language under [gettingStartedDocs](https://github.com/getsentry/sentry/tree/master/static/app/gettingStartedDocs). 2. Inside the folder create an `index.tsx` file. 3. Copy the content from another file, such as [react.tsx](https://github.com/getsentry/sentry/blob/master/static/app/gettingStartedDocs/javascript/react.tsx), and adapt or update its content to match the requirements of the current platform. Ensure to give the function of the new file, an appropriate name. -4. Update the [MIGRATED_GETTING_STARTD_DOCS](https://github.com/getsentry/sentry/blob/c2d4d527dcf640b616c73921a1294834720c76bd/src/sentry/models/project.py#L54) list by adding the slug of the platform that is currently being added. This will avoid the backend error “Platform invalid” to be thrown. We can rethink this validation afterward. +4. Update the [MIGRATED_GETTING_STARTED_DOCS](https://github.com/getsentry/sentry/blob/c2d4d527dcf640b616c73921a1294834720c76bd/src/sentry/models/project.py#L54) list by adding the slug of the platform that is currently being added. This will avoid the backend error “Platform invalid” to be thrown. We can rethink this validation afterward. 5. Makes sure that the [platformicons](https://github.com/getsentry/platformicons) repository contains the icon for the language you are adding. 6. Update the list [platformIntegrations](https://github.com/getsentry/sentry/blob/0f1dab84775d0d4c7eebbd167dce5835e7a4ee8c/static/app/data/platforms.tsx#L64) with a new entry for your language. This entry is responsible for displaying the language icon in the “Select the platform you want to monitor/Choose your platform” list 7. To ensure proper functionality, create `index.spec.tsx` file with unit tests for the new platform. You can refer to one of the existing tests, for example, [react.spec.tsx](https://github.com/getsentry/sentry/blob/master/static/app/gettingStartedDocs/javascript/react.spec.tsx), copy its content, and modify it accordingly to suit the newly migrated platform. @@ -34,7 +34,7 @@ The structure for the documentation is built on React and follows the following 1. Locate the framework's language folder within [gettingStartedDocs](https://github.com/getsentry/sentry/tree/master/static/app/gettingStartedDocs). 2. Within the folder, create a file named after the framework's slug, and use the `.tsx` extension 3. Copy the content from another file, such as [react.tsx](https://github.com/getsentry/sentry/blob/master/static/app/gettingStartedDocs/javascript/react.tsx), and adapt or update its content to match the requirements of the current platform. Ensure to give the function of the new file, an appropriate name. -4. Update the [MIGRATED_GETTING_STARTD_DOCS](https://github.com/getsentry/sentry/blob/c2d4d527dcf640b616c73921a1294834720c76bd/src/sentry/models/project.py#L54) list by adding the slug of the platform that is currently being added. This will avoid the backend error “Platform invalid” to be thrown. We can rethink this validation afterward. +4. Update the [MIGRATED_GETTING_STARTED_DOCS](https://github.com/getsentry/sentry/blob/c2d4d527dcf640b616c73921a1294834720c76bd/src/sentry/models/project.py#L54) list by adding the slug of the platform that is currently being added. This will avoid the backend error “Platform invalid” to be thrown. We can rethink this validation afterward. 5. Makes sure that the [platformicons](https://github.com/getsentry/platformicons) repository contains the icon for the framework you are adding. 6. Update the list [platformIntegrations](https://github.com/getsentry/sentry/blob/0f1dab84775d0d4c7eebbd167dce5835e7a4ee8c/static/app/data/platforms.tsx#L64) with a new entry for your framework. This entry is responsible for displaying the framework icon in the “Select your platform” list. 7. To ensure proper functionality, create a test file named after the framework's slug, and use the `.spec.tsx` extension. This file shall contain unit tests for the newly created documentation. You can refer to one of the existing tests, for example, [react.spec.tsx](https://github.com/getsentry/sentry/blob/master/static/app/gettingStartedDocs/javascript/react.spec.tsx), copy its content, and modify it accordingly to suit the newly migrated platform. diff --git a/develop-docs/ingestion/relay/creating-a-datacategory.mdx b/develop-docs/ingestion/relay/creating-a-datacategory.mdx index 7bc78950c81d7a..319a86aa6cbd1d 100644 --- a/develop-docs/ingestion/relay/creating-a-datacategory.mdx +++ b/develop-docs/ingestion/relay/creating-a-datacategory.mdx @@ -36,7 +36,7 @@ New data categories are always released as a new patch version, for example if t would trigger the workflow with version `0.7.13`. -Double and tripple check the version before triggering the workflow. +Double and triple check the version before triggering the workflow. diff --git a/develop-docs/ingestion/symbolicator/index.mdx b/develop-docs/ingestion/symbolicator/index.mdx index 9e60e43efea0b2..26d5e313c204d5 100644 --- a/develop-docs/ingestion/symbolicator/index.mdx +++ b/develop-docs/ingestion/symbolicator/index.mdx @@ -38,7 +38,7 @@ These endpoints all differ in the schema of requests that they expect. In all ca Using the request ID, it is possible to check the status of the request using the `/requests` endpoint. Possible return values for the response are (in JSON) - `{ "status": "pending", "request_id": , "retry_after": 30}` if the request is running -- `{ “status": "completed", }` if symbolication was succesful +- `{ “status": "completed", }` if symbolication was successful - `{ "status": "failed", "message": }` if symbolication failed - `{ "status": "timeout" }` if symbolication timed out (after 15min) - `{ "status": "internal_error" }` if the sender was dropped, i.e. something went very badly wrong diff --git a/develop-docs/integrations/jira/index.mdx b/develop-docs/integrations/jira/index.mdx index 028f039a925806..56789b88cfaeca 100644 --- a/develop-docs/integrations/jira/index.mdx +++ b/develop-docs/integrations/jira/index.mdx @@ -9,7 +9,7 @@ sidebar_title: Jira ### Permissions for Certain Features -To enable issue-sync between Jira and a locally hosted Sentry Jira integration, you must set your email address permission to "Anyone". This setting can be found in the [Profile and visiblity](https://id.atlassian.com/manage-profile/profile-and-visibility) page under "Contact". +To enable issue-sync between Jira and a locally hosted Sentry Jira integration, you must set your email address permission to "Anyone". This setting can be found in the [Profile and visibility](https://id.atlassian.com/manage-profile/profile-and-visibility) page under "Contact". ## Set Up ngrok diff --git a/develop-docs/sdk/data-model/envelopes.mdx b/develop-docs/sdk/data-model/envelopes.mdx index 1a7953ec29c100..b35e758f723e2e 100644 --- a/develop-docs/sdk/data-model/envelopes.mdx +++ b/develop-docs/sdk/data-model/envelopes.mdx @@ -139,7 +139,7 @@ Envelopes can have a number of headers which are valid in all situations: It is recommend to *always* send the `sent_at` envelope header. Do not try to determine whether it should be sent or not, as that determination can be made on the receiving side. -The timestamp should be generated as close as possible to the transmision of the event, +The timestamp should be generated as close as possible to the transmission of the event, so that the delay between sending the envelope and receiving it on the server-side is minimized. This is usually accomplished in serialization of the envelope header. diff --git a/develop-docs/sdk/data-model/event-payloads/index.mdx b/develop-docs/sdk/data-model/event-payloads/index.mdx index 298055b369327b..99813114f12eb8 100644 --- a/develop-docs/sdk/data-model/event-payloads/index.mdx +++ b/develop-docs/sdk/data-model/event-payloads/index.mdx @@ -304,7 +304,7 @@ Fingerprints](https://docs.sentry.io/data-management/event-grouping/). ## Size Limits Event ingestion imposes limits on the size of events. -See [Envelope Size Limits](/sdk/data-model/envelopes/#size-limits) for futher details. +See [Envelope Size Limits](/sdk/data-model/envelopes/#size-limits) for further details. ## Core Interfaces diff --git a/develop-docs/sdk/data-model/event-payloads/sdk.mdx b/develop-docs/sdk/data-model/event-payloads/sdk.mdx index c9b1de4333f745..2a9f4c6d82a04c 100644 --- a/develop-docs/sdk/data-model/event-payloads/sdk.mdx +++ b/develop-docs/sdk/data-model/event-payloads/sdk.mdx @@ -72,7 +72,7 @@ reference (branch, tag or SHA). `settings` : _Optional_. A collection of settings that are used to control behaviour. -- `infer_ip`: Controls the behaviour of IP address inferrence based on request information. Following values are allowed: +- `infer_ip`: Controls the behaviour of IP address inference based on request information. Following values are allowed: - `auto`: infer the IP address based on available request information. This is equal to [setting the IP address to `{{auto}}`](https://develop.sentry.dev/sdk/data-model/event-payloads/user/#automatic-ip-addresses). - `never`: Do not infer the IP address from the request. This is the default if an invalid value for `infer_ip` was sent. - `legacy`: Infer the IP address only if the value is `{{auto}}`. For Javascript and Cocoa it will also infer if `ip_address` is empty. This is the default if no value was sent. diff --git a/develop-docs/sdk/expected-features/data-handling.mdx b/develop-docs/sdk/expected-features/data-handling.mdx index c55f976a61b6f5..049f42313c292b 100644 --- a/develop-docs/sdk/expected-features/data-handling.mdx +++ b/develop-docs/sdk/expected-features/data-handling.mdx @@ -73,7 +73,7 @@ This helps Relay to know what kind of data it receives and this helps with scrub span.set_data("http.query", query) ``` - Additionally all semantic conventions of OpenTelementry for http spans should be set in the `span.data` if applicable: + Additionally all semantic conventions of OpenTelemetry for http spans should be set in the `span.data` if applicable: https://opentelemetry.io/docs/reference/specification/trace/semantic_conventions/http/ - `db` spans containing database queries: (sql, graphql, elasticsearch, mongodb, ...) @@ -81,7 +81,7 @@ This helps Relay to know what kind of data it receives and this helps with scrub The description of spans with `op` set to `db` must not include any query parameters. Instead, use placeholders like `SELECT FROM 'users' WHERE id = ?` -Additionally all semantic conventions of OpenTelementry for database spans should be set in the `span.data` if applicable: +Additionally all semantic conventions of OpenTelemetry for database spans should be set in the `span.data` if applicable: https://opentelemetry.io/docs/reference/specification/trace/semantic_conventions/database/ ### Breadcrumbs @@ -102,7 +102,7 @@ Sentry.addBreadcrumb({ }); ``` -Additionally all semantic conventions of OpenTelementry for database spans should be set in the `data` if applicable: +Additionally all semantic conventions of OpenTelemetry for database spans should be set in the `data` if applicable: https://opentelemetry.io/docs/reference/specification/trace/semantic_conventions/database/ ## Variable Size diff --git a/develop-docs/sdk/expected-features/index.mdx b/develop-docs/sdk/expected-features/index.mdx index be73d1ef32552a..1b37212a752f3e 100644 --- a/develop-docs/sdk/expected-features/index.mdx +++ b/develop-docs/sdk/expected-features/index.mdx @@ -58,7 +58,7 @@ if random() < sample_rate: transport.capture_event(event) ``` -To further simplfiy ignoring certain events from being sent to sentry, it is also suggested to provide `ignoreTransactions` and `ignoreErrors` (or exception, choose terminology which is best for the platform). The array for `ignoreTransactions` specifically should contain an array of transaction names, as is stored in the transcation event schema (ie `GET /info`). These options should provide a simple way to allow users to discard events (ignore) from before they are sent to sentry. Prevents sending data which is is undesired and may consume quota or resources on the Sentry server. +To further simplfiy ignoring certain events from being sent to sentry, it is also suggested to provide `ignoreTransactions` and `ignoreErrors` (or exception, choose terminology which is best for the platform). The array for `ignoreTransactions` specifically should contain an array of transaction names, as is stored in the transaction event schema (ie `GET /info`). These options should provide a simple way to allow users to discard events (ignore) from before they are sent to sentry. Prevents sending data which is is undesired and may consume quota or resources on the Sentry server. ```python ignore_transactions = ['GET /api/health','/api/v1/*'] @@ -481,7 +481,7 @@ Spring GraphQL has its own [observation package](https://github.com/spring-proje GraphQL Java has its own [instrumentation package](https://github.com/graphql-java/graphql-java/tree/master/src/main/java/graphql/execution/instrumentation). -Apollo GraphQL has its own [tracing extensions](https://github.com/apollographql/apollo-tracing#response-format), in this case it'd even be possible to create synthethic transactions and spans out of the tracing extension. +Apollo GraphQL has its own [tracing extensions](https://github.com/apollographql/apollo-tracing#response-format), in this case it'd even be possible to create synthetic transactions and spans out of the tracing extension. Changes in the product may be necessary, e.g. if `request.api_target` is set to `graphql`, the `request.data` and `contexts.response.data` should do syntax highlighting. diff --git a/develop-docs/sdk/expected-features/setup-wizards/index.mdx b/develop-docs/sdk/expected-features/setup-wizards/index.mdx index 7025355d772cbc..ae7ff845d0c977 100644 --- a/develop-docs/sdk/expected-features/setup-wizards/index.mdx +++ b/develop-docs/sdk/expected-features/setup-wizards/index.mdx @@ -130,7 +130,7 @@ The implementation of such an example depends on the framework and is optional. ## Building Blocks and Helper Functions When creating a new wizard, it's recommended to reuse existing building blocks and helper functions from our newer wizards. -Many of the common challenges have already been solved and extracted to reusable funcitons. +Many of the common challenges have already been solved and extracted to reusable functions. For example, you can take the [NextJS](https://github.com/getsentry/sentry-wizard/tree/master/src/nextjs) wizard as a reference. If you come across logic that's not yet reusable but might be applicable in other wizards, feel free to extract it. diff --git a/develop-docs/sdk/miscellaneous/hub_and_scope_refactoring.mdx b/develop-docs/sdk/miscellaneous/hub_and_scope_refactoring.mdx index 0508b8bab3dc6c..f154169eeb8f3e 100644 --- a/develop-docs/sdk/miscellaneous/hub_and_scope_refactoring.mdx +++ b/develop-docs/sdk/miscellaneous/hub_and_scope_refactoring.mdx @@ -31,7 +31,7 @@ Hubs and scopes is a complicated system, that can easily be misused (also see [h ## B) What Is the Outcome of the Refactoring? -1. The SDKs model of Scope forking is aligned with the one from OTel. Paving the way for making it possble to use OTel tooling for performance monitoring and still see their data in Sentry. (And Sentry error events are still connected to the spans captured by OTel). +1. The SDKs model of Scope forking is aligned with the one from OTel. Paving the way for making it possible to use OTel tooling for performance monitoring and still see their data in Sentry. (And Sentry error events are still connected to the spans captured by OTel). 2. The new Scopes API is implemented in the API and can be used. 3. The old `Hub` based API still works as expected for backwards compatibility. After a transition phase the `Hub` will be removed in a major update of the SDK. @@ -218,7 +218,7 @@ Here's how the new APIs roughly map to the old-style APIs. In case of `configure - If insertion order matters for data we now need some way of sorting when merging data, e.g. to send out an event. For breadcrumbs, we want to send them in insertion order which means we somehow have to keep track of when a breadcrumb was added. When merging data we then sort them and afterwards apply the breadcrumb limit again. A similar problem exists for event processors on scope as well which should also be executed in insertion order. - It feels like there should be some easy to use API for forking isolation scope, starting/continuing a trace (and transaction) from incoming headers/metadata which currently doesn't exist. - We decided to not deprecate/remove configureScope for Java SDK as it makes it harder for customers to hold a reference to a scope (which they shouldn't). It now has an overload that allows passing in a scope type (global, isolation, current, combined). We have a default scope we write to for the old overload. We do not want to default to combined/merged scope since that would mean you can manipulate a scope you wouldn't expect, e.g. when using `withScope`. -- For Java SDK we also keep `pushScope` around and added `pushIsolationScope`. We deprecated `popScope` as users should now call `close` on a lifecycle token we hand back in the push methods. The token can also be used as an automaitcally closed resource in a `try` block. +- For Java SDK we also keep `pushScope` around and added `pushIsolationScope`. We deprecated `popScope` as users should now call `close` on a lifecycle token we hand back in the push methods. The token can also be used as an automatically closed resource in a `try` block. --- @@ -297,7 +297,7 @@ We can use `Propagator.extract` to fork isolation scope. We try to read the `Sco #### Tracing Without Performance Untested: -In `Propagator.extract` we can create `PropagationContext` from incoming headers (or similar metadata) or fall back to creating a new `PropagationContext` with random IDs. We then store this `PropagationContet` on the isolation scope. In `Propagator.inject` and when sending events to Sentry, we can use that `PropagationContext` from isolation scope and generate headers (or similar). +In `Propagator.extract` we can create `PropagationContext` from incoming headers (or similar metadata) or fall back to creating a new `PropagationContext` with random IDs. We then store this `PropagationContext` on the isolation scope. In `Propagator.inject` and when sending events to Sentry, we can use that `PropagationContext` from isolation scope and generate headers (or similar). - tbd: how does freezing DSC/baggage work? Can we simply freeze whenever the first request (or similar) goes out? - tbd: should Sentry.continueTrace write to isolation scope? Would it then also need to always fork an isolation scope at the same time? Should it create a new span (in case performance is enabled)? diff --git a/develop-docs/sdk/miscellaneous/unified-api/index.mdx b/develop-docs/sdk/miscellaneous/unified-api/index.mdx index d370215a465190..d196eb5ca43c60 100644 --- a/develop-docs/sdk/miscellaneous/unified-api/index.mdx +++ b/develop-docs/sdk/miscellaneous/unified-api/index.mdx @@ -4,7 +4,7 @@ sidebar_order: 1 --- -The unified API is deprecated. It served us well over the years, but we are in the process of simplifying the API by removing the Hub and also move some of our instrumentation to OpenTelementry. +The unified API is deprecated. It served us well over the years, but we are in the process of simplifying the API by removing the Hub and also move some of our instrumentation to OpenTelemetry. diff --git a/develop-docs/sdk/processes/basics.mdx b/develop-docs/sdk/processes/basics.mdx index fdb3ceb38242a0..11a94af4aeea54 100644 --- a/develop-docs/sdk/processes/basics.mdx +++ b/develop-docs/sdk/processes/basics.mdx @@ -29,7 +29,7 @@ relay run ``` When sending events just substitute `orgXXX.ingest.sentry.io` with `localhost:3000` or -whichever port you ended up chosing. Also note that a local relay will out of the box +whichever port you ended up choosing. Also note that a local relay will out of the box be available via HTTP only so don't try to send HTTPS requests there. ## Consult Existing SDKs diff --git a/develop-docs/sdk/research/performance/index.mdx b/develop-docs/sdk/research/performance/index.mdx index d3b48fd26c0bc8..d2311d9b9bc824 100644 --- a/develop-docs/sdk/research/performance/index.mdx +++ b/develop-docs/sdk/research/performance/index.mdx @@ -46,7 +46,7 @@ A similar situation appears on Mobile SDKs. There is a user expectation that con In both cases, everything was relatively fine when the SDK had to deal with reporting errors. With the added responsibility to track transactions and spans, the `scope` became a poor fit to store the current `span`, because it limits the existence of concurrent spans. -For Browser JavaScript, a possible solution is the use of [Zone.js](https://github.com/angular/angular/blob/master/packages/zone.js/README.md), part of the Angular framework. The main challenge is that it increases bundle size and may inadvertendly impact end user apps as it monkey-patches key parts of the JavaScript runtime engine. +For Browser JavaScript, a possible solution is the use of [Zone.js](https://github.com/angular/angular/blob/master/packages/zone.js/README.md), part of the Angular framework. The main challenge is that it increases bundle size and may inadvertently impact end user apps as it monkey-patches key parts of the JavaScript runtime engine. The scope propagation problem became especially apparent when we tried to create a simpler API for manual instrumentation. The idea was to expose a `Sentry.trace` function that would implicitly propagate tracing and scope data, and support deep nesting with sync and async code. @@ -238,7 +238,7 @@ The issues that follow in the next few sections have been identified in the curr In OpenTelemetry's model, all [spans follow the same logical format](https://github.com/open-telemetry/opentelemetry-proto/blob/ebef7c999f4dea62b5b033e92a221411c49c0966/opentelemetry/proto/trace/v1/trace.proto#L56-L235). Users and instrumentation libraries can provide more meaning to any span by attaching key-value attributes to it. The wire protocol uses lists of spans to send data from one system to another. -Sentry's model, unlike OpenTelemetry's, makes a hard distinction between two types of span: transaction spans (often refered to as "transactions") and regular spans. +Sentry's model, unlike OpenTelemetry's, makes a hard distinction between two types of span: transaction spans (often referred to as "transactions") and regular spans. In memory, transaction spans and regular spans have one distinction: transaction spans have one extra attribute, the transaction `name`. diff --git a/develop-docs/sdk/telemetry/logs.mdx b/develop-docs/sdk/telemetry/logs.mdx index 3fd356b3ea259c..9d4399e405a06d 100644 --- a/develop-docs/sdk/telemetry/logs.mdx +++ b/develop-docs/sdk/telemetry/logs.mdx @@ -383,7 +383,7 @@ A new data category for logs has been added to Relay, `log_item`. Both the `log` ### Buffering -Logs should be buffered before being sent. SDKs should keep a buffer of logs on the client (so you can have logs from multiple traces in the buffer) that flushes out based on some kind of condition. We recommend to use follow the [batch processor specification outlined](/sdk/telemetry/spans/batch-processor/) in the develop docs, but you should choose the approach that works best for your platform. When starting intial development on the SDK you can choose a simple approach to buffer like flushing logs if the buffer length exceeds 100 items, or if 5 seconds have passed. +Logs should be buffered before being sent. SDKs should keep a buffer of logs on the client (so you can have logs from multiple traces in the buffer) that flushes out based on some kind of condition. We recommend to use follow the [batch processor specification outlined](/sdk/telemetry/spans/batch-processor/) in the develop docs, but you should choose the approach that works best for your platform. When starting initial development on the SDK you can choose a simple approach to buffer like flushing logs if the buffer length exceeds 100 items, or if 5 seconds have passed. SDKS should NOT release logging capabilities to users if a buffering implementation has not been added to their SDK when adding logging APIs. diff --git a/develop-docs/sdk/telemetry/sessions/index.mdx b/develop-docs/sdk/telemetry/sessions/index.mdx index eae0fe3cd68ae3..c9415edb163531 100644 --- a/develop-docs/sdk/telemetry/sessions/index.mdx +++ b/develop-docs/sdk/telemetry/sessions/index.mdx @@ -474,7 +474,7 @@ Single session is the general case, and is a good fit for (relatively short-live - user interacting with a mobile app - user loading a web site with their favorite browser -Session aggregates are used when sending individual sessions would be undesirable or unpractical. To constrain resource usage (namely memory and network), SDKs keep track of summary information about a batch of sessions that occured in the recent past, never actually having to deal with session objects representing the individual sessions that make up the aggregate. This mode is the choice for applications that run for an arbitrarily long time and handle larger throughputs for potentially multiple users, such as web servers, background job workers, etc. Note that for those types of application, a better definition of session matches the execution of a single HTTP request or task, instead of a single execution of the whole application process. +Session aggregates are used when sending individual sessions would be undesirable or unpractical. To constrain resource usage (namely memory and network), SDKs keep track of summary information about a batch of sessions that occurred in the recent past, never actually having to deal with session objects representing the individual sessions that make up the aggregate. This mode is the choice for applications that run for an arbitrarily long time and handle larger throughputs for potentially multiple users, such as web servers, background job workers, etc. Note that for those types of application, a better definition of session matches the execution of a single HTTP request or task, instead of a single execution of the whole application process. In either case, SDKs should create and report sessions by default, choosing to report them individually or as aggregates depending on the type of application. @@ -502,7 +502,7 @@ The program terminates with an unhandled promise rejection. Care must be taken to never attempt to send new session payloads to Sentry for a session that is already ended. For example, if the user manually ends the session with Hub.endSession(), there should not be any new updates to the session when the program terminates. -#### Session Atrributes and Mutability +#### Session Attributes and Mutability #### Sending Session to Sentry diff --git a/develop-docs/sdk/telemetry/traces/index.mdx b/develop-docs/sdk/telemetry/traces/index.mdx index b0485df1f1a6d4..a05f21f9144a62 100644 --- a/develop-docs/sdk/telemetry/traces/index.mdx +++ b/develop-docs/sdk/telemetry/traces/index.mdx @@ -194,7 +194,7 @@ There are multiple ways a transaction can end up with a sampling decision: If more than one option could apply, the following rules determine which takes precedence: -1. If a sampling decision is passed to `startTransaction` (`startTransaction({name: "my transaction", sampled: true})`), that decision will be used, regardlesss of anything else +1. If a sampling decision is passed to `startTransaction` (`startTransaction({name: "my transaction", sampled: true})`), that decision will be used, regardless of anything else 2. If `tracesSampler` is defined, its decision will be used. It can choose to keep or ignore any parent sampling decision, or use the sampling context data to make its own decision or choose a sample rate for the transaction. 3. If `tracesSampler` is not defined, but there's a parent sampling decision, the parent sampling decision will be used. 4. If `tracesSampler` is not defined and there's no parent sampling decision, `tracesSampleRate` will be used. diff --git a/develop-docs/sdk/telemetry/traces/modules/web-vitals.mdx b/develop-docs/sdk/telemetry/traces/modules/web-vitals.mdx index 106067ebe40cf1..492c1a416bf9c8 100644 --- a/develop-docs/sdk/telemetry/traces/modules/web-vitals.mdx +++ b/develop-docs/sdk/telemetry/traces/modules/web-vitals.mdx @@ -43,8 +43,8 @@ Web Vital metrics should be captured as measurements on the pageload transaction | Attribute | Description | |:--|:--| -| `transaction` | A low cardinality string of the page route that the INP event occured on. Can be a route template if applicable to the frontend platform. e.g., `"/settings/{project}/"` | -| `description` | If applicable, the selector string that identifies the element which the interaction occured on. e.g. `"Sidebar > span.user > a"` | +| `transaction` | A low cardinality string of the page route that the INP event occurred on. Can be a route template if applicable to the frontend platform. e.g., `"/settings/{project}/"` | +| `description` | If applicable, the selector string that identifies the element which the interaction occurred on. e.g. `"Sidebar > span.user > a"` | | `op` | `ui.interaction.click`, `ui.interaction.press`, `ui.interaction.hover`, or `ui.interaction.drag` | ### Measurements diff --git a/develop-docs/sdk/telemetry/traces/opentelemetry.mdx b/develop-docs/sdk/telemetry/traces/opentelemetry.mdx index 52d7994fa6a4e5..622ef9ceb91916 100644 --- a/develop-docs/sdk/telemetry/traces/opentelemetry.mdx +++ b/develop-docs/sdk/telemetry/traces/opentelemetry.mdx @@ -39,7 +39,7 @@ This relies on a couple key assumptions. 1. Hub/Scope propagation works properly in your platform. This means that the hub used in `onStart` is the same hub used in `onEnd` and it means that hubs fork properly in async contexts. 2. The SDK is initialized before the OpenTelemetry SDK is initialized. -3. There will only be a single transaction occuring at the same time. This is a limitation of the current SDK design. +3. There will only be a single transaction occurring at the same time. This is a limitation of the current SDK design. ```ts import { SpanProcessor } from '@opentelemetry/sdk-trace-base'; diff --git a/develop-docs/sdk/telemetry/traces/span-data-conventions.mdx b/develop-docs/sdk/telemetry/traces/span-data-conventions.mdx index 55d89176bdfaaf..b8f2e096e78049 100644 --- a/develop-docs/sdk/telemetry/traces/span-data-conventions.mdx +++ b/develop-docs/sdk/telemetry/traces/span-data-conventions.mdx @@ -6,7 +6,7 @@ The Span Interface specifies a series of _timed_ application events that have a The `data` field on the span is expected to follow [OpenTelemetry's semantic conventions for attributes](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/general/trace.md) as much as possible. -Keys on the `data` field should be lower-case and use underscores instead of camel-case. There are some exceptions to this, but these exist because of backwards compatability. +Keys on the `data` field should be lower-case and use underscores instead of camel-case. There are some exceptions to this, but these exist because of backwards compatibility. Below describes the conventions for the Span interface for the `data` field on the span that are currently used by the product or are important to bring up. diff --git a/develop-docs/sdk/telemetry/traces/span-operations.mdx b/develop-docs/sdk/telemetry/traces/span-operations.mdx index 37c1566ebb88d7..80fef1d249d7d1 100644 --- a/develop-docs/sdk/telemetry/traces/span-operations.mdx +++ b/develop-docs/sdk/telemetry/traces/span-operations.mdx @@ -31,7 +31,7 @@ If a span operation is not provided, the value of `default` is set by Relay. The | ---------- | ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | pageload | | A full page load of a web application. | | navigation | | Client-side browser history change in a web application. | -| resource | | Resource as per [Performance Resource Timing](https://w3c.github.io/resource-timing/#sec-performanceresourcetiming). Defaults to `resource.other` if resource cannot be indentified. | +| resource | | Resource as per [Performance Resource Timing](https://w3c.github.io/resource-timing/#sec-performanceresourcetiming). Defaults to `resource.other` if resource cannot be identified. | | | resource.script | | | | resource.link | | | | resource.css | | diff --git a/develop-docs/self-hosted/experimental/reverse-proxy.mdx b/develop-docs/self-hosted/experimental/reverse-proxy.mdx index 304d3b05128077..272fb6ac5e81d4 100644 --- a/develop-docs/self-hosted/experimental/reverse-proxy.mdx +++ b/develop-docs/self-hosted/experimental/reverse-proxy.mdx @@ -75,7 +75,7 @@ server { # You can also only expose the ingest endpoints only, # by removing the other `location` directive. # - # It is recomended to put a rate limiter on the ingest endpoints. + # It is recommended to put a rate limiter on the ingest endpoints. location ~ ^/api/[1-9]+/(envelope|minidump|security|store|unreal)/ { add_header Access-Control-Allow-Origin * always; add_header Access-Control-Allow-Credentials false always; @@ -126,7 +126,7 @@ sentry.yourcompany.com { # You can also only expose the ingest endpoints only, # by removing the other `handle` directive. # - # It is recomended to put a rate limiter on the ingest endpoints. + # It is recommended to put a rate limiter on the ingest endpoints. @ingest_endpoint path_regexp ^/api/[1-9]+/(envelope|minidump|security|store|unreal)/ handle @ingest_endpoint { @@ -180,7 +180,7 @@ For detailed documentation on Caddyfile configuration, see [Caddy documentation] ### Traefik -[Traefik](https://doc.traefik.io/traefik/) is another reverse proxy that provides a lot of plugin and integrations out of the box. It automatically handles TLS certificate management via ACME, too. After you [install Traefik](https://doc.traefik.io/traefik/getting-started/install-traefik/), add a configuration to Traefik as follows (this example is using the YAML file provider, convert to your prefered configuration provider as needed). +[Traefik](https://doc.traefik.io/traefik/) is another reverse proxy that provides a lot of plugin and integrations out of the box. It automatically handles TLS certificate management via ACME, too. After you [install Traefik](https://doc.traefik.io/traefik/getting-started/install-traefik/), add a configuration to Traefik as follows (this example is using the YAML file provider, convert to your preferred configuration provider as needed). The configuration below is intended for Traefik v3 with a File Provider. @@ -191,7 +191,7 @@ http: # You can also only expose the ingest endpoints only, # by removing the other `handle` directive. # - # It is recomended to put a rate limiter on the ingest endpoints. + # It is recommended to put a rate limiter on the ingest endpoints. sentry-ingest: entryPoints: - web # Assuming this your HTTP entrypoint @@ -306,7 +306,7 @@ frontend https_bind # You can also only expose the ingest endpoints only, # by removing the other `handle` directive. # - # It is recomended to put a rate limiter on the ingest endpoints. + # It is recommended to put a rate limiter on the ingest endpoints. use_backend sentry_ingest if sentry_domain ingest_endpoint use_backend sentry if sentry_domain diff --git a/develop-docs/self-hosted/sso.mdx b/develop-docs/self-hosted/sso.mdx index 5720330af603e8..36cf42a2ad2d47 100644 --- a/develop-docs/self-hosted/sso.mdx +++ b/develop-docs/self-hosted/sso.mdx @@ -66,7 +66,7 @@ If the form above does not work for you, you need the following settings for you | Webhook secret | "my-super-secret-example-secret" | - Don't forget to replace all occurances of {'${urlPrefix}'} with your own url prefix. + Don't forget to replace all occurrences of {'${urlPrefix}'} with your own url prefix. When prompted for permissions, choose the following: diff --git a/develop-docs/services/chartcuterie.mdx b/develop-docs/services/chartcuterie.mdx index a9e30bdba3a57d..670fa3d67dbb2b 100644 --- a/develop-docs/services/chartcuterie.mdx +++ b/develop-docs/services/chartcuterie.mdx @@ -42,7 +42,7 @@ chart_url = generate_chart(ChartType.MY_CHART_TYPE, data) ## Configuring charts for rendering -Chartcuterie loads an external JavaScirpt module from sentry.io which +Chartcuterie loads an external JavaScript module from sentry.io which determines how it renders charts. This module directly configures EChart's [`options`](https://echarts.apache.org/en/option.html) object, including transformations on the series data provided to Chartcuterie upon a `POST /render` @@ -55,7 +55,7 @@ This module lives as part of getsentry/sentry, and can be found in It is possible to configure an optional initialization function `init` that runs when the service starts. This function has access to Chartcuterie's global -echarts object and can be used register utilites to it ([`registerMaps`](https://echarts.apache.org/en/api.html#echarts.registerMap), +echarts object and can be used register utilities to it ([`registerMaps`](https://echarts.apache.org/en/api.html#echarts.registerMap), for example). ### Adding / removing chart types diff --git a/develop-docs/services/filestore.mdx b/develop-docs/services/filestore.mdx index 8aa9954f902fbe..4745b23cab4448 100644 --- a/develop-docs/services/filestore.mdx +++ b/develop-docs/services/filestore.mdx @@ -26,7 +26,7 @@ filestore.options: ## Amazon S3 Backend -The S3 storage backend supports authentication either by using an access key or by IAM instance roles. When using the latter, omit `access_key` and `secret_key`. By default, S3 objects are created with the `public-read` ACL which means that the account/role used must have the `PutObjectAcl` permission in addition to `PutObject`, along with `GetObject` and `DeleteObject`. If you don't want your uploaded files to be publically-accessible you can set `default_acl` to `private`. +The S3 storage backend supports authentication either by using an access key or by IAM instance roles. When using the latter, omit `access_key` and `secret_key`. By default, S3 objects are created with the `public-read` ACL which means that the account/role used must have the `PutObjectAcl` permission in addition to `PutObject`, along with `GetObject` and `DeleteObject`. If you don't want your uploaded files to be publicly-accessible you can set `default_acl` to `private`. ```yaml filestore.backend: "s3" diff --git a/docs/cli/crons.mdx b/docs/cli/crons.mdx index f31a1d21e1dc55..d529e97f2941f1 100644 --- a/docs/cli/crons.mdx +++ b/docs/cli/crons.mdx @@ -60,7 +60,7 @@ sentry-cli monitors run my-monitor-slug -- node path/to/file.js You can also use the Sentry CLI to create or update your cron monitor when you run your job. This way, you can avoid having to first set up the monitor through the Sentry web interface. -Configure the cron monitor by providing the cron schdule in crontab format using the `--schedule` or the equivalent `-s` argument when executing the `sentry cli monitors run` command. Please make sure to enclose the schedule in quotes, so that your shell parses the argument correctly, like so: +Configure the cron monitor by providing the cron schedule in crontab format using the `--schedule` or the equivalent `-s` argument when executing the `sentry cli monitors run` command. Please make sure to enclose the schedule in quotes, so that your shell parses the argument correctly, like so: ```bash sentry-cli monitors run --schedule "" -- diff --git a/docs/concepts/data-management/event-grouping/index.mdx b/docs/concepts/data-management/event-grouping/index.mdx index 7d5792def0193d..ff8a7ae75ae0e0 100644 --- a/docs/concepts/data-management/event-grouping/index.mdx +++ b/docs/concepts/data-management/event-grouping/index.mdx @@ -18,7 +18,7 @@ To upgrade an existing project to a new error grouping algorithm version, naviga All versions consider the `fingerprint` first, the `stack trace` next, then the `exception`, and then finally the `message`. -To see how an isssue was grouped, go to its **Issue Details** page and scroll down to "Event Grouping Information". There, you'll see if it was grouped by a fingerprint, stack trace, exception, or message. +To see how an issue was grouped, go to its **Issue Details** page and scroll down to "Event Grouping Information". There, you'll see if it was grouped by a fingerprint, stack trace, exception, or message. ### Grouping by Built-In Fingerprinting Rules diff --git a/docs/concepts/data-management/size-limits.mdx b/docs/concepts/data-management/size-limits.mdx index 9a63c30a76768b..b1b846a9bfd104 100644 --- a/docs/concepts/data-management/size-limits.mdx +++ b/docs/concepts/data-management/size-limits.mdx @@ -13,7 +13,7 @@ The following describes how Sentry treats size limits: - Events, attachments, and requests exceeding payload size limits are immediately dropped with a `413 Payload Too Large` error. - Sentry allows compressed content encoding, and applies separate limits before and after decompression. - Events that exceed 200KB compressed or 1MB decompressed will be rejected. -- Minidump uploads that exceeed 20MB compressed or 100MB decompressed (for all files combined) will also be rejected. +- Minidump uploads that exceed 20MB compressed or 100MB decompressed (for all files combined) will also be rejected. - Event fields exceeding the individual size limits are trimmed and truncated afterwards. - The number of events rejected due to size limits is counted towards the _Dropped_ category in [usage stats](/product/stats/#usage-stats). diff --git a/docs/concepts/key-terms/tracing/index.mdx b/docs/concepts/key-terms/tracing/index.mdx index b0e1e6491f24c6..48b2165befcd8a 100644 --- a/docs/concepts/key-terms/tracing/index.mdx +++ b/docs/concepts/key-terms/tracing/index.mdx @@ -44,7 +44,7 @@ You can view all the traces in your organization by going to the [Traces](https: If you want more information, click on any trace ID. This will take you to the [Trace View](/concepts/key-terms/tracing/trace-view/) page, which provides a more detailed view of the trace and its spans. Here, you'll see a waterfall view of the spans in the trace, which will show you how much time each service and operation took to complete, and may give you an indicator of where a problem may originate. -![A detailed view of the Senty Traces page showing an expaned trace and spans](./img/Trace-view-page.png) +![A detailed view of the Senty Traces page showing an expanded trace and spans](./img/Trace-view-page.png) Alternatively, you can use the search bar to look for spans by name, project, or other criteria. You can also use the tags section to filter spans by specific tags. Learn more about the Sentry [Trace Explorer](/product/explore/traces/). diff --git a/docs/concepts/search/searchable-properties/issues.mdx b/docs/concepts/search/searchable-properties/issues.mdx index 752a6dc545dd93..eda42a38020148 100644 --- a/docs/concepts/search/searchable-properties/issues.mdx +++ b/docs/concepts/search/searchable-properties/issues.mdx @@ -18,7 +18,7 @@ You'll only need to use query syntax for **datetime** and **relative time** sear ### `age` -Returns issues created since the time defined by the value. The syntax is similar to the Unix find command. Supported suffixes: `m - minutes`, `h - hours`, `d - days`, `w - weeks`. For example, `age:-24h` returns isssues that are new in the last 24 hours, while `age:+12h` returns ones that are older than 12 hours. Entering `age:+12h age:-24h` would return issues created between 12 and 24 hours ago. +Returns issues created since the time defined by the value. The syntax is similar to the Unix find command. Supported suffixes: `m - minutes`, `h - hours`, `d - days`, `w - weeks`. For example, `age:-24h` returns issues that are new in the last 24 hours, while `age:+12h` returns ones that are older than 12 hours. Entering `age:+12h age:-24h` would return issues created between 12 and 24 hours ago. - **Type:** relative time diff --git a/docs/contributing/pages/variables.mdx b/docs/contributing/pages/variables.mdx index aeaf8648bdab33..f86daf11c49083 100644 --- a/docs/contributing/pages/variables.mdx +++ b/docs/contributing/pages/variables.mdx @@ -9,7 +9,7 @@ The variables available are globally scoped and configured within `remark-variab For example: -```markdown {tabTitle:Replacment} +```markdown {tabTitle:Replacement} JavaScript SDK: {{@inject packages.version("sentry.javascript.browser") }} ``` diff --git a/docs/organization/authentication/sso/ping-sso.mdx b/docs/organization/authentication/sso/ping-sso.mdx index 30abe1aefaae66..7234ae65caac2c 100644 --- a/docs/organization/authentication/sso/ping-sso.mdx +++ b/docs/organization/authentication/sso/ping-sso.mdx @@ -14,7 +14,7 @@ If you change your organization slug, you'll need to make the same update in the 1. Log in to [Ping Identity](https://www.pingidentity.com/en/account/sign-on.html). -1. Go to the "Adminstrators" environment for your organization. +1. Go to the "Administrators" environment for your organization. 1. If you don't require a permission group for Sentry, skip to step 5. diff --git a/docs/organization/dynamic-sampling/index.mdx b/docs/organization/dynamic-sampling/index.mdx index 34073361c598f4..c62d2ddb019b7d 100644 --- a/docs/organization/dynamic-sampling/index.mdx +++ b/docs/organization/dynamic-sampling/index.mdx @@ -106,7 +106,7 @@ Because [distributed traces](/product/tracing/#whats-distributed-tracing) can or For example, if a trace starts in your frontend application, the sample rate you've set there will apply to a connected backend application that's part of the same trace. The same rule applies if the trace starts in a backend application. -If you navigate to the [project preview](https://sentry.io/orgredirect/organizations/:orgslug/settings/dynamic-sampling/) table, you'll see the number of sent spans next to the origin project where the trace started. This includes any spans from propogated traces in other projects that are connected to the origin project. This gives you a direct view of how many spans will be affected by the sample rates you configure. To see the span counts broken down by the project they belong to, click the expand icon to the left of each project in the preview. +If you navigate to the [project preview](https://sentry.io/orgredirect/organizations/:orgslug/settings/dynamic-sampling/) table, you'll see the number of sent spans next to the origin project where the trace started. This includes any spans from propagated traces in other projects that are connected to the origin project. This gives you a direct view of how many spans will be affected by the sample rates you configure. To see the span counts broken down by the project they belong to, click the expand icon to the left of each project in the preview. ![Diagram showing the effect of dynamic sampling on distriubuted traces](./img/client-to-backend-accumulated-sampling-effect.png) diff --git a/docs/organization/integrations/data-visualization/grafana.mdx b/docs/organization/integrations/data-visualization/grafana.mdx index 03eb386237731a..b5617df34238bd 100644 --- a/docs/organization/integrations/data-visualization/grafana.mdx +++ b/docs/organization/integrations/data-visualization/grafana.mdx @@ -1,7 +1,7 @@ --- title: Grafana sidebar_order: 1 -description: "Learn about Sentry's Grafana integration, which alows you to query and visualize Sentry data within Grafana." +description: "Learn about Sentry's Grafana integration, which allows you to query and visualize Sentry data within Grafana." --- diff --git a/docs/organization/integrations/deployment/vercel/index.mdx b/docs/organization/integrations/deployment/vercel/index.mdx index 3ae9a49b92f942..834bd2942e7b91 100644 --- a/docs/organization/integrations/deployment/vercel/index.mdx +++ b/docs/organization/integrations/deployment/vercel/index.mdx @@ -39,7 +39,7 @@ Sentry owner, manager, or admin permissions are required to install this integra ### Configure -Use Vercel to [link projects](#project-linking) for uploading source maps and notifiying Sentry of release deployment. +Use Vercel to [link projects](#project-linking) for uploading source maps and notifying Sentry of release deployment. #### Project Linking @@ -99,7 +99,7 @@ Subscription settings can only be modified within Sentry. During setup, organiza Vercel users will have single sign-on access to Sentry using the "Open in Sentry" button within Vercel, and will be able to create new projects in either Vercel or Sentry. -Users will still be able to login to their Sentry organization directly, without using the Vercel single-sign on, by using the login they configured during the setup process. For non social based login (Google, Github, etc.) users, Sentry will prompt for password creation. +Users will still be able to login to their Sentry organization directly, without using the Vercel single-sign on, by using the login they configured during the setup process. For non social based login (Google, GitHub, etc.) users, Sentry will prompt for password creation. ### Automatically Configured Environment Variables diff --git a/docs/organization/integrations/integration-platform/webhooks/issues.mdx b/docs/organization/integrations/integration-platform/webhooks/issues.mdx index 02baeff4abddb9..d15c854e852b39 100644 --- a/docs/organization/integrations/integration-platform/webhooks/issues.mdx +++ b/docs/organization/integrations/integration-platform/webhooks/issues.mdx @@ -52,11 +52,11 @@ A status can mean multiple things, so substatus gives more details about the sta * `inRelease`: The release that the resolution is in (for example, `latest`) * `inNextRelease`: `True` if the resolution will be in the next release * `inCommit`: Includes information about the resolution commit (such as `repository` and `commit`) -* `ignoreCount`: Maximum number of occurences in for an archived issue before it gets escalated -* `ignoreWindow`: Used with `ignoreCount` indicating the number of minutes that `ignoreCount` occurences will be ignored -* `ignoreUserCount`: Maximun number of users who are affected by an archived issue before it gets escalated +* `ignoreCount`: Maximum number of occurrences in for an archived issue before it gets escalated +* `ignoreWindow`: Used with `ignoreCount` indicating the number of minutes that `ignoreCount` occurrences will be ignored +* `ignoreUserCount`: Maximum number of users who are affected by an archived issue before it gets escalated * `ignoreUserWindow`: Used with `ignoreUserCount` indicating the number of minutes that `ignoreUserCount` affected users will be ignored -* `ignoreDuration`: The duration (in minutes) that an archived issue should be ignored before it gets escalated. Increase in the number of users affected or the number of occurences will not escalate before this duration has passed unless there is a spike. To learn more about how this works, see [Escalating Issues Algorithm](https://docs.sentry.io/product/issues/states-triage/escalating-issues/). +* `ignoreDuration`: The duration (in minutes) that an archived issue should be ignored before it gets escalated. Increase in the number of users affected or the number of occurrences will not escalate before this duration has passed unless there is a spike. To learn more about how this works, see [Escalating Issues Algorithm](https://docs.sentry.io/product/issues/states-triage/escalating-issues/). ```json { diff --git a/docs/platforms/android/migration/index.mdx b/docs/platforms/android/migration/index.mdx index 1d8ead2b09b8b3..696c69cf0fd9ad 100644 --- a/docs/platforms/android/migration/index.mdx +++ b/docs/platforms/android/migration/index.mdx @@ -78,7 +78,7 @@ You may also use `LifecycleHelper.close(token)`, e.g. in case you need to pass t - `Sentry.popScope` has been deprecated, please call `.close()` on the token returned by `Sentry.pushScope` instead or use it in a way described in more detail in "Migration Guide". - We have chosen a default scope that is used for `Sentry.configureScope()` as well as for APIs like `Sentry.setTag()` - For Android the type defaults to `CURRENT` scope - - For Backend and other JVM applicatons it defaults to `ISOLATION` scope + - For Backend and other JVM applications it defaults to `ISOLATION` scope - Event processors on `Scope` can now be ordered by overriding the `getOrder` method on implementations of `EventProcessor`. NOTE: This order only applies to event processors on `Scope` but not `SentryOptions` at the moment. Feel free to request this if you need it. - `Hub` is deprecated in favor of `Scopes`, alongside some `Hub` relevant APIs. More details can be found in the "Migration Guide" section. - (Android) The JNI layer for sentry-native has now been moved from sentry-java to sentry-native ([#3189](https://github.com/getsentry/sentry-java/pull/3189)) diff --git a/docs/platforms/apple/common/troubleshooting/index.mdx b/docs/platforms/apple/common/troubleshooting/index.mdx index 86e10a8fc3cd51..3adc2b67c89843 100644 --- a/docs/platforms/apple/common/troubleshooting/index.mdx +++ b/docs/platforms/apple/common/troubleshooting/index.mdx @@ -102,7 +102,7 @@ class RoomPlanWrapper { ``` You can fix this by excluding the above class from swizzling by using `swizzleClassNameExcludes`, -which is availabe with Sentry Cocoa SDK version `8.23.0` and above: +which is available with Sentry Cocoa SDK version `8.23.0` and above: ```swift SentrySDK.start { options in diff --git a/docs/platforms/apple/common/user-feedback/configuration/index.mdx b/docs/platforms/apple/common/user-feedback/configuration/index.mdx index cd5d256f59a19c..264321812ee9d5 100644 --- a/docs/platforms/apple/common/user-feedback/configuration/index.mdx +++ b/docs/platforms/apple/common/user-feedback/configuration/index.mdx @@ -150,7 +150,7 @@ SentrySDK.start { options in ### Accessibility -The Feedback widget is designed to be accessible, with a set of default accessibility labels that can be overriden. The following attributes are set to ensure the widget is accessible: +The Feedback widget is designed to be accessible, with a set of default accessibility labels that can be overridden. The following attributes are set to ensure the widget is accessible: #### `SentryUserFeedbackWidgetConfiguration` diff --git a/docs/platforms/apple/guides/ios/session-replay/customredact.mdx b/docs/platforms/apple/guides/ios/session-replay/customredact.mdx index 7e9f435a507b12..33f7e4fffa38ce 100644 --- a/docs/platforms/apple/guides/ios/session-replay/customredact.mdx +++ b/docs/platforms/apple/guides/ios/session-replay/customredact.mdx @@ -6,7 +6,7 @@ description: "Learn how to mask parts of your app's data in Session Replay." --- -Before publising an App with Session Replay enabled, make sure to test it thoroughly to ensure that no sensitive data is exposed. +Before publishing an App with Session Replay enabled, make sure to test it thoroughly to ensure that no sensitive data is exposed. If you choose to use custom masking in your Session Replays, you may accidentally expose sensitive customer data. Be sure to double-check what you choose to expose. diff --git a/docs/platforms/dart/common/migration/index.mdx b/docs/platforms/dart/common/migration/index.mdx index 161b3788a4413c..0f3f5460952f90 100644 --- a/docs/platforms/dart/common/migration/index.mdx +++ b/docs/platforms/dart/common/migration/index.mdx @@ -20,7 +20,7 @@ API changes: - `isolate` replaced with `SentryThread#name`. - The following fields have been removed from the `Scope` class and replaced: - `user(SentryUser? user)` replaced with `setUser(SentryUser? user)`. - - `attachements` replaced with `attachments`. + - `attachments` replaced with `attachments`. - Classes or methods that used to take the below optional parameters, have been moved to the `SentryOptions` class and replaced: - `captureFailedRequests` replaced with `SentryOptions#captureFailedRequests`. - `sendDefaultPii` replaced with `SentryOptions#sendDefaultPii`. @@ -56,7 +56,7 @@ Future main() async { - The `Scope.user` setter was deprecated in favor of `Scope.setUser`, and it will be removed in a future update. -- The `Scope.attachements` getter was deprecated in favor of `attachments`, and it will be removed in a future update. +- The `Scope.attachments` getter was deprecated in favor of `attachments`, and it will be removed in a future update. - The following `Scope` methods now return `Future` instead of `void`: - `setContexts` diff --git a/docs/platforms/dotnet/common/profiling/index.mdx b/docs/platforms/dotnet/common/profiling/index.mdx index bf46f8f87e1656..5806c86a45db44 100644 --- a/docs/platforms/dotnet/common/profiling/index.mdx +++ b/docs/platforms/dotnet/common/profiling/index.mdx @@ -42,7 +42,7 @@ SentrySdk.Init(options => // We recommend adjusting this value in production. options.TracesSampleRate = 1.0; - // Sample rate for profiling, applied on top of othe TracesSampleRate, + // Sample rate for profiling, applied on top of other TracesSampleRate, // e.g. 0.2 means we want to profile 20 % of the captured transactions. // We recommend adjusting this value in production. options.ProfilesSampleRate = 1.0; diff --git a/docs/platforms/dotnet/guides/log4net/index.mdx b/docs/platforms/dotnet/guides/log4net/index.mdx index bb169eb4f02439..532664d3114c5e 100644 --- a/docs/platforms/dotnet/guides/log4net/index.mdx +++ b/docs/platforms/dotnet/guides/log4net/index.mdx @@ -51,7 +51,7 @@ In the example above, the `SendIdentity` flag was switched on. The SDK then will Also in the example above, you can find the DSN being set. That will instruct the `SentryAppender` to initialize the SDK. -This is only one of the ways to initialize the SDK. If you wish to configure the SDK programatically, you could **leave the DSN out** from the appender configuration section. The SDK needs to be initialized only **once** and since other integrations (like ASP.NET) are also able to initialize the SDK, you only need to pass the DSN to one of these integrations. +This is only one of the ways to initialize the SDK. If you wish to configure the SDK programmatically, you could **leave the DSN out** from the appender configuration section. The SDK needs to be initialized only **once** and since other integrations (like ASP.NET) are also able to initialize the SDK, you only need to pass the DSN to one of these integrations. One common case to not add the DSN to the XML configuration file (which would initialize it via the log4net integration) is to have full access to the [SDK option](/platforms/dotnet/guides/log4net/configuration/options/). ## Verify diff --git a/docs/platforms/dotnet/guides/maui/index.mdx b/docs/platforms/dotnet/guides/maui/index.mdx index ae6fb9c37896ff..50201bf4e2987c 100644 --- a/docs/platforms/dotnet/guides/maui/index.mdx +++ b/docs/platforms/dotnet/guides/maui/index.mdx @@ -100,7 +100,7 @@ Use caution when enabling, as such values may contain personally identifiable in #### IncludeTitleInBreadcrumbs -This option contols whether elements that implement the `ITitledElement` interface (such as `Window`, `Page`, and others) will have their titles included on breadcrumbs. This option is disabled by default. +This option controls whether elements that implement the `ITitledElement` interface (such as `Window`, `Page`, and others) will have their titles included on breadcrumbs. This option is disabled by default. diff --git a/docs/platforms/dotnet/guides/winforms/index.mdx b/docs/platforms/dotnet/guides/winforms/index.mdx index 479355d6e8d4ab..f6b64abdcfc427 100644 --- a/docs/platforms/dotnet/guides/winforms/index.mdx +++ b/docs/platforms/dotnet/guides/winforms/index.mdx @@ -19,7 +19,7 @@ Select which Sentry features you'd like to install in addition to Error Monitori ## Configure -After adding the NuGet package, the SDK should be initialized in the program's main entry point, before launching any forms or performing signifanct work. The options for initialization vary by language. +After adding the NuGet package, the SDK should be initialized in the program's main entry point, before launching any forms or performing significant work. The options for initialization vary by language. ### C# Initialization diff --git a/docs/platforms/godot/enriching-events/screenshots/index.mdx b/docs/platforms/godot/enriching-events/screenshots/index.mdx index e9ec5107836c98..a3a9e47848dcfc 100644 --- a/docs/platforms/godot/enriching-events/screenshots/index.mdx +++ b/docs/platforms/godot/enriching-events/screenshots/index.mdx @@ -13,7 +13,7 @@ Because screenshots may contain configuring things programatically: +Or, like so, if you're configuring things programmatically: ```GDScript extends SentryConfiguration diff --git a/docs/platforms/java/common/migration/7.x-to-8.0.mdx b/docs/platforms/java/common/migration/7.x-to-8.0.mdx index f41af8cd41cdec..f6f75757cb7492 100644 --- a/docs/platforms/java/common/migration/7.x-to-8.0.mdx +++ b/docs/platforms/java/common/migration/7.x-to-8.0.mdx @@ -82,7 +82,7 @@ You may also use `LifecycleHelper.close(token)`, e.g. in case you need to pass t - `Sentry.popScope` has been deprecated, please call `.close()` on the token returned by `Sentry.pushScope` instead or use it in a way described in more detail in "Migration Guide". - We have chosen a default scope that is used for `Sentry.configureScope()` as well as for APIs like `Sentry.setTag()` - For Android the type defaults to `CURRENT` scope - - For Backend and other JVM applicatons it defaults to `ISOLATION` scope + - For Backend and other JVM applications it defaults to `ISOLATION` scope - Event processors on `Scope` can now be ordered by overriding the `getOrder` method on implementations of `EventProcessor`. NOTE: This order only applies to event processors on `Scope` but not `SentryOptions` at the moment. Feel free to request this if you need it. - `Hub` is deprecated in favor of `Scopes`, alongside some `Hub` relevant APIs. More details can be found in the "Migration Guide" section. - (Android) The JNI layer for sentry-native has now been moved from sentry-java to sentry-native ([#3189](https://github.com/getsentry/sentry-java/pull/3189)) diff --git a/docs/platforms/javascript/common/apis.mdx b/docs/platforms/javascript/common/apis.mdx index c4a85370a3db3d..50833e1ccadef4 100644 --- a/docs/platforms/javascript/common/apis.mdx +++ b/docs/platforms/javascript/common/apis.mdx @@ -534,7 +534,7 @@ parameters={[ Any spans created inside of the callback will be children of this span. -The started span will automatically be ended when the callback returns, and will thus measure the duration of the callback. The callback cann also be an async function. +The started span will automatically be ended when the callback returns, and will thus measure the duration of the callback. The callback can also be an async function. ```javascript diff --git a/docs/platforms/javascript/common/configuration/integrations/graphql.mdx b/docs/platforms/javascript/common/configuration/integrations/graphql.mdx index 1cf6028568fd59..6d290529014755 100644 --- a/docs/platforms/javascript/common/configuration/integrations/graphql.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/graphql.mdx @@ -55,7 +55,7 @@ _Type: `boolean`_ If spans for resolver functions should not be created. Default is `true`. -### `ignoreTrivalResolveSpans` +### `ignoreTrivialResolveSpans` _Type: `boolean`_ diff --git a/docs/platforms/javascript/common/migration/v7-to-v8/v8-opentelemetry.mdx b/docs/platforms/javascript/common/migration/v7-to-v8/v8-opentelemetry.mdx index 863910642773a0..b0daca3c47bcd8 100644 --- a/docs/platforms/javascript/common/migration/v7-to-v8/v8-opentelemetry.mdx +++ b/docs/platforms/javascript/common/migration/v7-to-v8/v8-opentelemetry.mdx @@ -93,7 +93,7 @@ provider.addSpanProcessor(new SentrySpanProcessor()); // We need a custom propagator and context manager // This enables distributed tracing and context isolation -provier.register({ +provider.register({ propagator: new SentryPropagator(), contextManager: new SentryContextManager(), }); diff --git a/docs/platforms/javascript/common/opentelemetry/custom-setup.mdx b/docs/platforms/javascript/common/opentelemetry/custom-setup.mdx index 26b96725bcb712..74e7f68d08f1ae 100644 --- a/docs/platforms/javascript/common/opentelemetry/custom-setup.mdx +++ b/docs/platforms/javascript/common/opentelemetry/custom-setup.mdx @@ -240,7 +240,7 @@ const sentryClient = Sentry.init({ skipOpenTelemetrySetup: true, // By defining any sample rate, - // tracing intergations will be added by default + // tracing integrations will be added by default // omit this if you do not want any performance integrations to be added tracesSampleRate: 0, }); @@ -293,7 +293,7 @@ Additionally, there are a few pitfalls that can very simply be avoided by regist "javascript.tanstackstart-react", ]} > - + Learn more about ESM installation methods. diff --git a/docs/platforms/javascript/common/session-replay/troubleshooting.mdx b/docs/platforms/javascript/common/session-replay/troubleshooting.mdx index de2b9806b897ae..088dd7ad42553a 100644 --- a/docs/platforms/javascript/common/session-replay/troubleshooting.mdx +++ b/docs/platforms/javascript/common/session-replay/troubleshooting.mdx @@ -39,9 +39,9 @@ There are a few cases where the replay playback won't match the look of your app -Canvas is supported in SDK versions >= `7.98.0`. Please see the canvas setup documention to get started with canvas recordings. +Canvas is supported in SDK versions >= `7.98.0`. Please see the canvas setup documentation to get started with canvas recordings. -If you are on a supported SDK version and your `canvas` elements still aren't getting captured, check if you have images or videos loaded from foreign origins inside your `canvas`. Any data loaded from an origin without CORS approval is not considered secure and will throw a `SecurityError` when trying to use the replay canvas integration. To fix this issue, set `crossorigin="anonymous"` to your images or videos. This will allow images that are loaded from foreign origins to be used in `canvas` as if they have been loaded from the current origin. See the [CORS documention](https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image#security_and_tainted_canvases) for more information about cross-origin access. +If you are on a supported SDK version and your `canvas` elements still aren't getting captured, check if you have images or videos loaded from foreign origins inside your `canvas`. Any data loaded from an origin without CORS approval is not considered secure and will throw a `SecurityError` when trying to use the replay canvas integration. To fix this issue, set `crossorigin="anonymous"` to your images or videos. This will allow images that are loaded from foreign origins to be used in `canvas` as if they have been loaded from the current origin. See the [CORS documentation](https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image#security_and_tainted_canvases) for more information about cross-origin access. diff --git a/docs/platforms/javascript/common/troubleshooting/index.mdx b/docs/platforms/javascript/common/troubleshooting/index.mdx index 64d5f61119578e..832233ad1b9a89 100644 --- a/docs/platforms/javascript/common/troubleshooting/index.mdx +++ b/docs/platforms/javascript/common/troubleshooting/index.mdx @@ -21,7 +21,7 @@ If you set up the Sentry SDK and it's not sending any data to Sentry: - Check that you didn't set `sideEffects: false` in your `package.json`. Setting `sideEffects` to false in your `package.json` will cause Next.js to - tree shake the SDK code too agressively - effectively deleting any + tree shake the SDK code too aggressively - effectively deleting any `Sentry.init()` calls. Setting `sideEffects: false` is incorrect when you are using the Sentry SDK. @@ -451,7 +451,7 @@ Remember to pass in `true` as the second parameter to `addEventListener()`. With In very rare cases, the SDK can cause callbacks added via `addEventListener` to an event target (such as a button) to be invoked twice. -This is usually a sign of the SDK being intialized too late in the lifecycle of the page. If you can, try initializing the SDK earlier in your application. +This is usually a sign of the SDK being initialized too late in the lifecycle of the page. If you can, try initializing the SDK earlier in your application. If this is not possible or doesn't apply to your use case, set the `unregisterOriginalCallbacks` option in the [`browserApiErrors` integration](../configuration/integrations/browserapierrors) to `true`. @@ -518,7 +518,7 @@ While adding these packages as direct dependencies might remove the warning mess pnpm add import-in-the-middle require-in-the-middle ``` -As a workaround, create or modify `.npmrc` in your project root. First, try to specifially hoist the dependencies in question: +As a workaround, create or modify `.npmrc` in your project root. First, try to specifically hoist the dependencies in question: ```ini {filename:.npmrc} public-hoist-pattern[]=*import-in-the-middle* diff --git a/docs/platforms/javascript/common/user-feedback/configuration/index.mdx b/docs/platforms/javascript/common/user-feedback/configuration/index.mdx index 65de3d1ca72aa3..79a19d0cc7146d 100644 --- a/docs/platforms/javascript/common/user-feedback/configuration/index.mdx +++ b/docs/platforms/javascript/common/user-feedback/configuration/index.mdx @@ -396,13 +396,13 @@ document const formData = new FormData(event.currentTarget); const attachment = async () => { - const attatchmentField = formData.get("attachment") as File; + const attachmentField = formData.get("attachment") as File; const data = new Uint8Array( - await attatchmentField.arrayBuffer() + await attachmentField.arrayBuffer() ); const attachmentData = { data, - filename: 'upload', // Or pass attatchmentField.name, + filename: 'upload', // Or pass attachmentField.name, // No need to set `contentType` because it's encoded in the `data` array }; return attachmentData; diff --git a/docs/platforms/javascript/common/user-feedback/configuration/index__v7.x.mdx b/docs/platforms/javascript/common/user-feedback/configuration/index__v7.x.mdx index 62ad22c7783131..90fb8ef129c910 100644 --- a/docs/platforms/javascript/common/user-feedback/configuration/index__v7.x.mdx +++ b/docs/platforms/javascript/common/user-feedback/configuration/index__v7.x.mdx @@ -58,20 +58,20 @@ feedbackIntegration({ Most text that you see in the default Feedback widget can be customized. -| Key | Default | Description | -| -------------------- | -------------------------------------- | ------------------------------------------------------------------ | -| `buttonLabel` | `Report a Bug` | The label of the injected button. | -| `submitButtonLabel` | `Send Bug Report` | The label of the submit button used in the feedback form. | -| `cancelButtonLabel` | `Cancel` | The label of the cancel button used in the feedback form. | -| `formTitle` | `Report a Bug` | The title at the top of the feedback form. | -| `nameLabel` | `Name` | The label of the name input field. | -| `namePlaceholder` | `Your Name` | The placeholder for the name input field. | -| `emailLabel` | `Email` | The label of the email input field. | -| `emailPlaceholder` | `your.email@example.org` | The placeholder for the email input field. | -| `messageLabel` | `Description` | The label for the feedback description input field. | -| `messagePlaceholder` | `What's the bug? What did you expect?` | The placeholder for the feedback description input field. | -| `successMessageText` | `Thank you for your report!` | The message to be displayed after a succesful feedback submission. | -| `isRequiredText` | `(required)` | The text displayed next to a required field. | +| Key | Default | Description | +| -------------------- | -------------------------------------- | ------------------------------------------------------------------- | +| `buttonLabel` | `Report a Bug` | The label of the injected button. | +| `submitButtonLabel` | `Send Bug Report` | The label of the submit button used in the feedback form. | +| `cancelButtonLabel` | `Cancel` | The label of the cancel button used in the feedback form. | +| `formTitle` | `Report a Bug` | The title at the top of the feedback form. | +| `nameLabel` | `Name` | The label of the name input field. | +| `namePlaceholder` | `Your Name` | The placeholder for the name input field. | +| `emailLabel` | `Email` | The label of the email input field. | +| `emailPlaceholder` | `your.email@example.org` | The placeholder for the email input field. | +| `messageLabel` | `Description` | The label for the feedback description input field. | +| `messagePlaceholder` | `What's the bug? What did you expect?` | The placeholder for the feedback description input field. | +| `successMessageText` | `Thank you for your report!` | The message to be displayed after a successful feedback submission. | +| `isRequiredText` | `(required)` | The text displayed next to a required field. | Example of customization: diff --git a/docs/platforms/javascript/guides/astro/index.mdx b/docs/platforms/javascript/guides/astro/index.mdx index 799b69b1ddc05c..c3f37547573973 100644 --- a/docs/platforms/javascript/guides/astro/index.mdx +++ b/docs/platforms/javascript/guides/astro/index.mdx @@ -236,7 +236,7 @@ export default defineConfig({ In SSR or hybrid mode configured Astro apps, the Sentry Astro integration will automatically add an [Astro middleware](https://docs.astro.build/en/guides/middleware/) request handler to your server code. This middleware enhances the data collected by Sentry on the server side by: - Collecting performance spans for incoming requests -- Enabeling distributed tracing between client and server +- Enabling distributed tracing between client and server - Enhancing captured errors with additional information ### Manually Add Server Instrumentation diff --git a/docs/platforms/javascript/guides/capacitor/troubleshooting.mdx b/docs/platforms/javascript/guides/capacitor/troubleshooting.mdx index 6b2fd61186bb09..9a254ff17eb528 100644 --- a/docs/platforms/javascript/guides/capacitor/troubleshooting.mdx +++ b/docs/platforms/javascript/guides/capacitor/troubleshooting.mdx @@ -89,7 +89,7 @@ If you encounter the following error: CocoaPods could not find compatible versions for pod "Sentry" ``` -You can fix this by udating your pod repository: +You can fix this by updating your pod repository: ```bash pod repo update diff --git a/docs/platforms/javascript/guides/cordova/ionic.mdx b/docs/platforms/javascript/guides/cordova/ionic.mdx index 5e8edc378bbd78..4fb2b684a96c5e 100644 --- a/docs/platforms/javascript/guides/cordova/ionic.mdx +++ b/docs/platforms/javascript/guides/cordova/ionic.mdx @@ -101,7 +101,7 @@ Then change the `@NgModule{providers:[]}` in `app.module.ts` to: providers: [ StatusBar, SplashScreen, - // {provide: ErrorHandler, useClass: IonicErrorHandler} remove this, add next line (for Ionic 4 this line doen't exist by default) + // {provide: ErrorHandler, useClass: IonicErrorHandler} remove this, add next line (for Ionic 4 this line doesn't exist by default) {provide: ErrorHandler, useClass: SentryIonicErrorHandler} ] }) diff --git a/docs/platforms/javascript/guides/nuxt/features/component-tracking.mdx b/docs/platforms/javascript/guides/nuxt/features/component-tracking.mdx index 9597c89ab8a2b5..e31e049443a0b3 100644 --- a/docs/platforms/javascript/guides/nuxt/features/component-tracking.mdx +++ b/docs/platforms/javascript/guides/nuxt/features/component-tracking.mdx @@ -23,7 +23,7 @@ By default, the Nuxt SDK tracks the rendering performance of your app (that is, You can also track your app's child components to get more details about the rendering process. This feature will create spans for each tracked component instance. The spans are called **`ui.vue.[hook]`** where `[hook]` is replaced by each tracked lifecycle stage. For example, the span representing the mount stage (the time between `beforeMount` and `mounted`) is called `ui.vue.mount`. To set it up, add the `vueIntegration` to your `Sentry.init()` call and, set the `tracingOptions.trackComponents` option. -Pass `true` to track all of your child components, or specify a list of individual comopnents you want to track: +Pass `true` to track all of your child components, or specify a list of individual components you want to track: ```javascript {5-17} import * as Sentry from "@sentry/nuxt"; diff --git a/docs/platforms/javascript/guides/remix/frameworks/hydrogen.mdx b/docs/platforms/javascript/guides/remix/frameworks/hydrogen.mdx index 0d5871bcf003a8..fecf518def8e54 100644 --- a/docs/platforms/javascript/guides/remix/frameworks/hydrogen.mdx +++ b/docs/platforms/javascript/guides/remix/frameworks/hydrogen.mdx @@ -5,7 +5,7 @@ description: "Learn how to use the Sentry Remix SDK to instrument your Shopify H If you're using the Shopify Hydrogen framework, you can use the Sentry Remix SDK to add Sentry instrumentation to your app. -## 1. Installing Sentry Remix and Clouflare SDKs +## 1. Installing Sentry Remix and Cloudflare SDKs First, install the Sentry Remix and Cloudflare SDKs with your package manager: diff --git a/docs/platforms/javascript/guides/svelte/features/component-tracking.mdx b/docs/platforms/javascript/guides/svelte/features/component-tracking.mdx index ac410b775d0b06..490a629ead91c0 100644 --- a/docs/platforms/javascript/guides/svelte/features/component-tracking.mdx +++ b/docs/platforms/javascript/guides/svelte/features/component-tracking.mdx @@ -45,7 +45,7 @@ const sentryOptions = { // (optional) componentTracking: { // Add the components you want to be tracked to this array. - // Specificy `true` to track all components or `false` to disable + // Specify `true` to track all components or `false` to disable // tracking entirely // (optional, defaults to `true`) trackComponents: ["Navbar", "PrimaryButton", "LoginForm"], diff --git a/docs/platforms/javascript/guides/vue/features/component-tracking.mdx b/docs/platforms/javascript/guides/vue/features/component-tracking.mdx index c9a83f10b47e61..1a083f11e72d4a 100644 --- a/docs/platforms/javascript/guides/vue/features/component-tracking.mdx +++ b/docs/platforms/javascript/guides/vue/features/component-tracking.mdx @@ -23,7 +23,7 @@ By default, the Vue SDK tracks the rendering performance of your app (that is, i You can also track your app's child components to get more details about the rendering process. This feature will create spans for each tracked component instance. The spans are called **`ui.vue.[hook]`** where `[hook]` is replaced by each tracked lifecycle stage. For example, the span representing the mount stage (the time between `beforeMount` and `mounted`) is called `ui.vue.mount`. To set it up, add the Vue Integration to your `Sentry.init()` call and, set the `tracingOptions.trackComponents` option. -Pass `true` to track all of your child components, or specify a list of individual comopnents you want to track: +Pass `true` to track all of your child components, or specify a list of individual components you want to track: ```javascript {5-17} import * as Sentry from "@sentry/vue"; diff --git a/docs/platforms/php/guides/laravel/configuration/laravel-options.mdx b/docs/platforms/php/guides/laravel/configuration/laravel-options.mdx index da293f8d9ae544..00e7bda349fd53 100644 --- a/docs/platforms/php/guides/laravel/configuration/laravel-options.mdx +++ b/docs/platforms/php/guides/laravel/configuration/laravel-options.mdx @@ -5,7 +5,7 @@ description: "Learn about Sentry's integration with Laravel and its options for --- Most configuration for Laravel is done in your `.env` file. -You can also add additonal config options to your `config/sentry.php` file. +You can also add additional config options to your `config/sentry.php` file. ## Breadcrumbs diff --git a/docs/platforms/php/guides/laravel/integrations/eloquent.mdx b/docs/platforms/php/guides/laravel/integrations/eloquent.mdx index 272daffb5f1c3c..97b0734aadb7db 100644 --- a/docs/platforms/php/guides/laravel/integrations/eloquent.mdx +++ b/docs/platforms/php/guides/laravel/integrations/eloquent.mdx @@ -51,7 +51,7 @@ use Sentry\Laravel\Integration; Model::preventLazyLoading(); -// Only supress lazy loading violations in production, let them be thrown in other environments +// Only suppress lazy loading violations in production, let them be thrown in other environments if (app()->isProduction()) { Model::handleLazyLoadingViolationUsing( Integration::lazyLoadingViolationReporter() @@ -75,7 +75,7 @@ use Sentry\Laravel\Integration; Model::preventSilentlyDiscardingAttributes(); -// Only supress silently discarded attribute violations in production, let them be thrown in other environments +// Only suppress silently discarded attribute violations in production, let them be thrown in other environments if (app()->isProduction()) { Model::handleDiscardedAttributeViolationUsing( Integration::discardedAttributeViolationReporter() @@ -93,7 +93,7 @@ use Sentry\Laravel\Integration; Model::preventAccessingMissingAttributes(); -// Only supress missing attribute violations in production, let them be thrown in other environments +// Only suppress missing attribute violations in production, let them be thrown in other environments if (app()->isProduction()) { Model::handleMissingAttributeViolationUsing( Integration::missingAttributeViolationReporter() diff --git a/docs/platforms/php/guides/symfony/configuration/symfony-options.mdx b/docs/platforms/php/guides/symfony/configuration/symfony-options.mdx index d70fccb60f4160..1a6c86d061953e 100644 --- a/docs/platforms/php/guides/symfony/configuration/symfony-options.mdx +++ b/docs/platforms/php/guides/symfony/configuration/symfony-options.mdx @@ -36,7 +36,7 @@ sentry: ignore_exceptions: - "Symfony\\Component\\HttpKernel\\Exception\\BadRequestHttpException" ignore_transactions: - - "GET /helath" + - "GET /health" before_send: "sentry.callback.before_send" before_send_transaction: "sentry.callback.before_send_transaction" trace_propagation_targets: diff --git a/docs/platforms/php/legacy-sdk/config.mdx b/docs/platforms/php/legacy-sdk/config.mdx index 6a4926fbde43e5..ba67216f791c93 100644 --- a/docs/platforms/php/legacy-sdk/config.mdx +++ b/docs/platforms/php/legacy-sdk/config.mdx @@ -259,7 +259,7 @@ By default the server port will be added to the logged URL when it is a non stan ## Providing Request Context -Most of the time you’re not actually calling out to Raven directly, but you still want to provide some additional context. This lifecycle generally constists of something like the following: +Most of the time you’re not actually calling out to Raven directly, but you still want to provide some additional context. This lifecycle generally consists of something like the following: - Set some context via a middleware (e.g. the logged in user) - Send all given context with any events during the request lifecycle diff --git a/docs/platforms/powershell/troubleshooting.mdx b/docs/platforms/powershell/troubleshooting.mdx index eb75724af8e950..87d7025a91c0a6 100644 --- a/docs/platforms/powershell/troubleshooting.mdx +++ b/docs/platforms/powershell/troubleshooting.mdx @@ -14,6 +14,6 @@ Make sure the process the SDK is running in has write access to it. ## Unhandled exceptions are not captured -Currently, the SDK captures exceptions that are explicitly handled by ane of the following methods: +Currently, the SDK captures exceptions that are explicitly handled by and of the following methods: - piping the `ErrorRecord` inside a `catch` statement or in a `trap` using `$_ | Out-Sentry` - using `Invoke-WithSentry { ... }` diff --git a/docs/platforms/python/integrations/arq/index.mdx b/docs/platforms/python/integrations/arq/index.mdx index 2834bc49eae620..9945909af1bc50 100644 --- a/docs/platforms/python/integrations/arq/index.mdx +++ b/docs/platforms/python/integrations/arq/index.mdx @@ -24,7 +24,7 @@ If you have the `arq` package in your dependencies, the arq integration will be ## Verify -### Enqueing the jobs in `run.py`: +### Enqueuing the jobs in `run.py`: ```python import asyncio @@ -42,7 +42,7 @@ async def main(): asyncio.run(main()) ``` -When you run `run.py` it will create a transaction called `testing_sentry` in the Performance section of [sentry.io](https://sentry.io), and create a span for enqueing the job. +When you run `run.py` it will create a transaction called `testing_sentry` in the Performance section of [sentry.io](https://sentry.io), and create a span for enqueuing the job. It takes a couple of moments for the data to appear in [sentry.io](https://sentry.io). diff --git a/docs/platforms/python/integrations/sanic/index.mdx b/docs/platforms/python/integrations/sanic/index.mdx index fab7de8c3d9dac..3c8d4b5b3a16ae 100644 --- a/docs/platforms/python/integrations/sanic/index.mdx +++ b/docs/platforms/python/integrations/sanic/index.mdx @@ -29,7 +29,7 @@ uv add "aiocontextvars" If you have the `sanic` package in your dependencies, the Sanic integration will be enabled automatically when you initialize the Sentry SDK. -To ensure that errors occuring in background tasks get reported to Sentry, we always recommend enabling the [`AsyncioIntegration`](/platforms/python/integrations/asyncio/) when you are using the `SanicIntegration`. To enable the `AsyncioIntegration`, you must explicitly add the `AsyncioIntegration` to the `integrations` list and initialize the SDK within a `before_server_start` listener. +To ensure that errors occurring in background tasks get reported to Sentry, we always recommend enabling the [`AsyncioIntegration`](/platforms/python/integrations/asyncio/) when you are using the `SanicIntegration`. To enable the `AsyncioIntegration`, you must explicitly add the `AsyncioIntegration` to the `integrations` list and initialize the SDK within a `before_server_start` listener. The example below demonstrates the simplest recommended setup. diff --git a/docs/platforms/react-native/manual-setup/expo.mdx b/docs/platforms/react-native/manual-setup/expo.mdx index 00a4d6f32726a1..9f32381d701b2e 100644 --- a/docs/platforms/react-native/manual-setup/expo.mdx +++ b/docs/platforms/react-native/manual-setup/expo.mdx @@ -5,7 +5,7 @@ description: "Learn how to set up an Expo-managed project with the Sentry React To set up the Sentry React Native SDK in your Expo project, follow the steps on this page. -## Prerequisities +## Prerequisites - [Expo SDK 50](https://docs.expo.dev/workflow/upgrading-expo-sdk-walkthrough/) or newer. - [Expo SDK 49](https://docs.expo.dev/guides/using-sentry/) and older are supported by the `sentry-expo` package. diff --git a/docs/platforms/react-native/manual-setup/hermes.mdx b/docs/platforms/react-native/manual-setup/hermes.mdx index ce4a755733dde9..e4b43f319d6612 100644 --- a/docs/platforms/react-native/manual-setup/hermes.mdx +++ b/docs/platforms/react-native/manual-setup/hermes.mdx @@ -64,7 +64,7 @@ sentry_upload_sourcemap( org_slug: '___ORG_SLUG___', project_slug: '___PROJECT_SLUG___', version: '...', - app_identifier: '...', # bundle_identifer of your app + app_identifier: '...', # bundle_identifier of your app build: '...', # optional build number of your app dist: '...', # optional distribution of the release usually the buildnumber sourcemap: ['index.android.bundle', 'index.android.bundle.map'], @@ -78,7 +78,7 @@ sentry_upload_sourcemap( org_slug: '___ORG_SLUG___', project_slug: '___PROJECT_SLUG___', version: '...', - app_identifier: '...', # bundle_identifer of your app + app_identifier: '...', # bundle_identifier of your app build: '...', # optional build number of your app dist: '...', # optional distribution of the release usually the buildnumber sourcemap: ['main.jsbundle', 'main.jsbundle.map'], diff --git a/docs/platforms/react-native/manual-setup/metro.mdx b/docs/platforms/react-native/manual-setup/metro.mdx index 31a9cc2d3fa9ad..9e49a5dfcdbc45 100644 --- a/docs/platforms/react-native/manual-setup/metro.mdx +++ b/docs/platforms/react-native/manual-setup/metro.mdx @@ -7,7 +7,7 @@ sidebar_order: 3 Sentry's React Native SDK package ships with a Sentry Metro Plugin which allows you to automatically generate Debug IDs for your applications' bundles. This is crucial for making source maps work properly with Sentry. The plugin also helps you to annotate React component names so they are available in breadcrumbs and minimize the bundle size by removing unused SDK features. This page will guide you through the process of setting up the Metro Plugin for your application. -## Prerequisities +## Prerequisites - [Sign up for an account](https://sentry.io/signup/) - [Install Sentry React Native SDK](/platforms/react-native) version 5.17.0 or newer diff --git a/docs/platforms/react-native/sourcemaps/uploading/expo-advanced.mdx b/docs/platforms/react-native/sourcemaps/uploading/expo-advanced.mdx index ff1bbdff3a7537..8004758f27f548 100644 --- a/docs/platforms/react-native/sourcemaps/uploading/expo-advanced.mdx +++ b/docs/platforms/react-native/sourcemaps/uploading/expo-advanced.mdx @@ -7,7 +7,7 @@ Sentry's React Native SDK works out of the box with Expo applications. To see re For a guide on how to automatically upload source maps for Expo application releases or updates, see the [Expo](/platforms/react-native/sourcemaps/uploading/expo/) source maps docs. -## Prerequisities +## Prerequisites - [Sign up for an account](https://sentry.io/signup/) - [Migrate from `sentry-expo` to `@sentry/react-native`](/platforms/react-native/migration/sentry-expo/) diff --git a/docs/platforms/react-native/sourcemaps/uploading/expo.mdx b/docs/platforms/react-native/sourcemaps/uploading/expo.mdx index 0cfa6d9199c622..b300919130034b 100644 --- a/docs/platforms/react-native/sourcemaps/uploading/expo.mdx +++ b/docs/platforms/react-native/sourcemaps/uploading/expo.mdx @@ -5,7 +5,7 @@ description: "Upload source maps for native Expo releases and EAS Update." Sentry's React Native SDK works out of the box with Expo applications. To see readable stack traces in the product, you must upload source maps to Sentry. This guide explains how to upload source maps for Expo applications. -## Prerequisities +## Prerequisites - [Sign up for an account](https://sentry.io/signup/) - [Migrate from `sentry-expo` to `@sentry/react-native`](/platforms/react-native/migration/sentry-expo/) diff --git a/docs/platforms/react-native/user-feedback/configuration/index.mdx b/docs/platforms/react-native/user-feedback/configuration/index.mdx index eeff9d2d9fac9f..d51f532de605b5 100644 --- a/docs/platforms/react-native/user-feedback/configuration/index.mdx +++ b/docs/platforms/react-native/user-feedback/configuration/index.mdx @@ -70,7 +70,7 @@ The following options can be configured for the integration in `feedbackIntegrat | `successMessageText` | `"Thank you for your report!"` | The message displayed after a successful feedback submission. | | `errorTitle` | `"Error"` | The title of the error message dialog. | | `formError` | `"Please fill out all required fields."` | Form validation error message. | -| `emailError` | `"Please enter a valid email address."` | Email validation error mesage. | +| `emailError` | `"Please enter a valid email address."` | Email validation error message. | | `genericError` | `"Unable to send feedback due to an unexpected error."` | The generic error message. | Example of customization: @@ -104,7 +104,7 @@ Sentry.feedbackIntegration({ Sentry.showFeedbackWidget(); ``` -The same can be achived by passing the `styles` prop to the `FeedbackWidget` component: +The same can be archived by passing the `styles` prop to the `FeedbackWidget` component: ```javascript import { FeedbackWidget } from "@sentry/react-native"; diff --git a/docs/platforms/unity/configuration/options/programmatic-configuration/index.mdx b/docs/platforms/unity/configuration/options/programmatic-configuration/index.mdx index a816b20f4cc31e..378d17bf661e89 100644 --- a/docs/platforms/unity/configuration/options/programmatic-configuration/index.mdx +++ b/docs/platforms/unity/configuration/options/programmatic-configuration/index.mdx @@ -10,7 +10,7 @@ We've added `Sentry Options Configuration` to the `Options Config` tab in the Se ## Programmatic Configuration -The Sentry SDK for Unity includes [platform-specific (that is, Native)](/platforms/unity/native-support/) SDKs, such as [Android](/platforms/android/), [Apple](/platforms/apple/guides/ios/), and [Native](/platforms/native/) to provide native crash suppport. These SDKs share the options with which they get initialized. +The Sentry SDK for Unity includes [platform-specific (that is, Native)](/platforms/unity/native-support/) SDKs, such as [Android](/platforms/android/), [Apple](/platforms/apple/guides/ios/), and [Native](/platforms/native/) to provide native crash support. These SDKs share the options with which they get initialized. The C# layer self-initializes through the use of the [SubsystemRegistration RuntimeInitializeOnLoadMethodAttribute](https://docs.unity3d.com/ScriptReference/RuntimeInitializeLoadType.SubsystemRegistration.html). diff --git a/docs/platforms/unity/enriching-events/screenshots/index.mdx b/docs/platforms/unity/enriching-events/screenshots/index.mdx index 17b7dabc729b3f..5e516f76f65d08 100644 --- a/docs/platforms/unity/enriching-events/screenshots/index.mdx +++ b/docs/platforms/unity/enriching-events/screenshots/index.mdx @@ -13,7 +13,7 @@ Because screenshots may contain -You can also create your own diagnostic logger class, either by implementing the `IDiagnosticLogger` interface, or inherting from the `DiagnosticLogger` abstract class and overriding the `LogMessage` method. +You can also create your own diagnostic logger class, either by implementing the `IDiagnosticLogger` interface, or inheriting from the `DiagnosticLogger` abstract class and overriding the `LogMessage` method. diff --git a/platform-includes/distributed-tracing/custom-instrumentation/go.mdx b/platform-includes/distributed-tracing/custom-instrumentation/go.mdx index cda0002baa3827..6c2768a7eafea1 100644 --- a/platform-includes/distributed-tracing/custom-instrumentation/go.mdx +++ b/platform-includes/distributed-tracing/custom-instrumentation/go.mdx @@ -30,7 +30,7 @@ You can generate this tracing information with the Sentry SDK's `hub.GetTracepar ```go ctx := r.Context() hub := sentry.GetHubFromContext(ctx) -req, _ := http.NewRequest("GET", "http://exmaple.com", nil) +req, _ := http.NewRequest("GET", "http://example.com", nil) req.Header.Set(sentry.SentryTraceHeader, hub.GetTraceparent()) req.Header.Set(sentry.SentryBaggageHeader, hub.GetBaggage()) ``` diff --git a/platform-includes/enriching-events/attach-screenshots/unreal.mdx b/platform-includes/enriching-events/attach-screenshots/unreal.mdx index f6b93b54a4b050..f79b57ae1cfc95 100644 --- a/platform-includes/enriching-events/attach-screenshots/unreal.mdx +++ b/platform-includes/enriching-events/attach-screenshots/unreal.mdx @@ -2,7 +2,7 @@ Using the editor menu in **Project Settings > Plugins > Sentry**: ![Options Screenshot Configuration](./img/attach-screenshot-unreal-editor.png) -Or, like so, if you're [configuring things programatically](/platforms/unreal/configuration/options/): +Or, like so, if you're [configuring things programmatically](/platforms/unreal/configuration/options/): ```cpp USentrySettings* Settings = FSentryModule::Get().GetSettings(); diff --git a/platform-includes/enriching-events/breadcrumbs/breadcrumbs-example/powershell.mdx b/platform-includes/enriching-events/breadcrumbs/breadcrumbs-example/powershell.mdx index 3290f942e5b5d7..87cf140ef160db 100644 --- a/platform-includes/enriching-events/breadcrumbs/breadcrumbs-example/powershell.mdx +++ b/platform-includes/enriching-events/breadcrumbs/breadcrumbs-example/powershell.mdx @@ -2,6 +2,6 @@ # Simple breadcrumb with just a message 'hello there' | Add-SentryBreadcrumb -# More complext breadcrumb +# More complex breadcrumb Add-SentryBreadcrumb -Message 'hello there' -Category 'cat' -Type 'foo' -Level Warning -Data @{ 'key' = 'value' } ``` diff --git a/platform-includes/enriching-events/set-tag/dotnet.nlog.mdx b/platform-includes/enriching-events/set-tag/dotnet.nlog.mdx index d5917315c7a4b8..991ca6dd8a0f40 100644 --- a/platform-includes/enriching-events/set-tag/dotnet.nlog.mdx +++ b/platform-includes/enriching-events/set-tag/dotnet.nlog.mdx @@ -29,7 +29,7 @@ For more information on how to dynamically set event tags via `NLog.config`, see ```csharp SentrySdk.ConfigureScope(scope => { - // You can still use NLog layouts in code to set configured propertes + // You can still use NLog layouts in code to set configured properties scope.SetTag("logger", "${logger}"); }); ``` @@ -37,7 +37,7 @@ SentrySdk.ConfigureScope(scope => ```fsharp SentrySdk.ConfigureScope( fun scope -> - // You can still use NLog layouts in code to set configured propertes + // You can still use NLog layouts in code to set configured properties scope.SetTag("logger", "${logger}") ) ``` diff --git a/platform-includes/getting-started-config/unity.mdx b/platform-includes/getting-started-config/unity.mdx index acaa9aeaa5626d..91666dac892f8d 100644 --- a/platform-includes/getting-started-config/unity.mdx +++ b/platform-includes/getting-started-config/unity.mdx @@ -6,7 +6,7 @@ The minimum configuration required is the [DSN](/product/sentry-basics/dsn-expla } ``` -Sentry can be configured via the Sentry configuration window or [programatically](/platforms/unity/configuration/options/). +Sentry can be configured via the Sentry configuration window or [programmatically](/platforms/unity/configuration/options/). The window can be accessed by going to Unity's top menu: `Tools` > `Sentry`. ![Sentry window](./img/unity-sentry-window.png) diff --git a/platform-includes/llm-rules-platform/javascript.nextjs.mdx b/platform-includes/llm-rules-platform/javascript.nextjs.mdx index cc1224cb738175..1feee3b22fd223 100644 --- a/platform-includes/llm-rules-platform/javascript.nextjs.mdx +++ b/platform-includes/llm-rules-platform/javascript.nextjs.mdx @@ -18,7 +18,7 @@ These examples should be used as guidance when configuring Sentry functionality ## Custom Span instrumentation in component actions -- The `name` and `op` properties should be meaninful for the activities in the call. +- The `name` and `op` properties should be meaningful for the activities in the call. - Attach attributes based on relevant information and metrics from the request ```javascript @@ -53,7 +53,7 @@ function TestComponent() { ## Custom span instrumentation in API calls -- The `name` and `op` properties should be meaninful for the activities in the call. +- The `name` and `op` properties should be meaningful for the activities in the call. - Attach attributes based on relevant information and metrics from the request ```javascript diff --git a/platform-includes/performance/start-span/javascript.mdx b/platform-includes/performance/start-span/javascript.mdx index b3b5098a35717b..e9fa1eec8017fc 100644 --- a/platform-includes/performance/start-span/javascript.mdx +++ b/platform-includes/performance/start-span/javascript.mdx @@ -1,4 +1,4 @@ -Start a span for a synchronuous operation: +Start a span for a synchronous operation: ```javascript const result = Sentry.startSpan({ name: "Important Function" }, () => { diff --git a/platform-includes/sourcemaps/troubleshooting/javascript.mdx b/platform-includes/sourcemaps/troubleshooting/javascript.mdx index 75a2729a7435e7..bf57f4ba6ac51d 100644 --- a/platform-includes/sourcemaps/troubleshooting/javascript.mdx +++ b/platform-includes/sourcemaps/troubleshooting/javascript.mdx @@ -75,7 +75,7 @@ In the JavaScript files you uploaded to Sentry, search for code that roughly loo If this code exists in a bundle, that bundle will be able to be matched to a source file. Every bundle you deploy in your app needs to have this snippet in order to be correctly source mapped. -If your source code does not contain this snippet and you're using a Sentry plugin for your bundler, please check that you are using the latest version and please verify that the plugin is correctly processing your files. Set the `debug` option to `true` to print useful degbugging information. +If your source code does not contain this snippet and you're using a Sentry plugin for your bundler, please check that you are using the latest version and please verify that the plugin is correctly processing your files. Set the `debug` option to `true` to print useful debugging information. If you're using the Sentry CLI, verify that you're running the `inject` command **before** you upload to Sentry and **before** you deploy your files. diff --git a/scripts/algolia.ts b/scripts/algolia.ts index 4dc0dcb4c4248d..dd26677a8705d2 100644 --- a/scripts/algolia.ts +++ b/scripts/algolia.ts @@ -15,7 +15,7 @@ * If you want to run it locally, * 1. Make sure you have the required env vars set up * 2. Be careful to change to `DOCS_INDEX_NAME` to a value different - * from the productoin docs index name (specified in the `@sentry-internal/global-search`) + * from the productions docs index name (specified in the `@sentry-internal/global-search`) * to avoid accidental deletions * 3. Run a production build of the app before running this script */ diff --git a/src/components/callout/index.tsx b/src/components/callout/index.tsx index 903d382e8e2654..1e670bd5e985c6 100644 --- a/src/components/callout/index.tsx +++ b/src/components/callout/index.tsx @@ -5,7 +5,7 @@ import { useCallback, } from 'react'; -// explicitly not usig CSS modules here +// explicitly not using CSS modules here // because there's some prerendered content that depends on these exact class names import './styles.scss'; diff --git a/src/components/docPage/type.scss b/src/components/docPage/type.scss index 71aa566c9cf7f2..af315973c17721 100644 --- a/src/components/docPage/type.scss +++ b/src/components/docPage/type.scss @@ -287,7 +287,7 @@ div[data-onboarding-option] ul { margin: 0; } -// Inserts an invisble zero-width, non-breaking space to prevent a word from +// Inserts an invisible zero-width, non-breaking space to prevent a word from // breaking on the adjoining characters. Useful for stopping dashes from // breaking in code blocks. The special character is placed into the ::after // content so that it is not included when copy/pasting from code examples. diff --git a/src/components/expandable/index.tsx b/src/components/expandable/index.tsx index 00bf1ca1b61d8e..ca85682733817a 100644 --- a/src/components/expandable/index.tsx +++ b/src/components/expandable/index.tsx @@ -6,7 +6,7 @@ import * as Sentry from '@sentry/nextjs'; import {usePlausibleEvent} from 'sentry-docs/hooks/usePlausibleEvent'; -// explicitly not usig CSS modules here +// explicitly not using CSS modules here // because there's some prerendered content that depends on these exact class names import '../callout/styles.scss'; import styles from './style.module.scss'; diff --git a/src/components/mermaid.tsx b/src/components/mermaid.tsx index 75893c458d8653..ba24d8f47f3885 100644 --- a/src/components/mermaid.tsx +++ b/src/components/mermaid.tsx @@ -30,7 +30,7 @@ export default function Mermaid() { if (mermaidBlocks.length === 0) { return; } - // we have to dig like this as the nomral import doesn't work + // we have to dig like this as the normal import doesn't work const {default: mermaid} = await import('mermaid/dist/mermaid.esm.min.mjs'); mermaid.initialize({startOnLoad: false}); mermaidBlocks.forEach(lightModeblock => { diff --git a/src/components/onboarding/index.tsx b/src/components/onboarding/index.tsx index 03d002d6387c08..51537f83f06375 100644 --- a/src/components/onboarding/index.tsx +++ b/src/components/onboarding/index.tsx @@ -217,7 +217,7 @@ export function OnboardingOptionButtons({ const [options, setSelectedOptions] = useState( normalizedOptions.map(option => ({ ...option, - // default to unchecked if not excplicitly set + // default to unchecked if not explicitly set checked: option.checked ?? false, })) ); diff --git a/src/components/sandboxLink.tsx b/src/components/sandboxLink.tsx index e7fc31059810fc..8cb4b3d756eda4 100644 --- a/src/components/sandboxLink.tsx +++ b/src/components/sandboxLink.tsx @@ -31,7 +31,7 @@ type Props = { /** * Obtains the URL to the sandbox start endpoint. - * @param param0.scenario: One of the scenarios. Determins where in the sandbox + * @param param0.scenario: One of the scenarios. Determines where in the sandbox * the user will be landed. * @param param0.projectSlug: * One of react, python, react-native, android, iOS diff --git a/src/components/sidebar/collapsibleSidebarLink.tsx b/src/components/sidebar/collapsibleSidebarLink.tsx index 345c6e94c95859..e660102a6f2cf2 100644 --- a/src/components/sidebar/collapsibleSidebarLink.tsx +++ b/src/components/sidebar/collapsibleSidebarLink.tsx @@ -23,7 +23,7 @@ interface SidebarLinkProps { className?: string; /** - * Indicates that the links are currently hidden. Overriden by isActive + * Indicates that the links are currently hidden. Overridden by isActive */ collapsed?: boolean | null; } diff --git a/src/components/sidebarTableOfContents/index.tsx b/src/components/sidebarTableOfContents/index.tsx index 5b1cf579883931..81e1acb7e1817f 100644 --- a/src/components/sidebarTableOfContents/index.tsx +++ b/src/components/sidebarTableOfContents/index.tsx @@ -163,7 +163,7 @@ export function SidebarTableOfContents() { } // account for the header height const rootMarginTop = 100; - // element is consiered in view if it is in the top 1/3 of the screen + // element is considered in view if it is in the top 1/3 of the screen const rootMarginBottomRaw = (2 / 3) * innerHeight - rootMarginTop; const rootMarginBottom = Math.floor(rootMarginBottomRaw) * -1; const observerOptions = { diff --git a/src/data/relay_metrics.json b/src/data/relay_metrics.json index 9902a872d397aa..6b2d5fb597913d 100644 --- a/src/data/relay_metrics.json +++ b/src/data/relay_metrics.json @@ -290,7 +290,7 @@ { "type": "Timer", "name": "event_processing.serialization", - "description": "Time spent converting the event from its in-memory reprsentation into a JSON string.", + "description": "Time spent converting the event from its in-memory representation into a JSON string.", "features": [] }, { @@ -691,7 +691,7 @@ { "type": "Counter", "name": "project_upstream.completed", - "description": "Number of times an upstream request for a project config is completed.\n\nCompletion can be because a result was returned or because the config request was\ndropped after there still was no response after a timeout. This metrics has tags\nfor `result` and `attempts` indicating whether it was succesful or a timeout and how\nmany attempts were made respectively.", + "description": "Number of times an upstream request for a project config is completed.\n\nCompletion can be because a result was returned or because the config request was\ndropped after there still was no response after a timeout. This metrics has tags\nfor `result` and `attempts` indicating whether it was successful or a timeout and how\nmany attempts were made respectively.", "features": [] }, { diff --git a/src/hotReloadWatcher.mjs b/src/hotReloadWatcher.mjs index 95ececbd89e87d..5eb9fa5876601d 100644 --- a/src/hotReloadWatcher.mjs +++ b/src/hotReloadWatcher.mjs @@ -31,7 +31,7 @@ wss.on('connection', async function onConnect(ws) { const {signal} = ac; ws.on('close', () => ac.abort()); - // avoid fileystem chatter when you save a file + // avoid filesystem chatter when you save a file const sendReload = throttle(() => ws.send('reload'), 10); try { diff --git a/src/types/frontmatter.ts b/src/types/frontmatter.ts index 00a88ef2cdf983..f92e34e80bb8a4 100644 --- a/src/types/frontmatter.ts +++ b/src/types/frontmatter.ts @@ -34,7 +34,7 @@ export interface FrontMatter { nextPage?: PaginationNavNode; /** * relative links to use in the "next steps" section of the page grid - * takes precendence over children when present + * takes precedence over children when present */ next_steps?: string[]; /** @@ -76,7 +76,7 @@ export interface FrontMatter { sidebar_title?: string; /** - * filesytem path to the source file, generated during build time + * filesystem path to the source file, generated during build time */ sourcePath?: string;