App icon indicating copy to clipboard operation
App copied to clipboard

We created multiple workspaces for user in onboarding

Open danielrvidal opened this issue 1 year ago • 26 comments

This is being discussed here so I'm just creating a tracking issue for us to get to the bottom of it with @marcaaron @trjExpensify

https://expensify.slack.com/archives/C07HPDRELLD/p1731537294677189

danielrvidal avatar Nov 14 '24 04:11 danielrvidal

I think @carlosmiceli is working on moving the policy creation to the CreateAccount step. I am wondering if this is at all related to those changes. At least, it seems like it will be fixed by them since we will no longer be creating the policy via an API call triggered in App.

marcaaron avatar Nov 15 '24 02:11 marcaaron

Interesting. Carlos, how does that work if you create an account on new.expensify.com directly where there's no signUpQualifiers to choose? 🤔

trjExpensify avatar Nov 15 '24 11:11 trjExpensify

What @marcaaron says is correct, that's what I'm working on. @trjExpensify so far, we would just not create a workspace for any signup that hasn't selected a qualifier. In fact, creating an account will not fail if for some reason the workspace fails to get created. But let's check with @anmurali to see if we'd like to add/change some logic about it.

carlosmiceli avatar Nov 15 '24 14:11 carlosmiceli

@trjExpensify so far, we would just not create a workspace for any signup that hasn't selected a qualifier

Okay, which means they would then see the onboarding modal and selecting the manage my team path would create a workspace?

trjExpensify avatar Nov 15 '24 14:11 trjExpensify

Oh, that's a good question (and sounds like a good idea) but I don't know about that being discussed anywhere and it's definitely outside of the scope of the issue I'm working on (which is all BE and happening before ND is loaded).

carlosmiceli avatar Nov 15 '24 15:11 carlosmiceli

Sorry, maybe I'm not explaining myself well.

  1. You said you're working on creating a workspace after you choose this on the expensify.com home page:
image
  1. Today, the timing of creating the workspace is after you click this:
image

Q: In the expensify.com sign-up flow, how are you avoiding creating two workspaces on sign-up? Are you skipping that "How many employees do you have?" screen, and as a result, not triggering the CreateWorkspace command a second time?

Q: If you sign-up via new.expensify.com where there are no signUpQualifiers to select on the home page, will you still see the "How many employees do you have?" screen if you choose "Manage my team's expenses" in the first step, and thus still trigger CreateWorkspace at that point like today?

image image image

trjExpensify avatar Nov 15 '24 15:11 trjExpensify

In the expensify.com sign-up flow, how are you avoiding creating two workspaces on sign-up? Are you skipping that "How many employees do you have?" screen, and as a result, not triggering the CreateWorkspace command a second time?

I haven't got to this point yet, but I think as Marc said, we're going to remove the current CreateWorkspace logic of creating the policy in App during onboarding (at least temporarily so we don't create duplicates).

If you sign-up via new.expensify.com where there are no signUpQualifiers to select on the home page, will you still see the "How many employees do you have?" screen if you choose "Manage my team's expenses" in the first step, and thus still trigger CreateWorkspace at that point like today?

To clarify, I'm not working in anything that would change any logic that happens after/during signup through new.expensify.com, other than replacing the logic as I mentioned above. You will see whatever you see while signing up now. This means that no workspace will get created when signing up through new.expensify.com until we actually want to implement some logic around that.

I hope I'm understanding the question 😅

carlosmiceli avatar Nov 15 '24 16:11 carlosmiceli

Got it, so yeah.. if you remove the logic to create a workspace in the onboarding modal completely, you're going to break creating a workspace during onboarding for:

  • a sign-up on new.expensify.com on web/mWeb
  • a sign-up on the New Expensify mobile app (we're going to deprecate it soon, but still worth noting)
  • a sign-up on the native Expensify mobile app because that mobile home page also does not have signUpQualifiers (we're about to start defaulting new account sign-ups in NewDot after the next release that's on the way out the door)

So I don't think we should remove it completely. Rather, if you come from expensify.com or use.expensify.com and a workspace is created for you because of the signUpQualifier selection, we skip the "How many employees do you have?" screen and creating a workspace on completion of the onboarding step. If you don't have a signUpQualifier selection, we show it and create a workspace like today.

trjExpensify avatar Nov 15 '24 16:11 trjExpensify

Ah, gotcha! Yup, that sounds good, we can do that. By the way, while it's an edge case, we should consider this again then. I think with this new situation, it's justified to just hide the back button instead of having to implement more complicated logic to skip the workspace creation if they happen to go back.

carlosmiceli avatar Nov 19 '24 01:11 carlosmiceli

Hm, but isn't that logic going to exist anyway? As in, we won't show the employee count selector screen if they've chosen a signUpQualifier on sign-up? So regardless of if they go back and forward again, the page that triggers the CreateWorkspace command won't show to them.

trjExpensify avatar Nov 19 '24 14:11 trjExpensify

You asked above "Are you skipping that "How many employees do you have?" screen, and as a result, not triggering the CreateWorkspace command a second time?", so I interpreted that clicking Continue in that screen is what triggered CreateWorkspace. Also, I checked just now and you can still go back to the first screen of the onboarding modal (where they choose objectives), so if instead that's the user choice that triggers CreateWorkspace then more of a reason to hide the back button.

carlosmiceli avatar Nov 20 '24 06:11 carlosmiceli

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

melvin-bot[bot] avatar Nov 22 '24 09:11 melvin-bot[bot]

so I interpreted that clicking Continue in that screen is what triggered CreateWorkspace.

Correct, that's my understanding as well. But if the page is skipped, meaning it doesn't show at all for this use-case, then going back/forward doesn't matter does it? They'll never see that "employee count" page and therefore no Continue button to trigger creating a workspace. So it's not clear to me why we need to restrict going back..

trjExpensify avatar Nov 22 '24 13:11 trjExpensify

Right, what I'm saying is that, currently, after a user signups and skips those screens and sees the accounting software screen in the onboarding modal, they can go back clicking on the top left of the modal and go back to the employee count. It's not skipped in terms of being hidden, but just being taken straight to the software sections; all previous sections can still be seen if navigating back.

carlosmiceli avatar Nov 22 '24 15:11 carlosmiceli

Couldn't we hide it instead though? 🤔

trjExpensify avatar Nov 22 '24 16:11 trjExpensify

Probably, but not sure how to do that since I haven't worked on that logic, that's probably a good question for someone with more knowledge there. Maybe @tgolen has some advice here? I still think hiding the back button is way easier, though 😅

carlosmiceli avatar Nov 22 '24 16:11 carlosmiceli

Actually, thinking deeper about it, it's more future proof to hide the screens as you suggest, in case we keep expanding the onboarding steps.

carlosmiceli avatar Nov 22 '24 17:11 carlosmiceli

Not overdue, this is getting worked on daily.

danielrvidal avatar Nov 22 '24 18:11 danielrvidal

Still working through the updates in slack.

danielrvidal avatar Nov 25 '24 21:11 danielrvidal

@danielrvidal Whoops! This issue is 2 days overdue. Let's get this updated quick!

melvin-bot[bot] avatar Nov 29 '24 09:11 melvin-bot[bot]

Will create issue today to align the ND fix with the BE work for https://github.com/Expensify/Expensify/issues/437845

carlosmiceli avatar Nov 29 '24 17:11 carlosmiceli

Created here: https://github.com/Expensify/App/issues/53326

carlosmiceli avatar Nov 29 '24 19:11 carlosmiceli

This is being worked on!

danielrvidal avatar Dec 03 '24 01:12 danielrvidal

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

melvin-bot[bot] avatar Dec 06 '24 09:12 melvin-bot[bot]

Still working on this on many fronts 😅

carlosmiceli avatar Dec 06 '24 18:12 carlosmiceli

Still being worked on, I'm going to move it to weekly since it's just a tracking issue for more urgent issues.

danielrvidal avatar Dec 09 '24 22:12 danielrvidal

The Front PR is in review so we're still making progress!

danielrvidal avatar Dec 12 '24 17:12 danielrvidal

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

melvin-bot[bot] avatar Dec 16 '24 09:12 melvin-bot[bot]

@danielrvidal Eep! 4 days overdue now. Issues have feelings too...

melvin-bot[bot] avatar Dec 18 '24 09:12 melvin-bot[bot]

@carlosmiceli where are we at with this one? Still waiting on this to be done? https://github.com/Expensify/App/issues/53326

danielrvidal avatar Dec 18 '24 17:12 danielrvidal