-
Notifications
You must be signed in to change notification settings - Fork 3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into @zfurtak/search-chat-header
- Loading branch information
Showing
120 changed files
with
1,608 additions
and
697 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
#!/bin/bash | ||
|
||
set -e | ||
|
||
ROOT_DIR=$(dirname "$(dirname "$(dirname "${BASH_SOURCE[0]}")")") | ||
cd "$ROOT_DIR" || exit 1 | ||
|
||
autocomplete_parser_backup="src/libs/SearchParser/autocompleteParser.js.bak" | ||
search_parser_backup="src/libs/SearchParser/searchParser.js.bak" | ||
|
||
#Copying the current .js parser files | ||
cp src/libs/SearchParser/autocompleteParser.js "$autocomplete_parser_backup" 2>/dev/null | ||
cp src/libs/SearchParser/searchParser.js "$search_parser_backup" 2>/dev/null | ||
|
||
#Running the scripts that generate the .js parser files | ||
npm run generate-search-parser | ||
npm run generate-autocomplete-parser | ||
|
||
#Checking if the saved files differ from the newly generated | ||
if ! diff -q "$autocomplete_parser_backup" src/libs/SearchParser/autocompleteParser.js >/dev/null || | ||
! diff -q "$search_parser_backup" src/libs/SearchParser/searchParser.js >/dev/null; then | ||
echo "The files generated from the .peggy files using the commands: generate-search-parser and generate-autocomplete-parser are not identical to those currently on this branch." | ||
echo "The parser .js files should never be edited manually. Make sure you’ve run locally: npm run generate-search-parser and npm run generate-autocomplete-parser, and committed the changes." | ||
exit 1 | ||
else | ||
echo "The files generated from the .peggy files using the commands: generate-search-parser and generate-autocomplete-parser are identical to those currently on this branch." | ||
exit 0 | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
name: Check consistency of search parser files | ||
|
||
on: | ||
pull_request: | ||
types: [opened, synchronize] | ||
branches-ignore: [staging, production] | ||
paths: | ||
- "src/libs/SearchParser/**" | ||
|
||
jobs: | ||
verify: | ||
if: github.actor != 'OSBotify' && github.actor != 'imgbot[bot]' | ||
runs-on: macos-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
|
||
- name: Setup Node | ||
uses: ./.github/actions/composite/setupNode | ||
|
||
- name: Verify parser files consistency | ||
run: ./.github/scripts/checkParser.sh |
Submodule Mobile-Expensify
updated
from d7deab to 6a1bd2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
61 changes: 43 additions & 18 deletions
61
docs/articles/expensify-classic/expensify-billing/Consolidated-Domain-Billing.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,28 +1,53 @@ | ||
--- | ||
title: Consolidated Domain Billing | ||
description: Consolidated Domain Billing allows organizations to have different billing owners with only one person being billed for all paid workspaces. | ||
description: Learn how to enable and manage Consolidated Domain Billing, allowing one billing owner to cover all paid workspaces under a verified domain. | ||
--- | ||
<!-- The lines above are required by Jekyll to process the .md file --> | ||
|
||
# Overview | ||
If your organization requires that different workspaces have different billing owners, but only one person should pay the Expensify bill each month, you can enable Consolidated Domain Billing. | ||
# How to enable Consolidated Domain Billing | ||
Consolidated Domain Billing is a domain-level feature, so to access this setting, you’ll first need to claim and verify your domain. You can do this by heading to **Settings > Domains > Domain Name** > clicking on a setting such as **Groups** > and then clicking **Verify**. | ||
Consolidated Domain Billing allows organizations to have different billing owners for workspaces while ensuring that only one person is billed for all paid workspaces within a verified domain. | ||
|
||
--- | ||
|
||
# Enabling Consolidated Domain Billing | ||
To enable this feature, you must first claim and verify your domain: | ||
|
||
1. Go to **Settings > Domains**. | ||
2. Select your domain. | ||
3. Click on a setting such as **Groups**. | ||
4. Click **Verify**. | ||
|
||
Once your domain is verified, enable Consolidated Domain Billing: | ||
|
||
1. Navigate to **Settings > Domains > [Your Domain]**. | ||
2. Select **Domain Admins > Primary Contact and Billing**. | ||
3. Toggle **Consolidated Domain Billing** on. | ||
|
||
Once the domain is verified, you can enable Consolidated Domain Billing under **Settings > Domains > Domain Name > Domain Admins > Primary Contact and Billing**. | ||
# How to use Consolidated Domain Billing | ||
When a Domain Admin enables Consolidated Domain Billing, all Group workspaces owned by any user with an email address matching the domain will get billed to the Consolidated Domain Billing owner’s account. | ||
# Deep Dive | ||
## Consolidated Domain Billing best practices | ||
If you don’t have multiple billing owners across your organization, or if you want to keep billing separate for any reason, then this feature isn’t necessary. | ||
--- | ||
|
||
# How It Works | ||
When a **Domain Admin** enables Consolidated Domain Billing: | ||
|
||
If you have an Annual Subscription and enable Consolidated Domain Billing, the Consolidated Domain Billing feature will gather the amounts due for each Group workspace Billing Owner (listed under **Settings > Workspaces > Group**). To make full use of the Annual Subscription for all workspaces in your domain, you should also be the billing owner for all Group workspaces. | ||
- All **Group Workspaces** owned by users with an email address matching the domain will be billed to the **Primary Contact** listed under **Domain Admins**. | ||
- Individual workspace billing owners will no longer receive separate charges. | ||
|
||
--- | ||
|
||
# Best Practices | ||
- **When to Use It**: If multiple billing owners exist in your organization but you want a single, consolidated bill. | ||
- **When to Avoid It**: If you need to keep workspace billing separate for accounting or financial tracking purposes. | ||
- **Annual Subscription Considerations**: | ||
- If you have an **Annual Subscription**, Consolidated Domain Billing will combine the amounts due for each Group workspace billing owner. | ||
- To maximize savings, the **Primary Contact** should also be the billing owner for all Group Workspaces. | ||
|
||
--- | ||
|
||
{% include faq-begin.md %} | ||
# FAQ | ||
|
||
## How do I take over the billing of a workspace with Consolidated Domain Billing enabled? | ||
You’ll have to toggle off Consolidated Domain Billing, take over ownership of the workspace, and then toggle it back on. | ||
## How do I take over the billing of a workspace with Consolidated Domain Billing enabled? | ||
1. Toggle off **Consolidated Domain Billing**. | ||
2. Take ownership of the workspace. | ||
3. Toggle **Consolidated Domain Billing** back on. | ||
|
||
## Can I use Consolidated Domain Billing to cover the bill for some workspaces, but not others? | ||
No, this feature means that you’ll be paying the bill for all domain members who choose a subscription. | ||
## Can I cover the bill for some workspaces but not others? | ||
No, enabling this feature means you will be billed for **all** domain members who choose a subscription. | ||
|
||
{% include faq-end.md %} |
Oops, something went wrong.