Skip to content

Commit

Permalink
Merge branch 'main' into expo-image
Browse files Browse the repository at this point in the history
  • Loading branch information
WojtekBoman committed Nov 22, 2023
2 parents 7bfac55 + e5720a0 commit 74f1be8
Show file tree
Hide file tree
Showing 71 changed files with 1,058 additions and 790 deletions.
10 changes: 1 addition & 9 deletions .github/workflows/createDeployChecklist.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,7 @@ jobs:
- name: Setup Node
uses: ./.github/actions/composite/setupNode

- name: Set up git for OSBotify
id: setupGitForOSBotify
uses: ./.github/actions/composite/setupGitForOSBotifyApp
with:
GPG_PASSPHRASE: ${{ secrets.LARGE_SECRET_PASSPHRASE }}
OS_BOTIFY_APP_ID: ${{ secrets.OS_BOTIFY_APP_ID }}
OS_BOTIFY_PRIVATE_KEY: ${{ secrets.OS_BOTIFY_PRIVATE_KEY }}

- name: Create or update deploy checklist
uses: ./.github/actions/javascript/createOrUpdateStagingDeploy
with:
GITHUB_TOKEN: ${{ steps.setupGitForOSBotify.outputs.OS_BOTIFY_API_TOKEN }}
GITHUB_TOKEN: ${{ github.token }}
2 changes: 1 addition & 1 deletion .github/workflows/deployBlocker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
channel: '#expensify-open-source',
attachments: [{
color: "#DB4545",
text: '💥 We have found a New Expensify Deploy Blocker, if you have any idea which PR could be causing this, please comment in the issue: <${{ github.event.issue.html_url }}|${{ toJSON(github.event.issue.title) }}>',
text: '💥 We have found a New Expensify Deploy Blocker, if you have any idea which PR could be causing this, please comment in the issue: <${{ github.event.issue.html_url }}|${{ github.event.issue.title }}>'.replace(/[&<>"'|]/g, function(m) { return {'&': '&amp;', '<': '&lt;', '>': '&gt;', '"': '&quot;', "'": '&#039;', '|': '&verbar;'}[m]; }),
}]
}
env:
Expand Down
4 changes: 2 additions & 2 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -96,8 +96,8 @@ android {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
multiDexEnabled rootProject.ext.multiDexEnabled
versionCode 1001040107
versionName "1.4.1-7"
versionCode 1001040200
versionName "1.4.2-0"
}

flavorDimensions "default"
Expand Down
124 changes: 121 additions & 3 deletions docs/articles/expensify-classic/account-settings/Close-Account.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,123 @@
---
title: Close Account
title: Close Account
description: Close Account
---
## Resource Coming Soon!
---
# Overview

Here is a walk through of how to close an Expensify account through the website or mobile app.

# How to close your account
On the Web:

1. Go to **Settings** in the left hand menu. Click **Account**.
2. Click “Close Account”
3. Follow the prompts to verify your email or phone number.
4. Your account will be closed, and all data will be deleted.*

![Close Account via Website]({{site.url}}/assets/images/ExpensifyHelp_CloseAccount_Desktop.png){:width="100%"}

On the Mobile App:

Open the app and tap the three horizontal lines in the upper left corner.
Select Settings from the menu.
Look for the "Close Account" option in the "Others" section. (If you don’t see this option, you have a Domain Controlled account and will need to ask your Domain Admin to delete your account.)
Complete the verification process using your email or phone number.
Your account will be closed, and all data will be deleted.*

![Close Account on Mobile Application]({{site.url}}/assets/images/ExpensifyHelp_CloseAccount_Mobile.png){:width="100%"}

These instructions may vary depending on the specific device you are using, so be sure to follow the steps as they appear on your screen.

*Note: Transactions shared with other accounts will still be visible to those accounts. (Example: A report submitted to your company and reimbursed will not be deleted from your company’s account.) Additionally, we are required to retain certain records of transactions in compliance with laws in various jurisdictions.

# How to reopen your account

If your Expensify account is closed and not associated with a verified domain, you can reopen it with the following steps:

1. Visit [expensify.com](https://www.expensify.com/).
2. Attempt to sign in using your email address or phone number associated with the closed account.
3. After entering your user name, you will see a prompt to reopen your account.
4. Click on **Reopen Account**.
5. A magic link will be sent to your email address.
6. Access your email and click on the magic link. This link will take you to Expensify and reopen your account.
7. Follow the prompts to create a new password associated with your account.
8. Your account is now reopened. Any previously approved expense data will still be visible in the account.

Note: Reports submitted and closed on an Individual workspace will not be retained since they have not been approved or shared with anyone else in Expensify.

That's it! Your account is successfully reopened, and you can access your historical data that was shared with other accounts. Remember to recreate any workspaces and adjust settings if needed.

# How to Reopen a Domain-controlled account
Once an account has been **Closed** by a Domain Admin, it can be reopened by any Domain Admin on that domain.

The Domain Admin will simply need to invite the previously closed account in the same manner that new accounts are invited to the Domain. The user will receive a magic link to their email account which they can use to Reopen the account.

# How to retain a free account to keep historical expenses
If you no longer need a group workspace or have a more advanced workspace than necessary in Expensify, and you want to downgrade while retaining your historical data, here's what you should do:

1. If you're part of a group workspace, request the Workspace Admin to remove you, or if you own the workspace, delete it to downgrade to a free version.
2. Once you've removed or been removed from a workspace, start using your free Expensify account. Your submitted expenses will still be saved, allowing you to access the historical data.
3. Domain Admins in the company will still retain access to approved and reimbursed expenses.
4. To keep your data, avoid closing your account. Account closures are irreversible and will result in the deletion of all your unapproved data.

# Deep Dive

## I’m unable to close my account

If you're encountering an error message while trying to close your Expensify account, it's important to pinpoint the specific error. Encountering an error when trying to close your account is typically only experienced if the account has been an admin on a company’s Expensify workspace. (Especially if the account was involved in responsibilities like reimbursing employees or exporting expense reports.)

In order to avoid users accidentally creating issues for their company, Expensify prevents account closure if you still have any individual responsibilities related to a Workspace within the platform. To successfully close your account, you need to ensure that your workspace no longer relies on your account to operate.

Here are the reasons why you might encounter an error when trying to close your Expensify account, along with the actions required to address each of these issues:

- **Account Under a Validated Domain**: If your account is associated with a validated domain, only a Domain Admin can close it. You can find this option in your Domain Admin's settings under Settings > Domains > Domain Members. Afterward, if you have a secondary personal login, you can delete it by following the instructions mentioned above.
- **Sole Domain Admin for Your Company**: If you are the only Domain Admin for your company's domain, you must appoint another Domain Admin before you can close your account. This is to avoid accidentally prohibiting your entire company from using Expensify. You can do this by going to Settings > Domains > [Domain Name] > Domain Admins and making the necessary changes, or you can reset the entire domain.
- **Workspace Billing Owner with an Annual Subscription**: If you are the Workspace Billing Owner with an Annual Subscription, you need to downgrade from the Annual subscription before closing the account. Alternatively, you can have another user take over billing for your workspaces.
- **Ownership of a Company Workspace or Outstanding Balance**: If you own a company workspace or there is an outstanding balance owed to Expensify, you must take one of the following actions before closing your account:

- Make the payment for the outstanding balance.
- Have another user take over billing for the workspace.
- Request a refund for your initial bill.
- Delete the workspace.

- **Preferred Exporter for Your Workspace Integration**: If you are the "Preferred Exporter" for a workspace Integration, you must update the Preferred Exporter before closing your account. You can do this by navigating to **Settings** > **Workspaces** > **Group** > [Workspace name] > **Connections** > **Configure** and selecting any Workspace Admin from the dropdown menu as the Preferred Exporter.
- **Verified Business Account with Outstanding Balance or Locked Status**: If you have a Verified Business Account with an outstanding balance or if the account is locked, you should wait for all payments to settle or unlock the account. To settle the amount owed, go to **Settings** > **Account** > **Payments** > **Bank Accounts** and take the necessary steps.

## Validate the account to close it

Sometimes, you may find yourself with an Expensify account that you don't need. This could be due to various reasons like a company inviting you for reimbursement, a vendor inviting you to pay, or a mistaken sign-up.

In such cases, you have two options:

**Option 1**: Retain the Account for Future Use
You can keep the Expensify account just in case you need it later.

**Option 2**: Close the Account

Start by verifying your email or phone number

Before closing the account, you need to verify that you have access to the email or phone number associated with it. This ensures that only you can close the account.

Here's how to do it:

1. Go to [www.expensify.com](http://www.expensify.com/).
2. Enter your email address or phone number (whichever is associated with the unwanted account).
3. Click the **Resend Link** button.
4. Check your Home Page for the most recent email with the subject line "Please validate your Expensify login." Click the link provided in the email to validate your email address.
- If it's an account linked to a phone number, tap the link sent to your phone.
5. After clicking the validation link, you'll be directed to an Expensify Home Page.
6. Navigate to **Settings** > **Account** > **Account Details** > **Close Account**.
7. Click the **Close My Account** button.
- Re-enter the email address or phone number of the account when prompted.
- Check the box that says, "I understand all of my unsubmitted expense data will be deleted."
- Click the **Close My Account** button.

By following these steps, you can easily verify your email or phone number and close an unwanted Expensify account.

# FAQ

## What should I do if I'm not directed to my account when clicking the validate option from my phone or email?
It's possible your browser has blocked this, either because of some existing cache or extension. In this case, you should follow the Reset Password flow to reset the password and manually gain access with the new password, along with your email address.

## Why don't I see the Close Account option?
It's possible your account is on a managed company domain. In this case, only the admins from that company can close it.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions ios/NewExpensify/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.4.1</string>
<string>1.4.2</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleURLTypes</key>
Expand All @@ -40,7 +40,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
<string>1.4.1.7</string>
<string>1.4.2.0</string>
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
<key>LSApplicationQueriesSchemes</key>
Expand Down
4 changes: 2 additions & 2 deletions ios/NewExpensifyTests/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.4.1</string>
<string>1.4.2</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.4.1.7</string>
<string>1.4.2.0</string>
</dict>
</plist>
18 changes: 9 additions & 9 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "new.expensify",
"version": "1.4.1-7",
"version": "1.4.2-0",
"author": "Expensify, Inc.",
"homepage": "https://new.expensify.com",
"description": "New Expensify is the next generation of Expensify: a reimagination of payments based atop a foundation of chat.",
Expand Down Expand Up @@ -98,7 +98,7 @@
"date-fns-tz": "^2.0.0",
"dom-serializer": "^0.2.2",
"domhandler": "^4.3.0",
"expensify-common": "git+ssh://[email protected]/Expensify/expensify-common.git#e9daa1c475ba047fd13ad50079cd64f730e58c29",
"expensify-common": "git+ssh://[email protected]/Expensify/expensify-common.git#ee14b3255da33d2b6924c357f43393251b6dc6d2",
"expo": "^49.0.0",
"expo-asset": "~8.10.1",
"expo-image": "^1.8.1",
Expand Down
3 changes: 3 additions & 0 deletions src/ONYXKEYS.ts
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,9 @@ const ONYXKEYS = {
REPORT_USER_IS_LEAVING_ROOM: 'reportUserIsLeavingRoom_',
SECURITY_GROUP: 'securityGroup_',
TRANSACTION: 'transactions_',

// Holds temporary transactions used during the creation and edit flow
TRANSACTION_DRAFT: 'transactionsDraft_',
SPLIT_TRANSACTION_DRAFT: 'splitTransactionDraft_',
PRIVATE_NOTES_DRAFT: 'privateNotesDraft_',
NEXT_STEP: 'reportNextStep_',
Expand Down
2 changes: 1 addition & 1 deletion src/components/Alert/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import _ from 'underscore';
*
* @param {String} title The title of the alert
* @param {String} description The description of the alert
* @param {Object[]} options An array of objects with `style` and `onPress` properties
* @param {Object[]} [options] An array of objects with `style` and `onPress` properties
*/
export default (title, description, options) => {
const result = _.filter(window.confirm([title, description], Boolean)).join('\n');
Expand Down
Loading

0 comments on commit 74f1be8

Please sign in to comment.