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

[HOLD for payment 2023-02-01] [$250] There's no back button at bank offline blocking view reported by @thesahindia #12708

Closed
kavimuru opened this issue Nov 14, 2022 · 39 comments
Assignees
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Bug Something is broken. Auto assigns a BugZero manager. Internal Requires API changes or must be handled by Expensify staff Weekly KSv2

Comments

@kavimuru
Copy link

If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!


Action Performed:

  1. Disconnect the internet connection
  2. Navigate to settings > Workspaces
  3. Select a workspace
  4. Click on "connect bank account"

Expected Result:

There should be a back button

Actual Result:

There's no back button

Workaround:

unknown

Platform:

Where is this issue occurring?

  • Web
  • iOS
  • Android
  • Desktop App
  • Mobile Web

Version Number: 1.2.27-3

Reproducible in staging?: y

Reproducible in production?: y

Email or phone of affected tester (no customers):

Logs: https://stackoverflow.com/c/expensify/questions/4856

Notes/Photos/Videos:

https://user-images.githubusercontent.com/43996225/201705335-a707a598-e65e-42cb-9b4e-6f2556c555a9.mov
Screenshot (99)

Expensify/Expensify Issue URL:

Issue reported by: @thesahindia

Slack conversation:
https://expensify.slack.com/archives/C049HHMV9SM/p1668369917906139

View all open jobs on GitHub

@kavimuru kavimuru added Daily KSv2 Bug Something is broken. Auto assigns a BugZero manager. labels Nov 14, 2022
@melvin-bot
Copy link

melvin-bot bot commented Nov 14, 2022

Triggered auto assignment to @dylanexpensify (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

@Puneet-here
Copy link
Contributor

Proposal

We need to show the back button when the user is offline we can make the changes as suggested at ReimbursementAccountLoadingIndicator

         <HeaderWithCloseButton
             title={props.translate('reimbursementAccountLoadingAnimation.oneMoment')}
             onCloseButtonPress={Navigation.dismissModal}
+            shouldShowBackButton={props.network.isOffline}
+            onBackButtonPress={Navigation.goBack}
         />
         <FullPageOfflineBlockingView>
             {props.isSubmittingVerificationsData ? (
@@ -49,4 +53,7 @@ const ReimbursementAccountLoadingIndicator = props => (
 ReimbursementAccountLoadingIndicator.propTypes = propTypes;
 ReimbursementAccountLoadingIndicator.displayName = 'ReimbursementAccountLoadingIndicator';
 
-export default withLocalize(ReimbursementAccountLoadingIndicator);
+export default compose(
+    withNetwork(),
+    withLocalize,
+)(ReimbursementAccountLoadingIndicator);

@melvin-bot
Copy link

melvin-bot bot commented Nov 14, 2022

Looks like something related to react-navigation may have been mentioned in this issue discussion.

As a reminder, please make sure that all proposals are not workarounds and that any and all attempt to fix the issue holistically have been made before proceeding with a solution. Proposals to change our DeprecatedCustomActions.js files should not be accepted.

Feel free to drop a note in #expensify-open-source with any questions.

@dylanexpensify dylanexpensify added the External Added to denote the issue can be worked on by a contributor label Nov 15, 2022
@melvin-bot
Copy link

melvin-bot bot commented Nov 15, 2022

Current assignee @dylanexpensify is eligible for the External assigner, not assigning anyone new.

@melvin-bot
Copy link

melvin-bot bot commented Nov 15, 2022

Triggered auto assignment to Contributor-plus team member for initial proposal review - @eVoloshchak (External)

@melvin-bot melvin-bot bot added the Help Wanted Apply this label when an issue is open to proposals by contributors label Nov 15, 2022
@melvin-bot
Copy link

melvin-bot bot commented Nov 15, 2022

Triggered auto assignment to @AndrewGable (External), see https://stackoverflow.com/c/expensify/questions/7972 for more details.

@melvin-bot melvin-bot bot changed the title There's no back button at bank offline blocking view reported by @thesahindia [$250] There's no back button at bank offline blocking view reported by @thesahindia Nov 15, 2022
@dylanexpensify
Copy link
Contributor

@eVoloshchak
Copy link
Contributor

@Puneet-here's proposal looks good to me

🎀👀🎀 C+ reviewed!
cc: @AndrewGable

This means back button will be hidden only while a network request is in progress, so is there a reason to hide it at all?
Being able to go back while loading is nice

@AndrewGable
Copy link
Contributor

Agree that user should always be able to go back (I think). I do not think we should hide back button at all.

cc @marcaaron who might have navigation ideas...

@marcaaron
Copy link
Contributor

Agree. This just looks implemented incorrectly to me.

@AndrewGable
Copy link
Contributor

@Puneet-here - Can you amend your proposal with this in mind? Then I will assign and I look forward to reviewing the PR.

@Puneet-here
Copy link
Contributor

Updated proposal

Pass shouldShowBackButton and onBackButtonPress at

         <HeaderWithCloseButton
             title={props.translate('reimbursementAccountLoadingAnimation.oneMoment')}
             onCloseButtonPress={Navigation.dismissModal}
+            shouldShowBackButton
+            onBackButtonPress={Navigation.goBack}
         />

@melvin-bot melvin-bot bot added the Overdue label Nov 20, 2022
@melvin-bot
Copy link

melvin-bot bot commented Nov 21, 2022

@AndrewGable, @eVoloshchak, @dylanexpensify Whoops! This issue is 2 days overdue. Let's get this updated quick!

@dylanexpensify
Copy link
Contributor

reviewing today!

@melvin-bot melvin-bot bot removed the Overdue label Nov 21, 2022
@marcaaron
Copy link
Contributor

On second thought... I am looking at this again... and not really sure if we need to do this. If you're offline you can't really move through the different steps of the bank account flow anyway. cc @MariaHCD who might know more (or who would know).

@thesahindia
Copy link
Member

I believe there should be a back button. If a user clicks at "connect bank account" in workspace (when offline) they will see the offline blocking view. Now if they wanna do something else, they will try to go back but there is no back button.

@ctkochan22
Copy link
Contributor

So this offline blocker is introduced in ReimbursementAccountPage.js and its used between steps as well.

When not in a loading state, the is a back button send the user to the previous setup step. So instead of jumping back to the last page like Navigation.goBack(), we need to go to the previous setup step in the flow, regardless of where they were before this. For example, if on the "Personal Information" step, if you click the back button, it does not go to the last navigation step. It instead goes to Company step.

Introducing a back button here with the logic Navigation.goBack() will be strange for the user when:

  • Here the back button takes them back to the company step
    image
  • And here, the back button goes back to the previous page which is the workspace settings.
    image

Instead, we can do a few things.

  1. We could not offer the back button during the offline/loading periods
  2. Extract and consolidate the go back logic from BankStep, RequestorStep, etc. Pass that extracted go back method into ReimbursementAccountLoadingIndicator and the substep, so that they will all work consistently.

I think the 2nd option may be the way to go? @nkuoch @MariaHCD curious as to your thoughts

@melvin-bot melvin-bot bot added the Overdue label Nov 24, 2022
@eVoloshchak
Copy link
Contributor

@ctkochan22, that's a good catch!
I think we should go with the second step
@Puneet-here, could you update your proposal please?

@melvin-bot melvin-bot bot removed the Overdue label Nov 24, 2022
@nkuoch nkuoch added Weekly KSv2 and removed Daily KSv2 labels Dec 1, 2022
@nkuoch nkuoch added the Reviewing Has a PR in review label Dec 9, 2022
@melvin-bot melvin-bot bot added Monthly KSv2 and removed Weekly KSv2 labels Jan 2, 2023
@melvin-bot
Copy link

melvin-bot bot commented Jan 2, 2023

This issue has not been updated in over 15 days. @nkuoch, @dylanexpensify eroding to Monthly issue.

P.S. Is everyone reading this sure this is really a near-term priority? Be brave: if you disagree, go ahead and close it out. If someone disagrees, they'll reopen it, and if they don't: one less thing to do!

@JmillsExpensify
Copy link

What's going on with this issue? Do we still have a PR in review?

@nkuoch
Copy link
Contributor

nkuoch commented Jan 19, 2023

Yes, ended up up creating a single PR with a refactoring and fixing several issues of the flow, was ooo at some point and it's a bit long to review because the PR is pretty big. But it's currently in final review and I'm confident it will be merged really soon.

@melvin-bot
Copy link

melvin-bot bot commented Jan 24, 2023

⚠️ Looks like this issue was linked to a Deploy Blocker here

If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.

If a regression has occurred and you are the assigned CM follow the instructions here.

If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.

@melvin-bot melvin-bot bot added Weekly KSv2 Awaiting Payment Auto-added when associated PR is deployed to production and removed Monthly KSv2 labels Jan 25, 2023
@melvin-bot melvin-bot bot changed the title [$250] There's no back button at bank offline blocking view reported by @thesahindia [HOLD for payment 2023-02-01] [$250] There's no back button at bank offline blocking view reported by @thesahindia Jan 25, 2023
@melvin-bot melvin-bot bot removed the Reviewing Has a PR in review label Jan 25, 2023
@melvin-bot
Copy link

melvin-bot bot commented Jan 25, 2023

Reviewing label has been removed, please complete the "BugZero Checklist".

@melvin-bot
Copy link

melvin-bot bot commented Jan 25, 2023

The solution for this issue has been 🚀 deployed to production 🚀 in version 1.2.58-4 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue:

If no regressions arise, payment will be issued on 2023-02-01. 🎊

After the hold period, please check if any of the following need payment for this issue, and if so check them off after paying:

  • External issue reporter
  • Contributor that fixed the issue
  • Contributor+ that helped on the issue and/or PR

As a reminder, here are the bonuses/penalties that should be applied for any External issue:

  • Merged PR within 3 business days of assignment - 50% bonus
  • Merged PR more than 9 business days after assignment - 50% penalty

@melvin-bot
Copy link

melvin-bot bot commented Jan 25, 2023

BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

  • [@nkuoch] The PR that introduced the bug has been identified. Link to the PR: N/A - Bug has always been there
  • [@nkuoch] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment: N/A
  • [@nkuoch] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion: N/A - It was an improvement more than a bug
  • [@dylanexpensify] A regression test has been added or updated so that the same bug will not reach production again. Link to the GH issue for creating the test here:

@melvin-bot melvin-bot bot added the Overdue label Feb 6, 2023
@dylanexpensify
Copy link
Contributor

Working on this today!

@melvin-bot melvin-bot bot removed the Overdue label Feb 6, 2023
@dylanexpensify
Copy link
Contributor

RT here

@thesahindia
Copy link
Member

@dylanexpensify, this is eligible for reporting compensation. We will need an upwork job here.

@dylanexpensify
Copy link
Contributor

Ah yes, will do now

@dylanexpensify
Copy link
Contributor

job here, also invited you!

@thesahindia
Copy link
Member

Applied, thanks!

@dylanexpensify
Copy link
Contributor

offer sent!

@thesahindia
Copy link
Member

@dylanexpensify, accepted!

@dylanexpensify
Copy link
Contributor

paid! Closing this out @nkuoch reopen if something is missing!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Bug Something is broken. Auto assigns a BugZero manager. Internal Requires API changes or must be handled by Expensify staff Weekly KSv2
Projects
None yet
Development

No branches or pull requests

10 participants