Skip to content

Commit

Permalink
Fix typos and add typos-cli spellchecker (#623)
Browse files Browse the repository at this point in the history
  • Loading branch information
nihalgonsalves authored Jan 30, 2025
1 parent 2115267 commit e861e40
Show file tree
Hide file tree
Showing 34 changed files with 196 additions and 50 deletions.
17 changes: 17 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
permissions:
contents: read

on: [pull_request]

env:
CLICOLOR: 1

jobs:
spelling:
name: Spell Check with Typos
runs-on: ubuntu-latest
steps:
- name: Checkout Actions Repository
uses: actions/checkout@v4
- name: Spell Check Repo
uses: crate-ci/[email protected]
6 changes: 5 additions & 1 deletion .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
{
"recommendations": ["esbenp.prettier-vscode", "unifiedjs.vscode-mdx"]
"recommendations": [
"esbenp.prettier-vscode",
"unifiedjs.vscode-mdx",
"tekumara.typos-vscode"
]
}
6 changes: 6 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,11 @@
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
},
"yaml.schemas": {
"https://raw.githubusercontent.com/evilmartians/lefthook/refs/heads/master/schema.json": [
"lefthook.yml",
"lefthook-local.yml"
]
}
}
22 changes: 17 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,21 +96,33 @@ The default sidebar is rendered at the bottom of `sidebars.js`.

### Installation

```
$ yarn
```
- Install dependencies

```sh
$ yarn install
```

- Optionally install [typos-cli](https://github.com/crate-ci/typos)

```sh
brew install typos-cli
```

See the link for other options.

This is optional, but will enable running it via the pre-commit hook. You can also use the recommended [vscode extension](https://marketplace.visualstudio.com/items?itemName=tekumara.typos-vscode) or let it run via GitHub Actions when you create a PR.

### Local Development

```
```sh
$ yarn start
```

This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.

### Build

```
```sh
$ yarn build
```

Expand Down
20 changes: 20 additions & 0 deletions _typos.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# https://github.com/crate-ci/typos

[default]
extend-ignore-re = [
"!\\[.*\\](.*)",
"<YouTubeEmbed.*/>"
]
extend-ignore-identifiers-re = [
]

[default.extend-identifiers]

[default.extend-words]

[files]
extend-exclude = [
"static/images/*",
"openapi-spec/*",
"code_blocks/tools/customer-center-localization.json"
]
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ final class Container {

}

func supressWarning(_ any: Any?) {
func suppressWarning(_ any: Any?) {

}

Expand All @@ -79,9 +79,9 @@ final class Container {
let packageById = offerings.offering(identifier: "experiment_group")?.package(identifier: "<package_id>")
// END

// supress warnings
supressWarning(packages)
supressWarning(monthlyPackage)
supressWarning(packageById)
// suppress warnings
suppressWarning(packages)
suppressWarning(monthlyPackage)
suppressWarning(packageById)
}
}
4 changes: 2 additions & 2 deletions docs/dashboard-and-metrics/charts/cohort-explorer.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,13 +72,13 @@ For each period, we:
For each period, we:

1. Count the New Paying Customers that made their first payment in that period
2. Provide the cummulative sum of revenue generated by that cohort as of each subsequent period
2. Provide the cumulative sum of revenue generated by that cohort as of each subsequent period

**Realized LTV / Customer of Paying Customer Cohorts**\
For each period, we:

1. Count the Paying Customers that made their first payment in that period
2. Provide the cummulative sum of revenue generated by that cohort as of each subsequent period, divided by the count of Paying Customers in that cohort
2. Provide the cumulative sum of revenue generated by that cohort as of each subsequent period, divided by the count of Paying Customers in that cohort

**Retained Subscriptions of Initial Conversion Cohorts**\
For each period, we:
Expand Down
8 changes: 4 additions & 4 deletions docs/dashboard-and-metrics/charts/prediction-explorer.md
Original file line number Diff line number Diff line change
Expand Up @@ -161,15 +161,15 @@ For each period, we:
For each period, we:

1. Count the New Paying Customers that made their first payment in that period
2. Provide the cummulative sum of revenue generated by that cohort as of each subsequent period
3. Add the cummulative sum of revenue we predict will be added from existing paid subscriptions in future periods that are not yet complete (up to 24 months)
2. Provide the cumulative sum of revenue generated by that cohort as of each subsequent period
3. Add the cumulative sum of revenue we predict will be added from existing paid subscriptions in future periods that are not yet complete (up to 24 months)

**Realized LTV / Customer of New Paying Customer Cohorts**\
For each period, we:

1. Count the New Paying Customers that made their first payment in that period
2. Provide the cummulative sum of revenue generated by that cohort as of each subsequent period, divided by the count of New Paying Customers in that cohort
3. Add the cummulative sum of all revenue we predict will be added from existing paid subscriptions in future periods that are not yet complete (up to 24 months), divided by the count of New Paying Customers in that cohort
2. Provide the cumulative sum of revenue generated by that cohort as of each subsequent period, divided by the count of New Paying Customers in that cohort
3. Add the cumulative sum of all revenue we predict will be added from existing paid subscriptions in future periods that are not yet complete (up to 24 months), divided by the count of New Paying Customers in that cohort

## FAQs

Expand Down
2 changes: 1 addition & 1 deletion docs/dashboard-and-metrics/display-currency.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ When processing a purchase, we always convert its price to USD based on the exch
## Supported features

1. **Overview**: The Overview page will display Revenue and MRR in your set display currency.
2. **Charts**: Almost all charts support dispaly currencies, including the Revenue chart, MRR chart, and the Realized LTV charts.
2. **Charts**: Almost all charts support display currencies, including the Revenue chart, MRR chart, and the Realized LTV charts.
3. **Customer Lists**: Your set display currency will be used when calculating the revenue generated by a given list of customers. In addition, when exporting a list of customers, the `total_spent` column will be provided in your display currency, which you can reference through the `currency` field in the export.
4. **Customer Profile**: Revenue generating events in a customer's history will use your set display currency.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Apple’s monthly [financial reports](https://developer.apple.com/help/app-store

A transaction's settlement date is the date when the customer's payment is actually made to Apple. Often this will occur on the same day that a transaction is initiated by the customer; but may also occur on a later date, such as when Apple batches some payments together and charges them at once at a later time, or when a customer is due to renew their subscription on a given date but the attempted payment fails until some later date in their grace period.

The result is that the day a transaction is initiated and the day it settles is not always the same, and therefore a transaction may be paid out in a later fiscal month than the one it was initiatied in.
The result is that the day a transaction is initiated and the day it settles is not always the same, and therefore a transaction may be paid out in a later fiscal month than the one it was initiated in.

### Price fields

Expand Down Expand Up @@ -98,6 +98,6 @@ When using these data sources to operate your business, we recommend that you:

- Use RevenueCat for trend analysis, real-time insights, and estimating future earnings.
- Rely on Apple’s financial reports for accurate payout data, financial reporting, and all accounting use cases.
- And always keep in mind these nuances of settlment dates, Apple's fiscal calendar, exchange rates, tax & commission estimations, and refund attribution when attempting to reconcile the two data sources.
- And always keep in mind these nuances of settlement dates, Apple's fiscal calendar, exchange rates, tax & commission estimations, and refund attribution when attempting to reconcile the two data sources.

By understanding the methodologies behind these tools, you can better utilize their strengths and make informed decisions when operating your business.
4 changes: 2 additions & 2 deletions docs/getting-started/entitlements/roku-products.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ At the moment, RevenueCat does not support One-time Purchase and One-time Purcha
- One to three-digit tier numbers are used for 99 cent pricing. To calculate, you can subtract 1 cent from the tier to get the corresponding price. For example, Tier 100 is $99.99 (`$100 - $0.01 = $99.99`).
- Four-digit tier numbers are used for 49 cent pricing. To calculate this, you can add 49 cents to the last two digits in the tier. For example, Tier 1030 is $30.49 (30 is the last 2 digits &#8594; `$30 + $0.49 = $30.49`).

Once you select a price tier, a chart will appear that displays the purchase price, net price, and proceeeds for each country the product is available for.
Once you select a price tier, a chart will appear that displays the purchase price, net price, and proceeds for each country the product is available for.
- **Purchase price**: Reflects the amount your customer will pay.
- **Net price**: This is the pre-tax price.
- **Your proceeds**: This is the amount you will receive from Roku for the sale of the product.
Expand Down Expand Up @@ -119,7 +119,7 @@ Note that deleting a product without first changing its **Cleared for Sale** sta
## Product groups
Product groups are used for upgrade/downgrade functionality and to prevent double billing your customers. For more information regarding upgrades/downgrades, please visit our documentation on [_Upgrades, Downgrades, & Management_](/subscription-guidance/managing-subscriptions#roku).

To set up a product group, nagivate to your _'Manage In-Channel Products' > 'All product groups' > 'Add a new group'_
To set up a product group, navigate to your _'Manage In-Channel Products' > 'All product groups' > 'Add a new group'_

![](/images/roku/roku-product-group.png)

Expand Down
2 changes: 1 addition & 1 deletion docs/getting-started/installation/roku.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ import rokuSyncPurchases from "!!raw-loader!@site/code_blocks/getting-started/in
]} />

### Error
The error model constains two fields: `code` and `message`
The error model contains two fields: `code` and `message`

import rokuError from "!!raw-loader!@site/code_blocks/getting-started/installation/roku-error.txt";

Expand Down
2 changes: 1 addition & 1 deletion docs/getting-started/quickstart.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@ import kotlinContent46 from "!!raw-loader!@site/code_blocks/getting-started/gett
import javaContent47 from "!!raw-loader!@site/code_blocks/getting-started/getting-started_47.java";
import flutterContent48 from "!!raw-loader!@site/code_blocks/getting-started/getting-started_48.js";
import reactNativeContent49 from "!!raw-loader!@site/code_blocks/getting-started/getting-started_49.js";
import capacitorContent50 from "!!raw-loader!@site/code_blocks/getting-started/getting-started-capacitor-react-subcription-changes.ts";
import capacitorContent50 from "!!raw-loader!@site/code_blocks/getting-started/getting-started-capacitor-react-subscription-changes.ts";
import cordovaContent51 from "!!raw-loader!@site/code_blocks/getting-started/getting-started_50.js";
import unityContent52 from "!!raw-loader!@site/code_blocks/getting-started/getting-started_51.cs";
import kmpContent6 from "!!raw-loader!@site/code_blocks/customers/customer-info_kmp_1.kts";
Expand Down
2 changes: 1 addition & 1 deletion docs/getting-started/restoring-purchases.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ When a user restores purchases that are already attached to another user, Revenu

## Restoring Purchases for Consumables and Non-renewing Subscriptions

Consumables and non-renewing subscriptions can only be restored by using an acount system with custom [App User IDs](/customers/user-ids). This is due to these types of in-app purchases not showing up on the underlying store receipt after the transaction is finished.
Consumables and non-renewing subscriptions can only be restored by using an account system with custom [App User IDs](/customers/user-ids). This is due to these types of in-app purchases not showing up on the underlying store receipt after the transaction is finished.

By logging in your users with a custom App User ID, RevenueCat can continue to provide transaction details in a user's [CustomerInfo](/customers/customer-info) for their previous consumable and non-renewing subscription purchases.

Expand Down
2 changes: 1 addition & 1 deletion docs/guides/testing-guide/use-cases.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -789,7 +789,7 @@ Purchases.shared.logIn("<another_app_user_id>") { (customerInfo, created, error)
2. Navigate to your paywall screen.
3. Ensure that your intro offer is being shown on your paywall as well as the discount between different packages.
4. Purchase a package that has an intro offer attached.
5. Check the RevenueCat dashboard customer history for that app user ID and ensure that an `INITAL_PURCHASE` event was made with the Intro offer attached to it. This event should look like the intro offers discussed above in the test guide.
5. Check the RevenueCat dashboard customer history for that app user ID and ensure that an `INITIAL_PURCHASE` event was made with the Intro offer attached to it. This event should look like the intro offers discussed above in the test guide.

**Expected Results:** User is shown the paywall with their intro offer attached and the user is able to make the purchase with the intro offer attached.

Expand Down
2 changes: 1 addition & 1 deletion docs/integrations/attribution/kochava.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ After you've set up the _Purchases SDK_ to send attribution data from Kochava to
2. Choose **Kochava** from the Integrations menu.
3. Add your API key, which can be generated in Kochava. For more information on how to access your API key, see the following [documentation](https://support.kochava.com/analytics-reports-api/create-and-manage-application-programming-interface-key/).
4. If strict authentication rules are enabled in the integration, you can add a Secret API Key. Kochava does not enable this by default. There is currently no place in the UI to access your API Secret, so you need to request it from the Kochava support team.
5. At least one App GUID or Test App GUID must be added. This is called `APP GUID` in the Kochava backend. If you perform [Sanbox Testing](https://www.revenuecat.com/docs/test-and-launch/sandbox), we automatically send events to the corresponding Test App GUID. For example, if you are testing on Android, we will automatically send events linked to the Android Test App GUID.
5. At least one App GUID or Test App GUID must be added. This is called `APP GUID` in the Kochava backend. If you perform [Sandbox Testing](https://www.revenuecat.com/docs/test-and-launch/sandbox), we automatically send events to the corresponding Test App GUID. For example, if you are testing on Android, we will automatically send events linked to the Android Test App GUID.
6. Enter the event names that RevenueCat will send. The default names are our best attempt at mapping to Kochava event names. **NOTE:** You may lose some functionality if you do not use the default names. See this [Full List of Standard Events](https://support.kochava.com/reference-information/post-install-event-examples/) that Kochava supports.
7. Select whether you want sales reported as gross revenue (before app store commission) or after store commission and/or estimated taxes.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ Follow [this installation link](https://console.firebase.google.com/project/_/ex
| :--------------------- | :------------------------------------------------------------------------------------------------------------------------- |
| `test` | Occurs whenever a test event issued through the RevenueCat dashboard. |
| `initial_purchase` | Occurs whenever a new subscription has been purchased or a lapsed user has resubscribed. |
| `non_renewing_puchase` | Occurs whenever a customer has made a purchase that will not auto-renew. |
| `non_renewing_purchase` | Occurs whenever a customer has made a purchase that will not auto-renew. |
| `renewal ` | Occurs whenever an existing subscription has been renewed. |
| `product_change` | Occurs whenever a subscriber has changed the product of their subscription. |
| `cancellation` | Occurs whenever a subscription or non-renewing purchase has been cancelled. See cancellation reasons for more details. |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ Choose the option that best fits the majority of your use cases.
If, for example, you chose "Always prefer declining refunds", but have a specific customer or certain conditions under which you'd prefer Apple to grant a refund, you can override this preference before your customer submits their refund request directly to Apple.

To do so, you can use RevenueCat's [customer attributes](/customers/customer-attributes) to set a specific preference for any customer. RevenueCat provides a reserved customer attribute field, `$appleRefundHandlingPreference`, where you can set values such as:
- `DO_NOT_HANLDE`: Refund requests will not be handled for this customer. You can use this option to disable the feature for customers that have not provided consent.
- `DO_NOT_HANDLE`: Refund requests will not be handled for this customer. You can use this option to disable the feature for customers that have not provided consent.
- `GRANT_REFUND`: You prefer that Apple grants the refund for this customer.
- `DECLINE_REFUND`: You prefer that Apple declines the refund for this customer.
- `LET_APPLE_DECIDE`: You have no preference regarding Apple's decision to grant or decline the refund for this customer.
Expand Down
2 changes: 1 addition & 1 deletion docs/projects/collaborators.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ Add the SSO Group name, select the role you want to grant.

Once you save these mappings the collaborators will automatically be synchronized. This may take up to a few minutes.

If multiple RevenueCat roles are assigned to the same SSO group, RevenueCat will provide the group with the _highest_ level of access defined by the following heirarchy.
If multiple RevenueCat roles are assigned to the same SSO group, RevenueCat will provide the group with the _highest_ level of access defined by the following hierarchy.

1. Admin
1. Developer
Expand Down
2 changes: 1 addition & 1 deletion docs/subscription-guidance/how-grace-periods-work.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ As mentioned, billing issues occur when a user is unable to complete a subscript

RevenueCat will only send **one** billing issue event -- additional payment failures won't trigger additional billing issue events, unless a renewal is successful between payment failures or the subscription ends and is restarted.

In rare cases, if the billing issue occurs immediately during the inital purchase of a product, it may not be detected by RevenueCat and included in the user's purchase history, even though the store indicates that a billing issue occured on their end. This is because the purchase token was never created by the store, and thus, could not be sent to RevenueCat to be tracked.
In rare cases, if the billing issue occurs immediately during the initial purchase of a product, it may not be detected by RevenueCat and included in the user's purchase history, even though the store indicates that a billing issue occurred on their end. This is because the purchase token was never created by the store, and thus, could not be sent to RevenueCat to be tracked.

### SDK Prompt

Expand Down
2 changes: 1 addition & 1 deletion docs/subscription-guidance/refunds.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ Apple doesn’t allow developers to grant refunds themselves, only through Apple

### Apple

If you are seeing delays or non-existent non-subcription refunds, make sure that [Platform Server Notifications](/platform-resources/server-notifications) are enabled.
If you are seeing delays or non-existent non-subscription refunds, make sure that [Platform Server Notifications](/platform-resources/server-notifications) are enabled.

If you are are seeing delays or non-existent consumable refunds, make sure that the [In-App Purchase Key](/service-credentials/itunesconnect-app-specific-shared-secret/in-app-purchase-key-configuration) is configured.

Expand Down
Loading

0 comments on commit e861e40

Please sign in to comment.