Skip to content
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

Handle error in workspace's bank account page #15394

Merged
merged 32 commits into from
Apr 20, 2023

Conversation

aldo-expensify
Copy link
Contributor

@aldo-expensify aldo-expensify commented Feb 23, 2023

Details

Handle errors when disconnecting VBBA from workspace and when restarting VBBA setup
Refactored code deciding to show ContinueBankAccountSetup making it more consistent across different cases (refresh with the workspace's VBBA page open, open for the first time the workspace's VBBA page, open for a second time the workspace's VBBA page, open the VBBA page directly using a URL)

Fixed Issues

$ #14999
PROPOSAL: GH_LINK_ISSUE(COMMENT)

Tests

Error setup: When needed, to easily force the backend to throw an error when using the command RestartBankAccountSetup, hardcode the bankAccountID sent in the request to 0 here:

The flows that end with an error in the view with the options "Continue with setup" / "Start over" should look like this:
image

With an account that has a workspace and no VBBA:

  • Login, go to Settings > Workspace > Connect with bank account: Should show buttons "Connect online with Plaid" / "Connect manually" and the url should be /bank-account/new
  • Login, go to Settings > Workspace > Connect with bank account, close RHN, go to Settings > Workspace > Connect with bank account again: Should show buttons "Connect online with Plaid" / "Connect manually" and the url should be /bank-account/new
  • (WEB only) Login, load directly url ‘/bank-account/new’: Should show buttons "Connect online with Plaid" / "Connect manually" and the url should be /bank-account/new

Having a bank account in progress (completed Company information step and reached Personal information):

  • Login, go to Settings > Workspace > Connect with bank account: Should show options “Continue with setup” / “Start over”, the url is /bank-account (no step). Clicking “Continue with setup” should take you to the right step with the right url (step in the url)
  • Login, go to Settings > Workspace > Connect with bank account: Should show options “Continue with setup” / “Start over”, the url is /bank-account (no step). Refresh the page, you should get the same view, same options and same url /bank-account.
  • Login, go to Settings > Workspace > Connect with bank account: Should show options “Continue with setup” / “Start over”, the url is /bank-account (no step). Clicking “Start over” should take you to the start with options "Connect online with Plaid" / "Connect manually", and the url should be ‘/bank-account/new‘
  • (Needs error setup) Login, go to Settings > Workspace > Connect with bank account: Should show options “Continue with setup” / “Start over”, the url is /bank-account (no step). Clicking “Start over” throws error, Check reloading, closing the RHN and opening bank account config again, clearing the error
  • (WEB only) Login, Load directly the URL ‘/bank-account/personal-information’: You don’t get the options to “Continue with setup” / “Start over”, instead you are directed straight to the "Personal information" form.

Having a bank account in OPEN state

  • Login, go to Settings > Workspace > Connect with bank account: Should show the option “Disconnect bank account”, the url is ‘/bank-account/enabled‘. Clicking “Disconnect bank account” should take you to the start where you can pick "Connect online with Plaid" / "Connect manually" and the url should be /bank-account/new.
  • Login, go to Settings > Workspace > Connect with bank account: Should show the option “Disconnect bank account”, the url is ‘/bank-account/enabled‘. Refresh the page, you should get the same view, same options and same url
  • Login, go to Settings > Workspace > Connect with bank account: Should show the option “Disconnect bank account”, the url is ‘/bank-account/enabled‘. Close the RHN, got back to Settings > Workspace > Connect with bank account you should get the same view, same options and same url.
  • (Needs Error setup) Login, go to Settings > Workspace > Connect with bank account: Should show the option “Disconnect bank account”, the url is ‘/bank-account/enabled‘. Click “Disconnect bank account”, after loading, it should show an error message with an "X" to dismiss. Verify the red block path and verify that clearing the error works.

Having a bank account in PENDING state (waiting to enter verification numbers):

  • Login, go to Settings > Workspace > Connect with bank account: Should show options “Continue with setup” / “Start over”, the url is /bank-account (no step). Clicking “Continue with setup” should take you to the step to enter transactions with the url /bank-account/validate.

  • Login, go to Settings > Workspace > Connect with bank account: Should show options “Continue with setup” / “Start over”, the url is /bank-account (no step). Refresh the page, you should get the same view, same options and same url

  • Verify that no errors appear in the JS console

Offline tests

The add VBBA flow requires internet to work, so the offline support is very limited. You can see that there is a loading spinner when you restart, we can't proceed optimistically without the response from the server.

If you disable the internet connection and click a button like "Disconnect bank account", you will get a page telling you that you need a connection.

QA Steps

Feel free to ping @aldo-expensify to take over the lengthy QA

Error setup: When needed, you will need to:

  1. Create an account and set up a domain for it.
  2. In NewDot, create a workspace for that account and create a VBA in it
  3. In NewDot, Make sure you can see the VBA in the Personal Payments Method page
  4. Set up that Domain and use the VBBA of the workspace for the Expensify Card

Under this setup, trying to delete the VBBA will throw an error.

With an account that has a workspace and no VBBA:

  • Login, go to Settings > Workspace > Connect with bank account: Should show buttons "Connect online with Plaid" / "Connect manually" and the url should be /bank-account/new
  • Login, go to Settings > Workspace > Connect with bank account, close RHN, go to Settings > Workspace > Connect with bank account again: Should show buttons "Connect online with Plaid" / "Connect manually" and the url should be /bank-account/new
  • (WEB only) Login, load directly url ‘/bank-account/new’: Should show buttons "Connect online with Plaid" / "Connect manually" and the url should be /bank-account/new

Having a bank account in progress (completed Company information step and reached Personal information):

  • Login, go to Settings > Workspace > Connect with bank account: Should show options “Continue with setup” / “Start over”, the url is /bank-account (no step). Clicking “Continue with setup” should take you to the right step with the right url (step in the url)
  • Login, go to Settings > Workspace > Connect with bank account: Should show options “Continue with setup” / “Start over”, the url is /bank-account (no step). Refresh the page, you should get the same view, same options and same url /bank-account.
  • Login, go to Settings > Workspace > Connect with bank account: Should show options “Continue with setup” / “Start over”, the url is /bank-account (no step). Clicking “Start over” should take you to the start with options "Connect online with Plaid" / "Connect manually", and the url should be ‘/bank-account/new‘
  • (WEB only) Login, Load directly the URL ‘/bank-account/personal-information’: You don’t get the options to “Continue with setup” / “Start over”, instead you are directed straight to the "Personal information" form.

Having a bank account in OPEN state

  • Login, go to Settings > Workspace > Connect with bank account: Should show the option “Disconnect bank account”, the url is ‘/bank-account/enabled‘. Clicking “Disconnect bank account” should take you to the start where you can pick "Connect online with Plaid" / "Connect manually" and the url should be /bank-account/new.
  • Login, go to Settings > Workspace > Connect with bank account: Should show the option “Disconnect bank account”, the url is ‘/bank-account/enabled‘. Refresh the page, you should get the same view, same options and same url
  • Login, go to Settings > Workspace > Connect with bank account: Should show the option “Disconnect bank account”, the url is ‘/bank-account/enabled‘. Close the RHN, got back to Settings > Workspace > Connect with bank account you should get the same view, same options and same url.
  • (* Need error setup) Login, go to Settings > Workspace > Connect with bank account: Should show the option “Disconnect bank account”, the url is ‘/bank-account/enabled‘. Click “Disconnect bank account”, after loading, it should show an error message with an "X" to dismiss. Verify the red block path and verify that clearing the error works.

Having a bank account in PENDING state (waiting to enter verification numbers):

  • Login, go to Settings > Workspace > Connect with bank account: Should show options “Continue with setup” / “Start over”, the url is /bank-account (no step). Clicking “Continue with setup” should take you to the step to enter transactions with the url /bank-account/validate.

  • Login, go to Settings > Workspace > Connect with bank account: Should show options “Continue with setup” / “Start over”, the url is /bank-account (no step). Refresh the page, you should get the same view, same options and same url

  • Verify that no errors appear in the JS console

PR Author Checklist

  • I linked the correct issue in the ### Fixed Issues section above
  • I wrote clear testing steps that cover the changes made in this PR
    • I added steps for local testing in the Tests section
    • I added steps for the expected offline behavior in the Offline steps section
    • I added steps for Staging and/or Production testing in the QA steps section
    • I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
    • I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
    • I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).
  • I included screenshots or videos for tests on all platforms
  • I ran the tests on all platforms & verified they passed on:
    • Android / native
    • Android / Chrome
    • iOS / native
    • iOS / Safari
    • MacOS / Chrome / Safari
    • MacOS / Desktop
  • I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
  • I followed proper code patterns (see Reviewing the code)
    • I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
    • I verified that comments were added to code that is not self explanatory
    • I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
    • I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
      • If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:
    • I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
    • I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
    • I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
    • I verified the JSDocs style guidelines (in STYLE.md) were followed
  • If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
  • I followed the guidelines as stated in the Review Guidelines
  • I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
  • I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
  • I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
  • I verified that if a function's arguments changed that all usages have also been updated correctly
  • If a new component is created I verified that:
    • A similar component doesn't exist in the codebase
    • All props are defined accurately and each prop has a /** comment above it */
    • The file is named correctly
    • The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
    • The only data being stored in the state is data necessary for rendering and nothing else
    • For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
    • Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
    • All JSX used for rendering exists in the render method
    • The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions
  • If any new file was added I verified that:
    • The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory
  • If a new CSS style is added I verified that:
    • A similar style doesn't already exist
    • The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)
  • If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
  • If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
  • If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
  • If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
  • I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
Screen.Recording.2023-02-27.at.4.04.37.PM.mov
Mobile Web - Chrome
Screen.Recording.2023-02-27.at.4.56.50.PM.mov
Mobile Web - Safari
Screen.Recording.2023-02-27.at.4.55.45.PM.mov
Desktop
Screen.Recording.2023-02-27.at.4.57.34.PM.mov
iOS
Screen.Recording.2023-02-27.at.4.54.52.PM.mov
Android
Screen.Recording.2023-02-27.at.4.53.42.PM.mov

@aldo-expensify aldo-expensify self-assigned this Feb 23, 2023
@aldo-expensify aldo-expensify requested a review from a team as a code owner February 23, 2023 01:56
@aldo-expensify aldo-expensify marked this pull request as draft February 23, 2023 01:56
@aldo-expensify
Copy link
Contributor Author

Current state:
image

@melvin-bot melvin-bot bot requested review from mananjadhav and removed request for a team February 23, 2023 01:57
@MelvinBot
Copy link

@mananjadhav @youssef-lr One of you needs to copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button]

Comment on lines 73 to 80
<OfflineWithFeedback
pendingAction={pendingAction}
errors={errors}
shouldShowErrorMessage
onClose={() => {
PaymentMethods.clearDeletePaymentMethodError(ONYXKEYS.BANK_ACCOUNT_LIST, achData.bankAccountID);
}}
>
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks like a lot of changes because of the change of level of indentation

@aldo-expensify aldo-expensify changed the title [WIP] Handle error in workspace's bank account page Handle error in workspace's bank account page Feb 27, 2023
@aldo-expensify aldo-expensify requested review from s77rt and removed request for mananjadhav February 27, 2023 23:05
@aldo-expensify
Copy link
Contributor Author

Taking PR screenshots...

@@ -266,7 +266,6 @@ function openReimbursementAccountPage(stepToOpen, subStep, localCurrentStep) {
onyxMethod: CONST.ONYX.METHOD.MERGE,
key: ONYXKEYS.REIMBURSEMENT_ACCOUNT,
value: {
errors: null,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We re-load the reimbursementAccount data each time we enter the "Connect bank account" page of a workspace. If there is an error, errors: null, was clearing the errors, not allowing the user to clear it with the X and not giving time to read it.

Comment on lines +61 to +65
<OfflineWithFeedback
pendingAction={pendingAction}
errors={errors}
shouldShowErrorMessage
onClose={BankAccounts.resetReimbursementAccount}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wrapped in OfflineWithFeedback to:

  • Show error
  • Add strikethrough if offline and pendingAction = 'delete'

@@ -115,6 +120,7 @@ class WorkspacesListPage extends Component {
* @returns {Array} the menu item list
*/
getWorkspaces() {
const reimbursementAccountBrickRoadIndicator = !_.isEmpty(this.props.reimbursementAccount.errors) ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : '';
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The reimbursementAccount is not per workspace. There is a single one. All workspaces will appear with a red dot if there is an error in reimbursementAccount.errors

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to be sure, if you link a bank account with any workspace, it will be linked with all of them?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That seems to be how it is currently modelled. You can have N workspaces, but can only have one reimbursementAccount, so it is shared across workspaces.

@aldo-expensify
Copy link
Contributor Author

aldo-expensify commented Mar 27, 2023

@s77rt can you give me a hand checking the current behaviour in main when you try this with 2 devices? I'm guessing that it may be similarly not very well supported.

I guess the part that makes sense to check out in main is the one where you try to continue, but the VBBA doesn't really exist anymore.

@s77rt
Copy link
Contributor

s77rt commented Mar 27, 2023

@aldo-expensify

can you give me a hand checking the current behaviour in main when you try #15394 (comment) with 2 devices?

I don't think this exists on main as there is no error being handled.

I guess the part that makes sense to check out in main is the one where you try to continue, but the VBBA doesn't really exist anymore.

This behaviour exists on main too since it's linked to the backend response.
Screenshot from 2023-03-27 22-10-49

Comment on lines +47 to +65
const errors = lodashGet(props.reimbursementAccount, 'errors', {});
const pendingAction = lodashGet(props.reimbursementAccount, 'pendingAction', null);
return (
<ScreenWrapper includeSafeAreaPaddingBottom={false}>
<FullPageNotFoundView shouldShow={_.isEmpty(props.policy)}>
<HeaderWithCloseButton
title={props.translate('workspace.common.bankAccount')}
subtitle={props.policyName}
onCloseButtonPress={Navigation.dismissModal}
onBackButtonPress={Navigation.goBack}
shouldShowGetAssistanceButton
guidesCallTaskID={CONST.GUIDES_CALL_TASK_IDS.WORKSPACE_BANK_ACCOUNT}
shouldShowBackButton
/>
<ScrollView style={styles.flex1}>
<Section
title={props.translate('workspace.bankAccount.almostDone')}
icon={Illustrations.BankArrow}
>
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks like lots of changes but it is really just an indentation level change + these new variables errors and pendingAction

@aldo-expensify
Copy link
Contributor Author

aldo-expensify commented Apr 14, 2023

Updated the PR / resolved conflicts.

@s77rt can you review this again 🙏 ? As you have seen, there are things that don't work great when you play with two devices at the same time, but these things also don't work in main. Lets not get caught and blocked in this kind of cases unless it is something that works in main and this PR is breaking it. I'm trying to avoid increasing the scope of the PR even more.

Another option for making this easier for review is to split the PR in smaller PR adding small stuff at a time. For example.. add the red brick path stuff, add the errors in the Continue/start over screen/ etc.

@youssef-lr this is ready for review.

@s77rt
Copy link
Contributor

s77rt commented Apr 14, 2023

Will review asap.

@s77rt
Copy link
Contributor

s77rt commented Apr 15, 2023

I have verified tests still pass 👍

No VBBA
no-vbba.mp4
VBAA In Progress (with error)
vbba-in-progress-with-error.mp4
VBBA In Progress
vbba-in-progress.mp4
VBBA Open (with error)
vbba-open-with-error.mp4
VBBA Open
vbba-open.mp4

Copy link
Contributor

@s77rt s77rt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! 🚀

@aldo-expensify aldo-expensify requested a review from a team April 19, 2023 17:30
@melvin-bot melvin-bot bot requested review from jasperhuangg and s77rt and removed request for a team April 19, 2023 17:31
@MelvinBot
Copy link

@s77rt @jasperhuangg One of you needs to copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button]

@youssef-lr youssef-lr removed their request for review April 19, 2023 17:32
Copy link
Contributor

@jasperhuangg jasperhuangg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm and tests well, thanks for writing up those detailed testing steps!

@jasperhuangg jasperhuangg merged commit e0c4211 into main Apr 20, 2023
@jasperhuangg jasperhuangg deleted the aldo_fix-disconnect-workspace-bankaccount branch April 20, 2023 05:46
@OSBotify
Copy link
Contributor

✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

@mvtglobally
Copy link

@aldo-expensify let us know if you plan to QA or should we take some platforms

@OSBotify
Copy link
Contributor

🚀 Deployed to staging by https://github.com/jasperhuangg in version: 1.3.3-0 🚀

platform result
🤖 android 🤖 success ✅
🖥 desktop 🖥 success ✅
🍎 iOS 🍎 success ✅
🕸 web 🕸 success ✅

@aldo-expensify
Copy link
Contributor Author

@mvtglobally I can take care of the QA if needed, did you already do it?

@mvtglobally
Copy link

@aldo-expensify it would be great if you can. It sounds complex. 😜

@aldo-expensify
Copy link
Contributor Author

aldo-expensify commented Apr 21, 2023

QA Steps

Error setup: I'm using the applause testing account applausetester+092021fish@applause.expensifail.com because it has the setup we need.

Under this setup, trying to delete the VBBA will throw an error.

With an account that has a workspace and no VBBA:

  • Login, go to Settings > Workspace > Connect with bank account: Should show buttons "Connect online with Plaid" / "Connect manually" and the url should be /bank-account/new
  • Login, go to Settings > Workspace > Connect with bank account, close RHN, go to Settings > Workspace > Connect with bank account again: Should show buttons "Connect online with Plaid" / "Connect manually" and the url should be /bank-account/new
  • (WEB only) Login, load directly url ‘/bank-account/new’: Should show buttons "Connect online with Plaid" / "Connect manually" and the url should be /bank-account/new

Screenshot 2023-04-21 at 1 02 28 PM
Screenshot 2023-04-21 at 1 02 34 PM

Having a bank account in progress (completed Company information step and reached Personal information):

  • Login, go to Settings > Workspace > Connect with bank account: Should show options “Continue with setup” / “Start over”, the url is /bank-account (no step). Clicking “Continue with setup” should take you to the right step with the right url (step in the url)
  • Login, go to Settings > Workspace > Connect with bank account: Should show options “Continue with setup” / “Start over”, the url is /bank-account (no step). Refresh the page, you should get the same view, same options and same url /bank-account.
  • Login, go to Settings > Workspace > Connect with bank account: Should show options “Continue with setup” / “Start over”, the url is /bank-account (no step). Clicking “Start over” should take you to the start with options "Connect online with Plaid" / "Connect manually", and the url should be ‘/bank-account/new‘
  • (WEB only) Login, Load directly the URL ‘/bank-account/personal-information’: You don’t get the options to “Continue with setup” / “Start over”, instead you are directed straight to the "Personal information" form.
Screen.Recording.2023-04-21.at.1.09.26.PM.mov

Having a bank account in OPEN state

  • Login, go to Settings > Workspace > Connect with bank account: Should show the option “Disconnect bank account”, the url is ‘/bank-account/enabled‘. Clicking “Disconnect bank account” should take you to the start where you can pick "Connect online with Plaid" / "Connect manually" and the url should be /bank-account/new.
  • Login, go to Settings > Workspace > Connect with bank account: Should show the option “Disconnect bank account”, the url is ‘/bank-account/enabled‘. Refresh the page, you should get the same view, same options and same url
  • Login, go to Settings > Workspace > Connect with bank account: Should show the option “Disconnect bank account”, the url is ‘/bank-account/enabled‘. Close the RHN, got back to Settings > Workspace > Connect with bank account you should get the same view, same options and same url.
  • (* Need error setup) Login, go to Settings > Workspace > Connect with bank account: Should show the option “Disconnect bank account”, the url is ‘/bank-account/enabled‘. Click “Disconnect bank account”, after loading, it should show an error message with an "X" to dismiss. Verify the red block path and verify that clearing the error works.
Screen.Recording.2023-04-21.at.1.11.44.PM.mov

Red dots path and error:

Screenshot 2023-04-21 at 1 04 28 PM
Screenshot 2023-04-21 at 1 04 42 PM

Screenshot 2023-04-21 at 1 04 48 PM
Screenshot 2023-04-21 at 1 04 56 PM

Screenshot_20230421-131906
Screenshot_20230421-131855
Screenshot_20230421-131834

Having a bank account in PENDING state (waiting to enter verification numbers):

  • Login, go to Settings > Workspace > Connect with bank account: Should show options “Continue with setup” / “Start over”, the url is /bank-account (no step). Clicking “Continue with setup” should take you to the step to enter transactions with the url /bank-account/validate.
  • Login, go to Settings > Workspace > Connect with bank account: Should show options “Continue with setup” / “Start over”, the url is /bank-account (no step). Refresh the page, you should get the same view, same options and same url
Screen.Recording.2023-04-21.at.1.15.04.PM.mov

@aldo-expensify
Copy link
Contributor Author

QA passed ✅

@OSBotify
Copy link
Contributor

🚀 Deployed to production by https://github.com/mountiny in version: 1.3.3-2 🚀

platform result
🤖 android 🤖 success ✅
🖥 desktop 🖥 success ✅
🍎 iOS 🍎 success ✅
🕸 web 🕸 success ✅

title={props.translate('workspace.bankAccount.almostDone')}
icon={Illustrations.BankArrow}
>
<OfflineWithFeedback
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi all! Just dropping a note that this PR caused issue - #18517

Wrapping with OfflineWithFeedback crosses out all text. In bank account page, it doesn't makes sense to have the strikethrough because the component is static, that is not showing a user input (chat message, workspace etc).

image

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice catch, but with removing the pending action we may lose some other intended strikethough styles?

https://github.com/Expensify/App/pull/15394/files#r1119420530

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants