Skip to content

Fix all typos #13894

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/codeowner_assignment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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/^/- /'
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion app/[[...path]]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ export async function generateMetadata(props: MetadataProps): Promise<Metadata>
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;
Expand Down
2 changes: 1 addition & 1 deletion apps/changelog/src/client/components/navbar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ export function Navbar() {
<div
id={id}
ref={dropdownRef}
className="bg-white z-20 w-auto py-4 lg:px-5 lg:-mx-4 lg:absolute realtive lg:-left-2/4 lg:top-12 lg:rounded-2xl lg:shadow-sm "
className="bg-white z-20 w-auto py-4 lg:px-5 lg:-mx-4 lg:absolute relative lg:-left-2/4 lg:top-12 lg:rounded-2xl lg:shadow-sm "
>
<div className="max-w-6xl w-full">
<div className="flex gap-6 lg:gap-0 lg:flex-row flex-col ">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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`
Expand Down
2 changes: 1 addition & 1 deletion develop-docs/application-architecture/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion develop-docs/backend/api/design.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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).

Expand Down
2 changes: 1 addition & 1 deletion develop-docs/backend/api/serializers.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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`

Expand All @@ -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]

Expand Down
6 changes: 3 additions & 3 deletions develop-docs/backend/application-domains/grouping.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions develop-docs/backend/application-domains/metrics.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
2 changes: 1 addition & 1 deletion develop-docs/backend/application-domains/nodestore.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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`.
2 changes: 1 addition & 1 deletion develop-docs/backend/application-domains/pii/selectors.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
4 changes: 2 additions & 2 deletions develop-docs/development-infrastructure/analytics.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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`.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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/)
Expand Down
2 changes: 1 addition & 1 deletion develop-docs/engineering-practices/documentation.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion develop-docs/frontend/component-library.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ For button this is the "Default" case and it fits all on one line:
story('Default', () => <Button>Default Button</Button>);
```

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 `<Matrix />` 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 `<Matrix />` 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.

Expand Down
2 changes: 1 addition & 1 deletion develop-docs/frontend/using-hooks.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
6 changes: 3 additions & 3 deletions develop-docs/frontend/using-rtl.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -34,7 +34,7 @@ render(<Example />, {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(<TestComponent />, {
Expand Down Expand Up @@ -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

Expand Down
Loading