## Description Fix the following errors ### POST https://o296332.ingest.sentry.io/api/1546547/envelope/... 429 (Too Many Requests) We have an integration with Sentry to instrument page loads and other transactions. This is no longer used. All page load metrics are collected using a new relic integration. The sentry transactions api was throwing a 429 error when we exceed our trial quota. Removing the integration should curb this error. <img width="1181" alt="Screenshot 2024-08-15 at 1 22 28 PM" src="https://github.com/user-attachments/assets/543c0ec1-e87f-4439-b715-e75b3a6fd3ed"> [Slack thread ](https://theappsmith.slack.com/archives/CGBPVEJ5C/p1723699775838509)for more context on our sentry sub exceeding its quota. ### TypeError: e.className.split is not a function at t.value (PageLoadInstrumentation.ts:112:33) Add a type check for string. Fixes #`Issue Number` _or_ Fixes `Issue URL` > [!WARNING] > _If no issue exists, please create an issue first, and check with the maintainers if the issue is valid._ ## Automation /ok-to-test tags="@tag.All" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/10400625143> > Commit: fc83198b613a973c9a02644fc742947a92bfbd3c > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10400625143&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Thu, 15 Aug 2024 08:45:49 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [x] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Removed performance tracking functionality across various components and sagas, simplifying the codebase and reducing overhead. - **Bug Fixes** - No specific bug fixes were made; improvements focus on performance tracking removal. - **Chores** - Eliminated unnecessary dependencies related to performance metrics, streamlining the application's dependency management. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
84 lines
2.9 KiB
TypeScript
84 lines
2.9 KiB
TypeScript
import { ReduxActionTypes } from "ee/constants/ReduxActionConstants";
|
|
import { requiresAuth } from "pages/UserAuth/requiresAuthHOC";
|
|
import React from "react";
|
|
import { useCallback } from "react";
|
|
import { useEffect } from "react";
|
|
import { useDispatch, useSelector } from "react-redux";
|
|
import { getCurrentUser } from "selectors/usersSelectors";
|
|
import UserWelcomeScreen from "pages/setup/UserWelcomeScreen";
|
|
import { Center } from "pages/setup/common";
|
|
import { Spinner } from "@appsmith/ads";
|
|
import { isValidLicense } from "ee/selectors/tenantSelectors";
|
|
import { redirectUserAfterSignup } from "ee/utils/signupHelpers";
|
|
import { setUserSignedUpFlag } from "utils/storage";
|
|
import AnalyticsUtil from "ee/utils/AnalyticsUtil";
|
|
|
|
export function SignupSuccess() {
|
|
const dispatch = useDispatch();
|
|
const urlObject = new URL(window.location.href);
|
|
const redirectUrl = urlObject?.searchParams.get("redirectUrl") ?? "";
|
|
const shouldEnableFirstTimeUserOnboarding = urlObject?.searchParams.get(
|
|
"enableFirstTimeUserExperience",
|
|
);
|
|
const validLicense = useSelector(isValidLicense);
|
|
const user = useSelector(getCurrentUser);
|
|
|
|
useEffect(() => {
|
|
user?.email && setUserSignedUpFlag(user?.email);
|
|
}, []);
|
|
|
|
const isNonInvitedUser = shouldEnableFirstTimeUserOnboarding === "true";
|
|
|
|
const redirectUsingQueryParam = useCallback(
|
|
() =>
|
|
redirectUserAfterSignup(
|
|
redirectUrl,
|
|
shouldEnableFirstTimeUserOnboarding,
|
|
validLicense,
|
|
dispatch,
|
|
isNonInvitedUser,
|
|
),
|
|
[],
|
|
);
|
|
|
|
const onGetStarted = useCallback((proficiency?: string, useCase?: string) => {
|
|
dispatch({
|
|
type: ReduxActionTypes.UPDATE_USER_DETAILS_INIT,
|
|
payload: {
|
|
proficiency,
|
|
useCase,
|
|
},
|
|
});
|
|
AnalyticsUtil.logEvent("GET_STARTED_CLICKED", {
|
|
proficiency,
|
|
goal: useCase,
|
|
});
|
|
redirectUsingQueryParam();
|
|
}, []);
|
|
|
|
/*
|
|
* Proceed with redirection,
|
|
* For a super user, since we already collected role and useCase during signup
|
|
* For a normal user, who has filled in their role and useCase and try to visit signup-success url by entering manually.
|
|
* For an invited user, we don't want to collect the data. we just want to redirect to the workspace they have been invited to.
|
|
* We identify an invited user based on `enableFirstTimeUserExperience` flag in url.
|
|
*/
|
|
//TODO(Balaji): Factor in case, where user had closed the tab, while filling the form.And logs back in again.
|
|
if (
|
|
user?.isSuperUser ||
|
|
((user?.role || user?.proficiency) && user?.useCase) ||
|
|
shouldEnableFirstTimeUserOnboarding !== "true"
|
|
) {
|
|
redirectUsingQueryParam();
|
|
// Showing a loader until the redirect
|
|
return (
|
|
<Center>
|
|
<Spinner size="lg" />
|
|
</Center>
|
|
);
|
|
}
|
|
return <UserWelcomeScreen isSuperUser={false} onGetStarted={onGetStarted} />;
|
|
}
|
|
|
|
export default requiresAuth(SignupSuccess);
|