-
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.
- Loading branch information
Showing
22 changed files
with
291 additions
and
230 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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -463,49 +463,80 @@ You can only build HybridApp if you have been granted access to [`Mobile-Expensi | |
[url "https://github.com/"] | ||
insteadOf = ssh://[email protected]/ | ||
``` | ||
3. The first time you build the app you will need to build YAPL (OldDot javascript logic). Simply run `npm run grunt:build:shared` from the `Mobile-Expensify` submodule | ||
- The following runtime error often indicates that YAPL has not been built correctly: `undefined is not an object (evaluating'Store.ReportHistory.bindCacheClearingEvents')` | ||
- To prevent `Mobile-Expensify` submodule commit hash changes from appearing in `git status`, configure Git to ignore them by adding this to your local `.git/config`: | ||
``` | ||
[submodule "Mobile-Expensify"] | ||
ignore = all | ||
``` | ||
This ensures that submodule changes are ignored unless you deliberately update them. | ||
|
||
|
||
> [!Note] | ||
> #### For external agencies and C+ contributors only | ||
> | ||
> If you'd like to modify the `Mobile-Expensify` source code, it is best that you create your own fork. Then, you can swap origin of the remote repository by executing this command: | ||
> | ||
> `cd Mobile-Expensify && git remote set-url origin <YOUR_FORK_URL>` | ||
> | ||
> This way, you'll attach the submodule to your fork repository. | ||
|
||
At this point, the default behavior of some `npm` scripts will change to target HybridApp: | ||
- `npm run android` - build HybridApp for Android | ||
- `npm run ios` - build HybridApp for iOS | ||
- `npm run ipad` - build HybridApp for iPad | ||
- `npm run ipad-sm` - build HybridApp for small iPad | ||
- `npm run pod-install` - install pods for HybridApp | ||
- `npm run clean` - clean native code of HybridApp | ||
- Before building the app, you need to install dependencies. Run `npm install` from `Expensify/App` (this will also install dependencies for `Mobile-Expensify`) | ||
|
||
**At this point, the default behavior of some `npm` scripts will change to target HybridApp (the script that determines whether to use HybridApp or standalone scripts can be found in `scripts/is-hybrid-app.sh`):** | ||
| Command | Description | | ||
| --------------------- | ---------------------------------- | | ||
| `npm run android` | Build **HybridApp** for Android | | ||
| `npm run ios` | Build **HybridApp** for iOS | | ||
| `npm run ipad` | Build **HybridApp** for iPad | | ||
| `npm run ipad-sm` | Build **HybridApp** for small iPad | | ||
| `npm run pod-install` | Install pods for **HybridApp** | | ||
| `npm run clean` | Clean native code of **HybridApp** | | ||
|
||
If for some reason, you need to target the standalone NewDot application, you can append `*-standalone` to each of these scripts (eg. `npm run ios-standalone` will build NewDot instead of HybridApp). The same concept applies to the installation of standalone NewDot node modules. To skip the installation of HybridApp-specific patches and node modules, use `npm run i-standalone` or `npm run install-standalone`. | ||
|
||
## Working with HybridApp | ||
Day-to-day work with HybridApp shouldn't differ much from the work on the standalone NewDot repo. | ||
| Command | Description | | ||
| -------------------------------- | ----------------------------------------------------------- | | ||
| `npm run install-standalone` | Install standalone **NewDot** node modules (`npm install`). | | ||
| `npm run clean-standalone` | Clean native code for standalone **NewDot**. | | ||
| `npm run android-standalone` | Build **NewDot** for Android in standalone mode. | | ||
| `npm run ios-standalone` | Build **NewDot** for iOS in standalone mode. | | ||
| `npm run pod-install-standalone` | Install pods for standalone **NewDot**. | | ||
| `npm run ipad-standalone` | Build **NewDot** for iPad in standalone mode. | | ||
| `npm run ipad-sm-standalone` | Build **NewDot** for small iPad in standalone mode. | | ||
|
||
The main difference is that the native code which runs React Native is located in `./Mobile-Expensify/Android` and `./Mobile-Expensify/iOS` directories. It means, that changes in `./android` and `./ios` folders in the root **won't affect the HybridApp build**. | ||
### Working with HybridApp vs Standalone NewDot | ||
|
||
In that case, if you'd like to eg. remove `Pods`, you need to do it in `./Mobile-Expensify/iOS`. The same rule applies to Android builds - if you'd like to delete `.cxx`, `build` or `.gradle` directories, you need to go to `./Mobile-Expensify/android` first. | ||
Day-to-day work with **HybridApp** shouldn't differ much from working on the standalone **NewDot** repository. | ||
The primary difference is that the native code, which runs React Native, is located in the following directories: | ||
Additionally, If you'd like to open the HybridApp project in Android Studio or XCode, you **must choose a workspace located in the `Mobile-Expensify`** directory: | ||
- `./Mobile-Expensify/Android` | ||
- `./Mobile-Expensify/iOS` | ||
- Android: `./Mobile-Expensify/Android` | ||
- iOS: `./Mobile-Expensify/iOS/Expensify.xcworkspace` | ||
### Important Notes: | ||
1. **Root Folders Do Not Affect HybridApp Builds:** | ||
- Changes made to the `./android` and `./ios` folders at the root of the repository **won't affect the HybridApp build**. | ||
|
||
### Updating the Mobile-Expensify submodule | ||
2. **Modifying iOS Code for HybridApp:** | ||
- If you need to remove `Pods`, you must do it in the **`./Mobile-Expensify/iOS`** directory. | ||
|
||
`Mobile-Expensify` directory is a git submodule. It means, that it points to a specific commit on the `Mobile-Expensify` repository. If you'd like to download the most recent changes from `main`, please use the following command: | ||
3. **Modifying Android Builds for HybridApp:** | ||
- If you'd like to delete files such as `.cxx`, `build`, or `.gradle` directories, you need to navigate to **`./Mobile-Expensify/android`**. | ||
`git submodule update --remote` | ||
4. **Opening the HybridApp Project in IDEs:** | ||
- To open the HybridApp project in **Android Studio** or **Xcode**, you **must select the workspace located in the `Mobile-Expensify` directory**: | ||
- **Android**: `./Mobile-Expensify/Android` | ||
- **iOS**: `./Mobile-Expensify/iOS/Expensify.xcworkspace` | ||
### Modifying Mobile-Expensify code | ||
### Updating the `Mobile-Expensify` Submodule | ||
It's important to emphasise that a git submodule is just a **regular git repository** after all. It means that you can switch branches, pull the newest changes, and execute all regular git commands within the `Mobile-Expensify` directory. | ||
The `Mobile-Expensify` directory is a **Git submodule**. This means it points to a specific commit on the `Mobile-Expensify` repository. | ||
> [!Note] | ||
> #### For external contributors | ||
> | ||
> If you'd like to modify the `Mobile-Expensify` source code, it is best that you create your own fork. Then, you can swap origin of the remote repository by executing this command: | ||
> | ||
> `cd Mobile-Expensify && git remote set-url origin <YOUR_FORK_URL>` | ||
> | ||
> This way, you'll attach the submodule to your fork repository. | ||
If you'd like to download the most recent changes from the `main` branch, please use the following command: | ||
```bash | ||
git submodule update --remote | ||
``` | ||
|
||
It's important to emphasize that a git submodule is just a **regular git repository** after all. It means that you can switch branches, pull the newest changes, and execute all regular git commands within the `Mobile-Expensify` directory. | ||
### Adding HybridApp-related patches | ||
|
@@ -607,22 +638,22 @@ Updated rules for managing members across all types of chats in New Expensify. | |
- **Excepting the above, anybody can remove themselves from any object** | ||
1. ### DM | ||
| | Member | ||
| :---: | :---: | ||
| **Invite** | ❌ | ||
| **Remove** | ❌ | ||
| **Leave** | ❌ | ||
| **Can be removed** | ❌ | ||
| | Member | | ||
| :----------------: | :----: | | ||
| **Invite** | ❌ | | ||
| **Remove** | ❌ | | ||
| **Leave** | ❌ | | ||
| **Can be removed** | ❌ | | ||
- DM always has two participants. None of the participant can leave or be removed from the DM. Also no additional member can be invited to the chat. | ||
2. ### Workspace | ||
1. #### Workspace | ||
| | Creator | Member(Employee/User) | Admin | Auditor? | ||
| :---: | :---: | :---: | :---: | :---: | ||
| **Invite** | ✅ | ❌ | ✅ | ❌ | ||
| **Remove** | ✅ | ❌ | ✅ | ❌ | ||
| **Leave** | ❌ | ✅ | ❌ | ✅ | ||
| **Can be removed** | ❌ | ✅ | ✅ | ✅ | ||
| | Creator | Member(Employee/User) | Admin | Auditor? | | ||
| :----------------: | :-----: | :-------------------: | :---: | :------: | | ||
| **Invite** | ✅ | ❌ | ✅ | ❌ | | ||
| **Remove** | ✅ | ❌ | ✅ | ❌ | | ||
| **Leave** | ❌ | ✅ | ❌ | ✅ | | ||
| **Can be removed** | ❌ | ✅ | ✅ | ✅ | | ||
- Creator can't leave or be removed from their own workspace | ||
- Admins can't leave from the workspace | ||
|
@@ -631,43 +662,43 @@ Updated rules for managing members across all types of chats in New Expensify. | |
- Members and Auditors cannot invite or remove anyone from the workspace | ||
2. #### Workspace #announce room | ||
| | Member(Employee/User) | Admin | Auditor? | ||
| :---: | :---: | :---: | :---: | ||
| **Invite** | ❌ | ❌ | ❌ | ||
| **Remove** | ❌ | ❌ | ❌ | ||
| **Leave** | ❌ | ❌ | ❌ | ||
| **Can be removed** | ❌ | ❌ | ❌ | | ||
| | Member(Employee/User) | Admin | Auditor? | | ||
| :----------------: | :-------------------: | :---: | :------: | | ||
| **Invite** | ❌ | ❌ | ❌ | | ||
| **Remove** | ❌ | ❌ | ❌ | | ||
| **Leave** | ❌ | ❌ | ❌ | | ||
| **Can be removed** | ❌ | ❌ | ❌ | | ||
- No one can leave or be removed from the #announce room | ||
3. #### Workspace #admin room | ||
| | Admin | | ||
| :---: | :---: | ||
| **Invite** | ❌ | ||
| **Remove** | ❌ | ||
| **Leave** | ❌ | ||
| **Can be removed** | ❌ | ||
| | Admin | | ||
| :----------------: | :---: | | ||
| **Invite** | ❌ | | ||
| **Remove** | ❌ | | ||
| **Leave** | ❌ | | ||
| **Can be removed** | ❌ | | ||
- Admins can't leave or be removed from #admins | ||
|
||
4. #### Workspace rooms | ||
| | Creator | Member | Guest(outside of the workspace) | ||
| :---: | :---: | :---: | :---: | ||
| **Invite** | ✅ | ✅ | ✅ | ||
| **Remove** | ✅ | ✅ | ❌ | ||
| **Leave** | ✅ | ✅ | ✅ | ||
| **Can be removed** | ✅ | ✅ | ✅ | ||
| | Creator | Member | Guest(outside of the workspace) | | ||
| :----------------: | :-----: | :----: | :-----------------------------: | | ||
| **Invite** | ✅ | ✅ | ✅ | | ||
| **Remove** | ✅ | ✅ | ❌ | | ||
| **Leave** | ✅ | ✅ | ✅ | | ||
| **Can be removed** | ✅ | ✅ | ✅ | | ||
|
||
- Everyone can be removed/can leave from the room including creator | ||
- Guests are not able to remove anyone from the room | ||
|
||
4. #### Workspace chats | ||
| | Admin | Member(default) | Member(invited) | ||
| :---: | :---: | :---: | :---: | ||
| **Invite** | ✅ | ✅ | ❌ | ||
| **Remove** | ✅ | ✅ | ❌ | ||
| **Leave** | ❌ | ❌ | ✅ | ||
| **Can be removed** | ❌ | ❌ | ✅ | ||
| | Admin | Member(default) | Member(invited) | | ||
| :----------------: | :---: | :-------------: | :-------------: | | ||
| **Invite** | ✅ | ✅ | ❌ | | ||
| **Remove** | ✅ | ✅ | ❌ | | ||
| **Leave** | ❌ | ❌ | ✅ | | ||
| **Can be removed** | ❌ | ❌ | ✅ | | ||
|
||
- Admins are not able to leave/be removed from the workspace chat | ||
- Default members(automatically invited) are not able to leave/be removed from the workspace chat | ||
|
@@ -676,20 +707,20 @@ Updated rules for managing members across all types of chats in New Expensify. | |
- Default members and admins are able to remove invited members | ||
|
||
3. ### Domain chat | ||
| | Member | ||
| :---: | :---: | ||
| **Remove** | ❌ | ||
| **Leave** | ❌ | ||
| **Can be removed** | ❌ | ||
| | Member | | ||
| :----------------: | :----: | | ||
| **Remove** | ❌ | | ||
| **Leave** | ❌ | | ||
| **Can be removed** | ❌ | | ||
|
||
- Domain members can't leave or be removed from their domain chat | ||
4. ### Reports | ||
| | Submitter | Manager | ||
| :---: | :---: | :---: | ||
| **Remove** | ❌ | ❌ | ||
| **Leave** | ❌ | ❌ | ||
| **Can be removed** | ❌ | ❌ | ||
| | Submitter | Manager | | ||
| :----------------: | :-------: | :-----: | | ||
| **Remove** | ❌ | ❌ | | ||
| **Leave** | ❌ | ❌ | | ||
| **Can be removed** | ❌ | ❌ | | ||
- Report submitters can't leave or be removed from their reports (eg, if they are the report.accountID) | ||
- Report managers can't leave or be removed from their reports (eg, if they are the report.managerID) | ||
|
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,4 @@ | ||
--- | ||
title: Accounting Integration Errors | ||
description: Learn how to identify and resolve errors when integrating your accounting software with Expensify. | ||
--- |
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,4 @@ | ||
--- | ||
title: Banking and ACH Reimbursements | ||
description: Understand how to manage banking and ACH reimbursement issues to ensure seamless transactions in Expensify. | ||
--- |
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,4 @@ | ||
--- | ||
title: Create a Personal Expense Report | ||
description: Learn how to create a personal expense report in Expensify to track and manage your expenses effortlessly. | ||
--- |
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,4 @@ | ||
--- | ||
title: Credit Card Troubleshooting for Domain Admins | ||
description: Learn how domain admins can troubleshoot and resolve common credit card issues in Expensify. | ||
--- |
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,4 @@ | ||
--- | ||
title: Deleting Duplicate Expenses | ||
description: Learn how to identify and delete duplicate expenses in Expensify to maintain accurate financial records. | ||
--- |
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,4 @@ | ||
--- | ||
title: Expensify Card Troubleshooting | ||
description: Find solutions to common issues with the Expensify Card and get back to managing your expenses smoothly. | ||
--- |
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,4 @@ | ||
--- | ||
title: Invite Team Members | ||
description: Discover how to invite team members to your Expensify account and collaborate seamlessly on expense management. | ||
--- |
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,4 @@ | ||
--- | ||
title: Issues Receiving the Magic Code | ||
description: Troubleshoot problems with receiving the magic code and access your Expensify account without interruptions. | ||
--- |
4 changes: 4 additions & 0 deletions
4
docs/Hidden/personal-credit-card-troubleshooting-for-individuals.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 |
---|---|---|
@@ -0,0 +1,4 @@ | ||
--- | ||
title: Personal Credit Card Troubleshooting for Individuals | ||
description: Discover solutions for common personal credit card issues and how to resolve them effectively in Expensify. | ||
--- |
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,6 @@ | ||
--- | ||
title: SAML SSO Error | ||
description: Troubleshoot SAML SSO errors to ensure seamless and secure access to your Expensify account. | ||
--- | ||
|
||
![Test for HD audit this page will be hidden and and later deleted]({{site.url}}/assets/images/SAML-SSO.png){:width="100%"} |
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,4 @@ | ||
--- | ||
title: Update Your Contact Information | ||
description: Find out how to update your contact information in Expensify to ensure your account details stay current. | ||
--- |
Oops, something went wrong.