diff --git a/components/dashboard/src/onboarding/UserOnboarding.tsx b/components/dashboard/src/onboarding/UserOnboarding.tsx index e2222a03f901ad..dcc779fcc71c1a 100644 --- a/components/dashboard/src/onboarding/UserOnboarding.tsx +++ b/components/dashboard/src/onboarding/UserOnboarding.tsx @@ -16,6 +16,7 @@ import { StepPersonalize } from "./StepPersonalize"; import { useUpdateCurrentUserMutation } from "../data/current-user/update-mutation"; import Alert from "../components/Alert"; import { useConfetti } from "../contexts/ConfettiContext"; +import { getGitpodService } from "../service/service"; // This param is optionally present to force an onboarding flow // Can be used if other conditions aren't true, i.e. if user has already onboarded, but we want to force the flow again @@ -74,7 +75,19 @@ const UserOnboarding: FunctionComponent = ({ user }) => { }; try { + // TODO: extract the IDE updating into it's own step, and add a mutation for it once we don't rely on it to consider a user being "onboarded" + // We can do this once we rely on the profile.onboardedTimestamp instead. const onboardedUser = await updateUser.mutateAsync(updates); + + // TODO: move this into a mutation side effect once we have a specific mutation for updating the IDE (see above TODO) + getGitpodService().server.trackEvent({ + event: "ide_configuration_changed", + properties: { + ...(onboardedUser.additionalData?.ideSettings ?? {}), + location: "onboarding", + }, + }); + dropConfetti(); setUser(onboardedUser);