App icon indicating copy to clipboard operation
App copied to clipboard

[HOLD for payment 2024-12-05] [$250] WS switcher-Different back button behavior when creating workspace via + and Get started button

Open IuliiaHerets opened this issue 1 year ago • 60 comments

If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!


Version Number: v9.0.21-4 Reproducible in staging?: Y Reproducible in production?: Y Email or phone of affected tester (no customers): [email protected] Issue reported by: Applause Internal Team

Action Performed:

Precondition:

  • Account has no workspace.
  1. Go to staging.new.expensify.com
  2. Open workspace switcher.
  3. Click + icon next to "Workspaces".
  4. Click app back button on workspace editor page.
  5. Note that app opens workspace switcher when returning from workspace editor after creating a workspace from workspace switcher.
  6. Delete the workspace.
  7. Go to Inbox.
  8. Open workspace switcher.
  9. Click Get started on "Create a workspace" modal.
  10. Click app back button on workspace editor page.

Expected Result:

App will open workspace switcher when clicking app back button after creating workspace from Create a workspace" modal (should display the same behavior as when the + button is used).

Actual Result:

App returns to Account settings instead.

Workaround:

Unknown

Platforms:

  • [x] Android: Native
  • [x] Android: mWeb Chrome
  • [x] iOS: Native
  • [x] iOS: mWeb Safari
  • [x] MacOS: Chrome / Safari
  • [x] MacOS: Desktop

Screenshots/Videos

https://github.com/user-attachments/assets/b6c6d620-376a-4c2e-8a41-e004ccafbd30

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~013645bc6cec0aa80d
  • Upwork Job ID: 1828169605427820408
  • Last Price Increase: 2024-11-18
  • Automatic offers:
    • etCoderDysto | Contributor | 104995900
Issue OwnerCurrent Issue Owner: @JmillsExpensify

IuliiaHerets avatar Aug 17 '24 20:08 IuliiaHerets

We think that this bug might be related to #vip-vsb

IuliiaHerets avatar Aug 17 '24 20:08 IuliiaHerets

Triggered auto assignment to @JmillsExpensify (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details. Please add this bug to a GH project, as outlined in the SO.

melvin-bot[bot] avatar Aug 17 '24 20:08 melvin-bot[bot]

@JmillsExpensify FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

IuliiaHerets avatar Aug 17 '24 20:08 IuliiaHerets

Edited by proposal-police: This proposal was edited at 2024-08-21 13:09:07 UTC.

Proposal

Please re-state the problem that we are trying to solve in this issue.

Different back button behavior when creating workspace via + and Get started button

What is the root cause of that problem?

  • We are passing the current activeRoute which is the workspace selector modal route(/workspace-switcher) to backTo param here https://github.com/Expensify/App/blob/67ad466251078a3b54558a2ed84876ec2fe18608/src/pages/WorkspaceSwitcherPage/WorkspacesSectionHeader.tsx#L37
  • Then, when back button is pressed, we navigate back to the active route (backTo) here if it is available https://github.com/Expensify/App/blob/8a35256bff4d66d0f0958fd9100e191a8fda404d/src/pages/workspace/WorkspaceInitialPage.tsx#L412-L421

What changes do you think we should make in order to solve the problem?

Following the same pattern used in WorkspaceCardCreateAWorkspace page, we shouldn't pass the active route (/workspace-switcher) to backTo param, and call createWorkspaceWithPolicyDraftAndNavigateToIt without any argument here. When there is no backTo param the else condition will execute -> then the modal will be closed -> and user will be navigated to workspace list page

App.createWorkspaceWithPolicyDraftAndNavigateToIt();

What alternative solutions did you explore? (Optional)

etCoderDysto avatar Aug 17 '24 21:08 etCoderDysto

Hmm interesting. I agree that's inconsistent. I think this comes down to whether we should move UP on pressing back or now. @marcaaron thoughts on this consideration? I can kind of see the argument that UP is a more valid action, so you should always be taken back to the workspace list.

JmillsExpensify avatar Aug 21 '24 12:08 JmillsExpensify

Not too passionate about this one as it's a pretty specific set of actions the user will take to uncover this inconsistency and can't imagine anyone feeling too impeded by either result. Both bring you to a list of workspaces. Both lead to the option to create a new workspace if you choose to do that after you just created one (which is probably an uncommon action in any case).

Ignoring the rules of navigation for a second - I see the workspace selector as less of a "page" and almost more of a pop up selector menu from a UX POV so it doesn't really need to be something we can navigate back to.

marcaaron avatar Aug 21 '24 19:08 marcaaron

Ignoring the rules of navigation for a second - I see the workspace selector as less of a "page" and almost more of a pop up selector menu from a UX POV so it doesn't really need to be something we can navigate back to.

Cool, I agree with this. So then let's make sure that "back" goes to the workspace list for both of these cases.

JmillsExpensify avatar Aug 21 '24 19:08 JmillsExpensify

Job added to Upwork: https://www.upwork.com/jobs/~013645bc6cec0aa80d

melvin-bot[bot] avatar Aug 26 '24 20:08 melvin-bot[bot]

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

melvin-bot[bot] avatar Aug 26 '24 20:08 melvin-bot[bot]

@JmillsExpensify, @mananjadhav Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!

melvin-bot[bot] avatar Aug 30 '24 18:08 melvin-bot[bot]

@JmillsExpensify @mananjadhav this issue was created 2 weeks ago. Are we close to approving a proposal? If not, what's blocking us from getting this issue assigned? Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks!

melvin-bot[bot] avatar Aug 31 '24 17:08 melvin-bot[bot]

📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸

melvin-bot[bot] avatar Sep 02 '24 16:09 melvin-bot[bot]

@JmillsExpensify, @mananjadhav Still overdue 6 days?! Let's take care of this!

melvin-bot[bot] avatar Sep 03 '24 18:09 melvin-bot[bot]

Still waiting for proposals

JmillsExpensify avatar Sep 04 '24 14:09 JmillsExpensify

I have a proposal here https://github.com/Expensify/App/issues/47603#issuecomment-2294986203

etCoderDysto avatar Sep 04 '24 14:09 etCoderDysto

Cool, I agree with this. So then let's make sure that "back" goes to the workspace list for both of these cases.

@etCoderDysto Couldn't understand from your proposals if it covers the expected behavior ^

mananjadhav avatar Sep 04 '24 17:09 mananjadhav

Cool, I agree with this. So then let's make sure that "back" goes to the workspace list for both of these cases.

@etCoderDysto Couldn't understand from your proposals if it covers the expected behavior ^

@mananjadhav I have updated my proposal to cover the expected behaviour.

etCoderDysto avatar Sep 05 '24 08:09 etCoderDysto

Proposal

Please re-state the problem that we are trying to solve in this issue.

WS switcher: Different back button behavior when creating workspace using the + and Get started button.

What is the root cause of that problem?

Inconsistent call to createWorkspaceWithPolicyDraftAndNavigateToIt in WorkspaceCardCreateAWorkspace.tsx and src/pages/WorkspaceSwitcherPage/WorkspacesSectionHeader.tsx

What changes do you think we should make in order to solve the problem?

I believe the back button should navigate to the previous route. Contrary to the previous suggestion, I suggest adding activeRoute to the createWorkspaceWithPolicyDraftAndNavigateToIt function call.

src/pages/workspace/card/WorkspaceCardCreateAWorkspace.tsx

                onPress={() => {
                    const activeRoute = Navigation.getActiveRouteWithoutParams();
 
                    interceptAnonymousUser(() => App.createWorkspaceWithPolicyDraftAndNavigateToIt('', '', false, false, activeRoute)); 
                }}

Adding interceptAnonymousUser is optional, but I recommend including it to prevent other inconsistencies.

What alternative solutions did you explore? (Optional)

N/A

wildan-m avatar Sep 07 '24 07:09 wildan-m

Reviewing the proposals.

mananjadhav avatar Sep 08 '24 20:09 mananjadhav

📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸

melvin-bot[bot] avatar Sep 09 '24 16:09 melvin-bot[bot]

I believe the back button should navigate to the previous route.

@JmillsExpensify To an extent even I agree with this. wdyt? Will review accordingly.

mananjadhav avatar Sep 12 '24 17:09 mananjadhav

A kind reminder for C+: My first proposal covers a solution to navigate user to the previous route as the issue report mentions. I only edited my proposal when the expected behaviour was changed here, and when I was requested to address the new expected behaviour here. Please checkout my proposal edit that was made 3 weeks ago.

Screenshot 2024-09-12 at 8 47 14 in the evening

etCoderDysto avatar Sep 12 '24 17:09 etCoderDysto

A kind reminder for C+: My first proposal covers a solution to navigate user to the previous route as the issue report mentions. I only edited my proposal when the expected behaviour was changed. Please checkout https://github.com/Expensify/App/issues/47603#issuecomment-2294986203 that was made 3 weeks ago.

@mananjadhav @JmillsExpensify If that solution was chosen, I want to point out that the proposal was made 3 weeks ago before the External and Help Wanted labels were added (2 weeks ago), and the author later changed the solution (not adding it as alternative). I think the official evaluation should consider the solution after the external labels were added.

image

wildan-m avatar Sep 12 '24 19:09 wildan-m

@JmillsExpensify @mananjadhav this issue is now 4 weeks old, please consider:

  • Finding a contributor to fix the bug
  • Closing the issue if BZ has been unable to add the issue to a VIP or Wave project
  • If you have any questions, don't hesitate to start a discussion in #expensify-open-source

Thanks!

melvin-bot[bot] avatar Sep 14 '24 17:09 melvin-bot[bot]

📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸

melvin-bot[bot] avatar Sep 16 '24 16:09 melvin-bot[bot]

@JmillsExpensify, @mananjadhav Huh... This is 4 days overdue. Who can take care of this?

melvin-bot[bot] avatar Sep 17 '24 18:09 melvin-bot[bot]

Still a lower priority though we'll get back to this.

JmillsExpensify avatar Sep 18 '24 15:09 JmillsExpensify

@JmillsExpensify Can you respond to this question?

mananjadhav avatar Sep 18 '24 18:09 mananjadhav

📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸

melvin-bot[bot] avatar Sep 23 '24 16:09 melvin-bot[bot]

@JmillsExpensify, @mananjadhav Huh... This is 4 days overdue. Who can take care of this?

melvin-bot[bot] avatar Sep 24 '24 18:09 melvin-bot[bot]