diff --git a/apps/web/.env.example b/apps/web/.env.example
index c959e14..7634391 100644
--- a/apps/web/.env.example
+++ b/apps/web/.env.example
@@ -35,6 +35,3 @@ NEXT_PUBLIC_SANITY_PROJECT_ID=jeixxcw8
MANAGEPROMPT_SECRET=
MANAGEPROMPT_CHANGEGPT_WORKFLOW_ID=
-# PostHog
-NEXT_PUBLIC_POSTHOG_KEY=
-NEXT_PUBLIC_POSTHOG_HOST=
diff --git a/apps/web/next.config.js b/apps/web/next.config.js
index 7ebed06..7bef343 100644
--- a/apps/web/next.config.js
+++ b/apps/web/next.config.js
@@ -5,7 +5,7 @@ const ContentSecurityPolicy = `
style-src 'self' data: 'unsafe-inline' maxcdn.bootstrapcdn.com cdn.jsdelivr.net cdn.zapier.com fonts.googleapis.com;
img-src 'self' * data: blob:;
font-src 'self' data: maxcdn.bootstrapcdn.com cdn.jsdelivr.net fonts.gstatic.com;
- connect-src 'self' wss: *.supabase.co *.changes.page manageprompt.com zapier.com *.zapier.com www.google.com *.atlassian.com us.i.posthog.com;
+ connect-src 'self' wss: *.supabase.co *.changes.page manageprompt.com zapier.com *.zapier.com www.google.com *.atlassian.com;
worker-src 'self' blob:;
report-to default
`;
@@ -66,25 +66,6 @@ const moduleExports = {
"cdn.sanity.io",
],
},
- // PostHog rewrites for ingest and static assets
- async rewrites() {
- return [
- {
- source: "/ingest/static/:path*",
- destination: "https://us-assets.i.posthog.com/static/:path*",
- },
- {
- source: "/ingest/:path*",
- destination: "https://us.i.posthog.com/:path*",
- },
- {
- source: "/ingest/decide",
- destination: "https://us.i.posthog.com/decide",
- },
- ];
- },
- // This is required to support PostHog trailing slash API requests
- skipTrailingSlashRedirect: true,
};
// ensure that your source maps include changes from all other Webpack plugins
diff --git a/apps/web/package.json b/apps/web/package.json
index fd6858f..d2151dd 100644
--- a/apps/web/package.json
+++ b/apps/web/package.json
@@ -27,6 +27,7 @@
"@supabase/supabase-js": "^2.39.3",
"@tailwindcss/typography": "^0.5.1",
"@types/canvas-confetti": "^1.6.4",
+ "@vercel/analytics": "^1.5.0",
"@vercel/og": "^0.0.20",
"canvas-confetti": "^1.9.3",
"capture-node": "^2.2.0",
@@ -45,8 +46,6 @@
"next-sitemap": "^4.2.3",
"nprogress": "^0.2.0",
"openai": "^3.2.1",
- "posthog-js": "^1.242.2",
- "posthog-node": "^4.17.1",
"postmark": "^3.0.15",
"react": "^18.2.0",
"react-dom": "^18.2.0",
diff --git a/apps/web/pages/_app.tsx b/apps/web/pages/_app.tsx
index 7116e1d..474ce99 100644
--- a/apps/web/pages/_app.tsx
+++ b/apps/web/pages/_app.tsx
@@ -1,10 +1,7 @@
+import { Analytics } from "@vercel/analytics/next";
import dynamic from "next/dynamic";
import localFont from "next/font/local";
import Head from "next/head";
-import { Router } from "next/router";
-import posthog from "posthog-js";
-import { PostHogProvider } from "posthog-js/react";
-import { useEffect } from "react";
import "../styles/global.css";
import { UserContextProvider } from "../utils/useUser";
@@ -31,24 +28,8 @@ const geist = localFont({
export default function App({ Component, pageProps }) {
const getLayout = Component.getLayout || ((page) => page);
- useEffect(() => {
- posthog.init(process.env.NEXT_PUBLIC_POSTHOG_KEY, {
- api_host: process.env.NEXT_PUBLIC_POSTHOG_HOST,
- loaded: (ph) => {
- if (process.env.NODE_ENV === "development") ph.debug();
- },
- debug: process.env.NODE_ENV === "development",
- });
-
- const handleRouteChange = () => posthog.capture("$pageview");
- Router.events.on("routeChangeComplete", handleRouteChange);
- return () => {
- Router.events.off("routeChangeComplete", handleRouteChange);
- };
- }, []);
-
return (
-
+ <>
)}
-
+
+ >
);
}
diff --git a/apps/web/utils/posthog.ts b/apps/web/utils/posthog.ts
deleted file mode 100644
index cbe2bf8..0000000
--- a/apps/web/utils/posthog.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import { PostHog } from "posthog-node"
-
-export default function PostHogClient() {
- const posthogClient = new PostHog(process.env.NEXT_PUBLIC_POSTHOG_KEY!, {
- host: process.env.NEXT_PUBLIC_POSTHOG_HOST,
- flushAt: 1,
- flushInterval: 0,
- })
- return posthogClient
-}
\ No newline at end of file
diff --git a/apps/web/utils/useUser.tsx b/apps/web/utils/useUser.tsx
index 90b7d65..9c83455 100644
--- a/apps/web/utils/useUser.tsx
+++ b/apps/web/utils/useUser.tsx
@@ -6,7 +6,6 @@ import {
User,
} from "@supabase/supabase-js";
import { useRouter } from "next/router";
-import posthog from "posthog-js";
import {
createContext,
useCallback,
@@ -70,7 +69,6 @@ export const UserContextProvider = ({
const signOut = useCallback(async () => {
const { error } = await supabase.auth.signOut();
- posthog.reset();
setBillingDetails(null);
await router.replace(ROUTES.HOME);
@@ -109,10 +107,6 @@ export const UserContextProvider = ({
fetchBilling().then(() => {
setLoading(false);
});
- posthog.identify(user.id, {
- email: user.email,
- name: user.user_metadata?.full_name,
- });
} else {
setLoading(false);
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index f68f19f..08d41e0 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -270,6 +270,9 @@ importers:
'@types/canvas-confetti':
specifier: ^1.6.4
version: 1.9.0
+ '@vercel/analytics':
+ specifier: ^1.5.0
+ version: 1.5.0(next@14.2.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
'@vercel/og':
specifier: ^0.0.20
version: 0.0.20
@@ -324,12 +327,6 @@ importers:
openai:
specifier: ^3.2.1
version: 3.3.0
- posthog-js:
- specifier: ^1.242.2
- version: 1.242.2
- posthog-node:
- specifier: ^4.17.1
- version: 4.17.1
postmark:
specifier: ^3.0.15
version: 3.11.0
@@ -2120,6 +2117,32 @@ packages:
cpu: [x64]
os: [win32]
+ '@vercel/analytics@1.5.0':
+ resolution: {integrity: sha512-MYsBzfPki4gthY5HnYN7jgInhAZ7Ac1cYDoRWFomwGHWEX7odTEzbtg9kf/QSo7XEsEAqlQugA6gJ2WS2DEa3g==}
+ peerDependencies:
+ '@remix-run/react': ^2
+ '@sveltejs/kit': ^1 || ^2
+ next: '>= 13'
+ react: ^18 || ^19 || ^19.0.0-rc
+ svelte: '>= 4'
+ vue: ^3
+ vue-router: ^4
+ peerDependenciesMeta:
+ '@remix-run/react':
+ optional: true
+ '@sveltejs/kit':
+ optional: true
+ next:
+ optional: true
+ react:
+ optional: true
+ svelte:
+ optional: true
+ vue:
+ optional: true
+ vue-router:
+ optional: true
+
'@vercel/og@0.0.20':
resolution: {integrity: sha512-089P+TfqWz0xBxjOvOhkZIDDtfrLcye94H4IZ+SqxoGPWpNGXaBvRJER/z5SoJxJRcCAL8tPiK5zdjRskM6tLw==}
engines: {node: '>=16'}
@@ -2276,9 +2299,6 @@ packages:
axios@0.26.1:
resolution: {integrity: sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==}
- axios@1.9.0:
- resolution: {integrity: sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg==}
-
axobject-query@4.1.0:
resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==}
engines: {node: '>= 0.4'}
@@ -2489,9 +2509,6 @@ packages:
resolution: {integrity: sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==}
engines: {node: '>=18'}
- core-js@3.42.0:
- resolution: {integrity: sha512-Sz4PP4ZA+Rq4II21qkNqOEDTDrCvcANId3xpIgB34NDkWc3UduWj2dqEtN9yZIq8Dk3HyPI33x9sqqU5C8sr0g==}
-
cors@2.8.5:
resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==}
engines: {node: '>= 0.10'}
@@ -2945,9 +2962,6 @@ packages:
resolution: {integrity: sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==}
engines: {node: '>=0.4.0'}
- fflate@0.4.8:
- resolution: {integrity: sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==}
-
fflate@0.7.4:
resolution: {integrity: sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==}
@@ -4325,27 +4339,9 @@ packages:
resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==}
engines: {node: ^10 || ^12 || >=14}
- posthog-js@1.242.2:
- resolution: {integrity: sha512-bj5Bq9Z/TE24k0fbt/VoD13xsqCybuoLp7KkWmfknEiO63+1Ln/PnX/1CjppikE9yM7toQIWY3vY7hT/RTT57Q==}
- peerDependencies:
- '@rrweb/types': 2.0.0-alpha.17
- rrweb-snapshot: 2.0.0-alpha.17
- peerDependenciesMeta:
- '@rrweb/types':
- optional: true
- rrweb-snapshot:
- optional: true
-
- posthog-node@4.17.1:
- resolution: {integrity: sha512-cVlQPOwOPjakUnrueKRCQe1m2Ku+XzKaOos7Tn/zDZkkZFeBT/byP7tbNf7LiwhaBRWFBRowZZb/MsTtSRaorg==}
- engines: {node: '>=15.0.0'}
-
postmark@3.11.0:
resolution: {integrity: sha512-asguBQ9M/8ueQMJ1D45iPF+3+T641q8rAU8m8cQSfhDWePw4TVYql9wszjAwSCE93dUonyrF08D8Kvg6USBoFA==}
- preact@10.26.6:
- resolution: {integrity: sha512-5SRRBinwpwkaD+OqlBDeITlRgvd8I8QlxHJw9AxSdMNV6O+LodN9nUyYGpSF7sadHjs6RzeFShMexC6DbtWr9g==}
-
prelude-ls@1.2.1:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
@@ -5199,9 +5195,6 @@ packages:
web-namespaces@2.0.1:
resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==}
- web-vitals@4.2.4:
- resolution: {integrity: sha512-r4DIlprAGwJ7YM11VZp4R884m0Vmgr6EAKe3P+kO0PPj3Unqyvv59rczf6UiGcb9Z8QxZVcqKNwv/g0WNdWwsw==}
-
webidl-conversions@3.0.1:
resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
@@ -6876,6 +6869,11 @@ snapshots:
'@unrs/resolver-binding-win32-x64-msvc@1.7.2':
optional: true
+ '@vercel/analytics@1.5.0(next@14.2.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)':
+ optionalDependencies:
+ next: 14.2.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+
'@vercel/og@0.0.20':
dependencies:
'@resvg/resvg-wasm': 2.0.0-alpha.4
@@ -7066,14 +7064,6 @@ snapshots:
transitivePeerDependencies:
- debug
- axios@1.9.0:
- dependencies:
- follow-redirects: 1.15.9
- form-data: 4.0.2
- proxy-from-env: 1.1.0
- transitivePeerDependencies:
- - debug
-
axobject-query@4.1.0: {}
bail@2.0.2: {}
@@ -7272,8 +7262,6 @@ snapshots:
cookie@1.0.2: {}
- core-js@3.42.0: {}
-
cors@2.8.5:
dependencies:
object-assign: 4.1.1
@@ -7883,8 +7871,6 @@ snapshots:
dependencies:
xml-js: 1.6.11
- fflate@0.4.8: {}
-
fflate@0.7.4: {}
file-entry-cache@6.0.1:
@@ -9811,27 +9797,12 @@ snapshots:
picocolors: 1.1.1
source-map-js: 1.2.1
- posthog-js@1.242.2:
- dependencies:
- core-js: 3.42.0
- fflate: 0.4.8
- preact: 10.26.6
- web-vitals: 4.2.4
-
- posthog-node@4.17.1:
- dependencies:
- axios: 1.9.0
- transitivePeerDependencies:
- - debug
-
postmark@3.11.0:
dependencies:
axios: 0.25.0
transitivePeerDependencies:
- debug
- preact@10.26.6: {}
-
prelude-ls@1.2.1: {}
prettier@2.8.8: {}
@@ -10950,8 +10921,6 @@ snapshots:
web-namespaces@2.0.1: {}
- web-vitals@4.2.4: {}
-
webidl-conversions@3.0.1: {}
webpack-bundle-analyzer@4.7.0: