diff --git a/apps/web/components/booking/CancelBooking.tsx b/apps/web/components/booking/CancelBooking.tsx index 26b084bbda..8ced57ade5 100644 --- a/apps/web/components/booking/CancelBooking.tsx +++ b/apps/web/components/booking/CancelBooking.tsx @@ -6,8 +6,6 @@ import { sdkActionManager } from "@calcom/embed-core/embed-iframe"; import { shouldChargeNoShowCancellationFee } from "@calcom/features/bookings/lib/payment/shouldChargeNoShowCancellationFee"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import { useRefreshData } from "@calcom/lib/hooks/useRefreshData"; -import { useTelemetry } from "@calcom/lib/hooks/useTelemetry"; -import { collectPageParameters, telemetryEventTypes } from "@calcom/lib/telemetry"; import type { RecurringEvent } from "@calcom/types/Calendar"; import { Button } from "@calcom/ui/components/button"; import { Label, Select, TextArea, CheckboxField } from "@calcom/ui/components/form"; @@ -123,7 +121,6 @@ export default function CancelBooking(props: Props) { eventTypeMetadata, } = props; const [loading, setLoading] = useState(false); - const telemetry = useTelemetry(); const [error, setError] = useState(booking ? null : t("booking_already_cancelled")); const [internalNote, setInternalNote] = useState<{ id: number; name: string } | null>(null); const [acknowledgeCancellationNoShowFee, setAcknowledgeCancellationNoShowFee] = useState(false); @@ -171,7 +168,7 @@ export default function CancelBooking(props: Props) { node.scrollIntoView({ behavior: "smooth" }); node.focus(); } - // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); return ( @@ -264,7 +261,7 @@ export default function CancelBooking(props: Props) { onClick={async () => { setLoading(true); - telemetry.event(telemetryEventTypes.bookingCancelled, collectPageParameters()); + // telemetry.event(telemetryEventTypes.bookingCancelled, collectPageParameters()); const response = await fetch("/api/csrf?sameSite=none", { cache: "no-store" }); const { csrfToken } = await response.json(); diff --git a/apps/web/components/booking/__tests__/CancelBooking.cancellationFee.test.tsx b/apps/web/components/booking/__tests__/CancelBooking.cancellationFee.test.tsx index 00c57c279b..09eff28476 100644 --- a/apps/web/components/booking/__tests__/CancelBooking.cancellationFee.test.tsx +++ b/apps/web/components/booking/__tests__/CancelBooking.cancellationFee.test.tsx @@ -59,12 +59,6 @@ vi.mock("@calcom/lib/hooks/useLocale", () => ({ }), })); -vi.mock("@calcom/lib/hooks/useTelemetry", () => ({ - useTelemetry: () => ({ - event: vi.fn(), - }), -})); - vi.mock("@calcom/lib/hooks/useRefreshData", () => ({ useRefreshData: () => vi.fn(), })); diff --git a/apps/web/components/getting-started/steps-views/UserProfile.tsx b/apps/web/components/getting-started/steps-views/UserProfile.tsx index 220965bcf3..3c1325efae 100644 --- a/apps/web/components/getting-started/steps-views/UserProfile.tsx +++ b/apps/web/components/getting-started/steps-views/UserProfile.tsx @@ -5,9 +5,7 @@ import { useRef, useState } from "react"; import { useForm } from "react-hook-form"; import { useLocale } from "@calcom/lib/hooks/useLocale"; -import { useTelemetry } from "@calcom/lib/hooks/useTelemetry"; import { md } from "@calcom/lib/markdownIt"; -import { telemetryEventTypes } from "@calcom/lib/telemetry"; import turndown from "@calcom/lib/turndownService"; import { localStorage } from "@calcom/lib/webstorage"; import { trpc } from "@calcom/trpc/react"; @@ -39,7 +37,6 @@ const UserProfile = ({ user }: UserProfileProps) => { const utils = trpc.useUtils(); const router = useRouter(); const createEventType = trpc.viewer.eventTypesHeavy.create.useMutation(); - const telemetry = useTelemetry(); const [firstRender, setFirstRender] = useState(true); // Create a separate mutation for avatar updates @@ -81,7 +78,7 @@ const UserProfile = ({ user }: UserProfileProps) => { const onSubmit = handleSubmit((data: { bio: string }) => { const { bio } = data; - telemetry.event(telemetryEventTypes.onboardingFinished); + // telemetry.event(telemetryEventTypes.onboardingFinished); mutation.mutate({ bio, diff --git a/apps/web/components/getting-started/steps-views/UserSettings.tsx b/apps/web/components/getting-started/steps-views/UserSettings.tsx index a57dd74c7c..684e7d4f74 100644 --- a/apps/web/components/getting-started/steps-views/UserSettings.tsx +++ b/apps/web/components/getting-started/steps-views/UserSettings.tsx @@ -1,7 +1,6 @@ "use client"; import { zodResolver } from "@hookform/resolvers/zod"; -import { useEffect } from "react"; import { useForm } from "react-hook-form"; import { z } from "zod"; @@ -10,8 +9,6 @@ import { useTimePreferences } from "@calcom/features/bookings/lib"; import { TimezoneSelect } from "@calcom/features/components/timezone-select"; import { FULL_NAME_LENGTH_MAX_LIMIT } from "@calcom/lib/constants"; import { useLocale } from "@calcom/lib/hooks/useLocale"; -import { useTelemetry } from "@calcom/lib/hooks/useTelemetry"; -import { telemetryEventTypes } from "@calcom/lib/telemetry"; import { trpc } from "@calcom/trpc/react"; import type { RouterOutputs } from "@calcom/trpc/react"; import { Button } from "@calcom/ui/components/button"; @@ -29,7 +26,6 @@ const UserSettings = (props: IUserSettingsProps) => { const { nextStep, user } = props; const { t } = useLocale(); const { setTimezone: setSelectedTimeZone, timezone: selectedTimeZone } = useTimePreferences(); - const telemetry = useTelemetry(); const userSettingsSchema = z.object({ name: z .string() @@ -50,9 +46,9 @@ const UserSettings = (props: IUserSettingsProps) => { resolver: zodResolver(userSettingsSchema), }); - useEffect(() => { + /*useEffect(() => { telemetry.event(telemetryEventTypes.onboardingStarted); - }, [telemetry]); + }, [telemetry]);*/ const utils = trpc.useUtils(); const onSuccess = async () => { diff --git a/apps/web/lib/app-providers-app-dir.tsx b/apps/web/lib/app-providers-app-dir.tsx index 5cd48bd8cf..1175d50158 100644 --- a/apps/web/lib/app-providers-app-dir.tsx +++ b/apps/web/lib/app-providers-app-dir.tsx @@ -1,7 +1,6 @@ import { TooltipProvider } from "@radix-ui/react-tooltip"; import type { Session } from "next-auth"; import { useSession } from "next-auth/react"; -import { EventCollectionProvider } from "next-collect/client"; import { ThemeProvider } from "next-themes"; import type { AppProps as NextAppProps } from "next/app"; import type { ReadonlyURLSearchParams } from "next/navigation"; @@ -113,27 +112,25 @@ const AppProviders = (props: PageWrapperProps) => { const RemainingProviders = ( <> - - - {/* color-scheme makes background:transparent not work which is required by embed. We need to ensure next-theme adds color-scheme to `body` instead of `html`(https://github.com/pacocoursey/next-themes/blob/main/src/index.tsx#L74). Once that's done we can enable color-scheme support */} - - - - {props.isBookingPage || isBookingPage ? ( + + {/* color-scheme makes background:transparent not work which is required by embed. We need to ensure next-theme adds color-scheme to `body` instead of `html`(https://github.com/pacocoursey/next-themes/blob/main/src/index.tsx#L74). Once that's done we can enable color-scheme support */} + + + + {props.isBookingPage || isBookingPage ? ( + {props.children} + ) : ( + {props.children} - ) : ( - - {props.children} - - )} - - - - - + + )} + + + + ); diff --git a/apps/web/lib/app-providers.tsx b/apps/web/lib/app-providers.tsx index a9c274cb20..844040a877 100644 --- a/apps/web/lib/app-providers.tsx +++ b/apps/web/lib/app-providers.tsx @@ -2,7 +2,6 @@ import { TooltipProvider } from "@radix-ui/react-tooltip"; import { dir } from "i18next"; import type { Session } from "next-auth"; import { useSession } from "next-auth/react"; -import { EventCollectionProvider } from "next-collect/client"; import { appWithTranslation } from "next-i18next"; import type { SSRConfig } from "next-i18next/dist/types/types"; import { ThemeProvider } from "next-themes"; @@ -279,29 +278,27 @@ const AppProviders = (props: AppPropsWithChildren) => { : props.Component.isBookingPage) || isBookingPage; const RemainingProviders = ( - - - - - - - {_isBookingPage ? ( + + + + + + {_isBookingPage ? ( + {props.children} + ) : ( + {props.children} - ) : ( - - {props.children} - - )} - - - - - - + + )} + + + + + ); if (isBookingPage) { diff --git a/apps/web/middleware.test.ts b/apps/web/middleware.test.ts index c76e731b25..9d57018436 100644 --- a/apps/web/middleware.test.ts +++ b/apps/web/middleware.test.ts @@ -16,16 +16,6 @@ vi.mock("@vercel/edge-config", () => ({ get: vi.fn(), })); -vi.mock("next-collect/server", () => ({ - // eslint-disable-next-line @typescript-eslint/no-explicit-any - collectEvents: vi.fn((config: any) => config.middleware), -})); - -vi.mock("@calcom/lib/telemetry", () => ({ - extendEventData: vi.fn(), - nextCollectBasicSettings: {}, -})); - // Mock NextResponse.json since it's not available in test environment vi.mock("next/server", async () => { const actual = await vi.importActual("next/server"); diff --git a/apps/web/middleware.ts b/apps/web/middleware.ts index 433909f7d7..8302c39350 100644 --- a/apps/web/middleware.ts +++ b/apps/web/middleware.ts @@ -1,5 +1,4 @@ import { get } from "@vercel/edge-config"; -import { collectEvents } from "next-collect/server"; import type { NextRequest } from "next/server"; import { NextResponse } from "next/server"; @@ -7,7 +6,6 @@ import { checkRateLimitAndThrowError } from "@calcom/lib/checkRateLimitAndThrowE import getIP from "@calcom/lib/getIP"; import { HttpError } from "@calcom/lib/http-error"; import { piiHasher } from "@calcom/lib/server/PiiHasher"; -import { extendEventData, nextCollectBasicSettings } from "@calcom/lib/telemetry"; import { getCspHeader, getCspNonce } from "@lib/csp"; @@ -271,9 +269,4 @@ export const config = { matcher: ["/((?!_next(?:/|$)|static(?:/|$)|public(?:/|$)|favicon\\.ico$|robots\\.txt$|sitemap\\.xml$).*)"], }; -export default collectEvents({ - middleware, - ...nextCollectBasicSettings, - cookieName: "__clnds", - extend: extendEventData, -}); +export default middleware; \ No newline at end of file diff --git a/apps/web/modules/auth/login-view.tsx b/apps/web/modules/auth/login-view.tsx index 30da969333..893ed6747c 100644 --- a/apps/web/modules/auth/login-view.tsx +++ b/apps/web/modules/auth/login-view.tsx @@ -17,8 +17,6 @@ import { emailRegex } from "@calcom/lib/emailSchema"; import { getSafeRedirectUrl } from "@calcom/lib/getSafeRedirectUrl"; import { useCompatSearchParams } from "@calcom/lib/hooks/useCompatSearchParams"; import { useLocale } from "@calcom/lib/hooks/useLocale"; -import { useTelemetry } from "@calcom/lib/hooks/useTelemetry"; -import { collectPageParameters, telemetryEventTypes } from "@calcom/lib/telemetry"; import { trpc } from "@calcom/trpc/react"; import { Alert } from "@calcom/ui/components/alert"; import { Button } from "@calcom/ui/components/button"; @@ -82,8 +80,6 @@ export default function Login({ [ErrorCode.ThirdPartyIdentityProviderEnabled]: t("account_created_with_identity_provider"), }; - const telemetry = useTelemetry(); - let callbackUrl = searchParams?.get("callbackUrl") || ""; if (/"\//.test(callbackUrl)) callbackUrl = callbackUrl.substring(1); @@ -147,7 +143,7 @@ export default function Login({ const onSubmit = async (values: LoginValues) => { setErrorMessage(null); - telemetry.event(telemetryEventTypes.login, collectPageParameters()); + // telemetry.event(telemetryEventTypes.login, collectPageParameters()); const res = await signIn<"credentials">("credentials", { ...values, callbackUrl, diff --git a/apps/web/modules/bookings/views/bookings-single-view.tsx b/apps/web/modules/bookings/views/bookings-single-view.tsx index fc0156d4ec..22acceb5cf 100644 --- a/apps/web/modules/bookings/views/bookings-single-view.tsx +++ b/apps/web/modules/bookings/views/bookings-single-view.tsx @@ -279,14 +279,6 @@ export default function Success(props: PageProps) { (!!seatReferenceUid && !bookingInfo.seatsReferences.some((reference) => reference.referenceUid === seatReferenceUid)); - // const telemetry = useTelemetry(); - /* useEffect(() => { - if (top !== window) { - //page_view will be collected automatically by _middleware.ts - telemetry.event(telemetryEventTypes.embedView, collectPageParameters("/booking")); - } - }, [telemetry]); */ - useEffect(() => { setDate(date.tz(localStorage.getItem("timeOption.preferredTimeZone") || CURRENT_TIMEZONE)); setIs24h(props?.userTimeFormat ? props.userTimeFormat === 24 : !!getIs24hClockFromLocalStorage()); diff --git a/apps/web/modules/onboarding/hooks/useSubmitPersonalOnboarding.ts b/apps/web/modules/onboarding/hooks/useSubmitPersonalOnboarding.ts index 5224b8fdca..4ca790b87c 100644 --- a/apps/web/modules/onboarding/hooks/useSubmitPersonalOnboarding.ts +++ b/apps/web/modules/onboarding/hooks/useSubmitPersonalOnboarding.ts @@ -2,8 +2,6 @@ import { useRouter } from "next/navigation"; import { setShowWelcomeToCalcomModalFlag } from "@calcom/features/shell/hooks/useWelcomeToCalcomModal"; import { useLocale } from "@calcom/lib/hooks/useLocale"; -import { useTelemetry } from "@calcom/lib/hooks/useTelemetry"; -import { telemetryEventTypes } from "@calcom/lib/telemetry"; import { sessionStorage } from "@calcom/lib/webstorage"; import { trpc } from "@calcom/trpc/react"; import { showToast } from "@calcom/ui/components/toast"; @@ -32,7 +30,6 @@ const DEFAULT_EVENT_TYPES = [ export const useSubmitPersonalOnboarding = () => { const router = useRouter(); const { t } = useLocale(); - const telemetry = useTelemetry(); const utils = trpc.useUtils(); const { data: eventTypes } = trpc.viewer.eventTypes.list.useQuery(); @@ -80,7 +77,7 @@ export const useSubmitPersonalOnboarding = () => { }); const submitPersonalOnboarding = () => { - telemetry.event(telemetryEventTypes.onboardingFinished); + // telemetry.event(telemetryEventTypes.onboardingFinished); mutation.mutate({ completedOnboarding: true, }); diff --git a/apps/web/modules/settings/teams/new/create-new-team-view.tsx b/apps/web/modules/settings/teams/new/create-new-team-view.tsx index 903db49c98..065cc08afd 100644 --- a/apps/web/modules/settings/teams/new/create-new-team-view.tsx +++ b/apps/web/modules/settings/teams/new/create-new-team-view.tsx @@ -8,8 +8,6 @@ import { CreateANewTeamForm } from "@calcom/features/ee/teams/components"; import { HOSTED_CAL_FEATURES } from "@calcom/lib/constants"; import { getSafeRedirectUrl } from "@calcom/lib/getSafeRedirectUrl"; import { useParamsWithFallback } from "@calcom/lib/hooks/useParamsWithFallback"; -import { useTelemetry } from "@calcom/lib/hooks/useTelemetry"; -import { telemetryEventTypes } from "@calcom/lib/telemetry"; import type { RouterOutputs } from "@calcom/trpc/react"; import { WizardLayout } from "@calcom/ui/components/layout"; @@ -22,16 +20,13 @@ const CreateNewTeamPage = () => { const params = useParamsWithFallback(); const parsedQuery = querySchema.safeParse(params); const router = useRouter(); - const telemetry = useTelemetry(); const isTeamBillingEnabledClient = !!process.env.NEXT_PUBLIC_STRIPE_PUBLIC_KEY && HOSTED_CAL_FEATURES; const flag = isTeamBillingEnabledClient ? { - telemetryEvent: telemetryEventTypes.team_checkout_session_created, submitLabel: "checkout", } : { - telemetryEvent: telemetryEventTypes.team_created, submitLabel: "continue", }; @@ -39,7 +34,7 @@ const CreateNewTeamPage = () => { (parsedQuery.success ? getSafeRedirectUrl(parsedQuery.data.returnTo) : "/teams") || "/teams"; const onSuccess = (data: RouterOutputs["viewer"]["teams"]["create"]) => { - telemetry.event(flag.telemetryEvent); + // telemetry.event(flag.telemetryEvent); router.push(data.url); }; diff --git a/apps/web/modules/signup-view.tsx b/apps/web/modules/signup-view.tsx index d457b4b457..c0e180ddba 100644 --- a/apps/web/modules/signup-view.tsx +++ b/apps/web/modules/signup-view.tsx @@ -34,8 +34,6 @@ import { pushGTMEvent } from "@calcom/lib/gtm"; import { useCompatSearchParams } from "@calcom/lib/hooks/useCompatSearchParams"; import { useDebounce } from "@calcom/lib/hooks/useDebounce"; import { useLocale } from "@calcom/lib/hooks/useLocale"; -import { useTelemetry } from "@calcom/lib/hooks/useTelemetry"; -import { collectPageParameters, telemetryEventTypes } from "@calcom/lib/telemetry"; import { IS_EUROPE } from "@calcom/lib/timezoneConstants"; import { signupSchema as apiSignupSchema } from "@calcom/prisma/zod-utils"; import type { inferSSRProps } from "@calcom/types/inferSSRProps"; @@ -193,7 +191,6 @@ export default function Signup({ const [isGoogleLoading, setIsGoogleLoading] = useState(false); const [displayEmailForm, setDisplayEmailForm] = useState(token); const searchParams = useCompatSearchParams(); - const telemetry = useTelemetry(); const { t, i18n } = useLocale(); const router = useRouter(); const formMethods = useForm({ @@ -261,7 +258,7 @@ export default function Signup({ if (process.env.NEXT_PUBLIC_GTM_ID) pushGTMEvent("create_account", { email: data.email, user: data.username, lang: data.language }); - telemetry.event(telemetryEventTypes.signup, collectPageParameters()); + // telemetry.event(telemetryEventTypes.signup, collectPageParameters()); const gettingStartedPath = onboardingV3Enabled ? "onboarding/getting-started" : "getting-started"; const verifyOrGettingStarted = emailVerificationEnabled ? "auth/verify-email" : gettingStartedPath; diff --git a/apps/web/modules/team/team-view.tsx b/apps/web/modules/team/team-view.tsx index 07b10633a6..3bc9b1ee45 100644 --- a/apps/web/modules/team/team-view.tsx +++ b/apps/web/modules/team/team-view.tsx @@ -8,17 +8,13 @@ // 2. org/[orgSlug]/[user]/[type] import classNames from "classnames"; import Link from "next/link"; -import { usePathname } from "next/navigation"; -import { useEffect } from "react"; import { sdkActionManager, useIsEmbed } from "@calcom/embed-core/embed-iframe"; import EventTypeDescription from "@calcom/features/eventtypes/components/EventTypeDescription"; import { getOrgOrTeamAvatar } from "@calcom/lib/defaultAvatarImage"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import { useRouterQuery } from "@calcom/lib/hooks/useRouterQuery"; -import { useTelemetry } from "@calcom/lib/hooks/useTelemetry"; import useTheme from "@calcom/lib/hooks/useTheme"; -import { collectPageParameters, telemetryEventTypes } from "@calcom/lib/telemetry"; import { teamMetadataSchema } from "@calcom/prisma/zod-utils"; import { UserAvatarGroup } from "@calcom/ui/components/avatar"; import { Avatar } from "@calcom/ui/components/avatar"; @@ -35,24 +31,15 @@ export type PageProps = inferSSRProps; function TeamPage({ team, considerUnpublished, isValidOrgDomain }: PageProps) { useTheme(team.theme); const routerQuery = useRouterQuery(); - const pathname = usePathname(); const showMembers = useToggleQuery("members"); const { t } = useLocale(); const isEmbed = useIsEmbed(); - const telemetry = useTelemetry(); const teamName = team.name || t("nameless_team"); const isBioEmpty = !team.bio || !team.bio.replace("


", "").length; const metadata = teamMetadataSchema.parse(team.metadata); const teamOrOrgIsPrivate = team.isPrivate || (team?.parent?.isOrganization && team.parent?.isPrivate); - useEffect(() => { - telemetry.event( - telemetryEventTypes.pageView, - collectPageParameters("/team/[slug]", { isTeamBooking: true }) - ); - }, [telemetry, pathname]); - if (considerUnpublished) { const teamSlug = team.slug || metadata?.requestedSlug; const parentSlug = team.parent?.slug || team.parent?.requestedSlug; @@ -174,7 +161,7 @@ function TeamPage({ team, considerUnpublished, isValidOrgDomain }: PageProps) { <>
diff --git a/apps/web/modules/users/views/users-public-view.tsx b/apps/web/modules/users/views/users-public-view.tsx index 0b9602eaee..81762c998d 100644 --- a/apps/web/modules/users/views/users-public-view.tsx +++ b/apps/web/modules/users/views/users-public-view.tsx @@ -42,14 +42,6 @@ export function UserPage(props: PageProps) { ...query } = useRouterQuery(); - /* - const telemetry = useTelemetry(); - useEffect(() => { - if (top !== window) { - //page_view will be collected automatically by _middleware.ts - telemetry.event(telemetryEventTypes.embedView, collectPageParameters("/[user]")); - } - }, [telemetry, router.asPath]); */ if (entity.considerUnpublished) { return (
@@ -99,7 +91,7 @@ export function UserPage(props: PageProps) { <>
diff --git a/apps/web/package.json b/apps/web/package.json index 695a5cda61..e6413b9a09 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -112,7 +112,6 @@ "next": "15.5.4", "next-auth": "^4.22.1", "next-axiom": "^0.17.0", - "next-collect": "^0.2.1", "next-i18next": "^15.4.2", "next-seo": "^6.0.0", "next-themes": "^0.2.0", diff --git a/apps/web/pages/api/collect-events.ts b/apps/web/pages/api/collect-events.ts deleted file mode 100644 index a98ce285fd..0000000000 --- a/apps/web/pages/api/collect-events.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { collectApiHandler } from "next-collect/server"; - -import { extendEventData, nextCollectBasicSettings } from "@calcom/lib/telemetry"; - -export default collectApiHandler({ - ...nextCollectBasicSettings, - cookieName: "__clnds", - extend: extendEventData, -}); diff --git a/packages/features/ee/platform/components/CreateANewPlatformForm.tsx b/packages/features/ee/platform/components/CreateANewPlatformForm.tsx index bf092a53b1..1be82191fa 100644 --- a/packages/features/ee/platform/components/CreateANewPlatformForm.tsx +++ b/packages/features/ee/platform/components/CreateANewPlatformForm.tsx @@ -10,9 +10,7 @@ import { uuid } from "short-uuid"; import { deriveOrgNameFromEmail } from "@calcom/ee/organizations/components/CreateANewOrganizationForm"; import { deriveSlugFromEmail } from "@calcom/ee/organizations/components/CreateANewOrganizationForm"; import { useLocale } from "@calcom/lib/hooks/useLocale"; -import { useTelemetry } from "@calcom/lib/hooks/useTelemetry"; import slugify from "@calcom/lib/slugify"; -import { telemetryEventTypes } from "@calcom/lib/telemetry"; import { UserPermissionRole } from "@calcom/prisma/enums"; import { CreationSource } from "@calcom/prisma/enums"; import { trpc } from "@calcom/trpc/react"; @@ -33,7 +31,6 @@ export const CreateANewPlatformForm = () => { const CreateANewPlatformFormChild = ({ session }: { session: Ensure }) => { const { t } = useLocale(); const router = useRouter(); - const telemetry = useTelemetry(); const [serverErrorMessage, setServerErrorMessage] = useState(null); const isAdmin = session.data.user.role === UserPermissionRole.ADMIN; const defaultOrgOwnerEmail = session.data.user.email ?? ""; @@ -53,7 +50,7 @@ const CreateANewPlatformFormChild = ({ session }: { session: Ensure { - telemetry.event(telemetryEventTypes.org_created); + // telemetry.event(telemetryEventTypes.org_created); // This is necessary so that server token has the updated upId await session.update({ upId: data.upId, diff --git a/packages/features/ee/teams/components/AddNewTeamMembers.tsx b/packages/features/ee/teams/components/AddNewTeamMembers.tsx index 5c03b60da7..85fbe1ea64 100644 --- a/packages/features/ee/teams/components/AddNewTeamMembers.tsx +++ b/packages/features/ee/teams/components/AddNewTeamMembers.tsx @@ -3,7 +3,7 @@ import { keepPreviousData } from "@tanstack/react-query"; import { useSession } from "next-auth/react"; import { useRouter } from "next/navigation"; -import { useEffect, useState, useMemo } from "react"; +import { useState, useMemo } from "react"; import { checkAdminOrOwner } from "@calcom/features/auth/lib/checkAdminOrOwner"; import { useOrgBranding } from "@calcom/features/ee/organizations/context/provider"; @@ -12,8 +12,6 @@ import { MemberInvitationModalWithoutMembers } from "@calcom/features/ee/teams/c import { APP_NAME } from "@calcom/lib/constants"; import { useCompatSearchParams } from "@calcom/lib/hooks/useCompatSearchParams"; import { useLocale } from "@calcom/lib/hooks/useLocale"; -import { useTelemetry } from "@calcom/lib/hooks/useTelemetry"; -import { telemetryEventTypes } from "@calcom/lib/telemetry"; import { MembershipRole } from "@calcom/prisma/enums"; import type { RouterOutputs } from "@calcom/trpc/react"; import { trpc } from "@calcom/trpc/react"; @@ -29,7 +27,6 @@ type TeamMember = RouterOutputs["viewer"]["teams"]["listMembers"]["members"][num const AddNewTeamMembers = ({ isOrg = false }: { isOrg?: boolean }) => { const searchParams = useCompatSearchParams(); const session = useSession(); - const telemetry = useTelemetry(); const teamId = searchParams?.get("id") ? Number(searchParams.get("id")) : -1; const teamQuery = trpc.viewer.teams.get.useQuery( @@ -37,13 +34,6 @@ const AddNewTeamMembers = ({ isOrg = false }: { isOrg?: boolean }) => { { enabled: session.status === "authenticated" } ); - useEffect(() => { - const event = searchParams?.get("event"); - if (event === "team_created") { - telemetry.event(telemetryEventTypes.team_created); - } - }, []); - if (session.status === "loading" || !teamQuery.data) return ; return ; diff --git a/packages/lib/hooks/useTelemetry.ts b/packages/lib/hooks/useTelemetry.ts deleted file mode 100644 index cd7f287ca0..0000000000 --- a/packages/lib/hooks/useTelemetry.ts +++ /dev/null @@ -1,5 +0,0 @@ -"use client"; - -import { useCollector } from "next-collect/client"; - -export const useTelemetry = useCollector; diff --git a/packages/lib/package.json b/packages/lib/package.json index e02a69f6b2..8eee926ed7 100644 --- a/packages/lib/package.json +++ b/packages/lib/package.json @@ -23,7 +23,6 @@ "ics": "^2.37.0", "jimp": "^0.16.1", "lingo.dev": "^0.111.1", - "next-collect": "^0.2.1", "rrule": "^2.7.1", "sharp": "0.33.5", "sonner": "^1.7.4", diff --git a/packages/lib/telemetry.ts b/packages/lib/telemetry.ts index 959f3acfe8..e8682360c7 100644 --- a/packages/lib/telemetry.ts +++ b/packages/lib/telemetry.ts @@ -1,5 +1,4 @@ import type { NextApiRequest, NextApiResponse } from "next"; -import type { CollectOpts, EventHandler } from "next-collect"; // Importing types so we're not directly importing next/server import type { NextRequest, NextResponse } from "next/server"; diff --git a/packages/platform/atoms/event-types/wrappers/EventTypeWebWrapper.tsx b/packages/platform/atoms/event-types/wrappers/EventTypeWebWrapper.tsx index fcf3e7c78d..9ededacef4 100644 --- a/packages/platform/atoms/event-types/wrappers/EventTypeWebWrapper.tsx +++ b/packages/platform/atoms/event-types/wrappers/EventTypeWebWrapper.tsx @@ -13,10 +13,8 @@ import { EventPermissionProvider } from "@calcom/features/pbac/client/context/Ev import { useWorkflowPermission } from "@calcom/features/pbac/client/hooks/useEventPermission"; import { WEBSITE_URL } from "@calcom/lib/constants"; import { useLocale } from "@calcom/lib/hooks/useLocale"; -import { useTelemetry } from "@calcom/lib/hooks/useTelemetry"; import { useTypedQuery } from "@calcom/lib/hooks/useTypedQuery"; import { HttpError } from "@calcom/lib/http-error"; -import { telemetryEventTypes } from "@calcom/lib/telemetry"; import { SchedulingType } from "@calcom/prisma/enums"; import { trpc } from "@calcom/trpc/react"; import type { RouterOutputs } from "@calcom/trpc/react"; @@ -165,7 +163,6 @@ const EventTypeWeb = ({ const { data: user, isPending: isLoggedInUserPending } = useMeQuery(); const isTeamEventTypeDeleted = useRef(false); const leaveWithoutAssigningHosts = useRef(false); - const telemetry = useTelemetry(); const [isOpenAssignmentWarnDialog, setIsOpenAssignmentWarnDialog] = useState(false); const [pendingRoute, setPendingRoute] = useState(""); const { eventType, locationOptions, team, teamMembers, destinationCalendar } = rest; @@ -445,7 +442,7 @@ const EventTypeWeb = ({ onConfirm={(e: { preventDefault: () => void }) => { e.preventDefault(); handleSubmit(form.getValues()); - telemetry.event(telemetryEventTypes.slugReplacementAction); + // telemetry.event(telemetryEventTypes.slugReplacementAction); setSlugExistsChildrenDialogOpen([]); }} /> diff --git a/yarn.lock b/yarn.lock index 6b68afc722..c7e32e7fc5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3631,7 +3631,6 @@ __metadata: ics: ^2.37.0 jimp: ^0.16.1 lingo.dev: ^0.111.1 - next-collect: ^0.2.1 rrule: ^2.7.1 sharp: 0.33.5 sonner: ^1.7.4 @@ -4366,7 +4365,6 @@ __metadata: next: 15.5.4 next-auth: ^4.22.1 next-axiom: ^0.17.0 - next-collect: ^0.2.1 next-i18next: ^15.4.2 next-seo: ^6.0.0 next-themes: ^0.2.0 @@ -37037,19 +37035,6 @@ __metadata: languageName: node linkType: hard -"next-collect@npm:^0.2.1": - version: 0.2.1 - resolution: "next-collect@npm:0.2.1" - dependencies: - cookie: ^0.5.0 - peerDependencies: - next: ^12.2.0 - react: ^17.0.2 || ^18 - react-dom: ^17.0.2 || ^18 - checksum: f03d9807d0a939f383d83765c72a171c7b678e98014185e4ad8093af86233dc7e6a320c2ebba97e3ef54568d31a84a06db29c0dd70434f18e196433af14b8128 - languageName: node - linkType: hard - "next-i18next@npm:^15.4.2": version: 15.4.2 resolution: "next-i18next@npm:15.4.2"