diff --git a/apps/web/app/global-error.tsx b/apps/web/app/global-error.tsx new file mode 100644 index 000000000..0d4906ba1 --- /dev/null +++ b/apps/web/app/global-error.tsx @@ -0,0 +1,68 @@ +'use client'; + +import { ArrowLeft } from 'lucide-react'; + +import { useCaptureException } from '@kit/monitoring/hooks'; +import { Button } from '@kit/ui/button'; +import { Heading } from '@kit/ui/heading'; +import { Trans } from '@kit/ui/trans'; + +import { SiteHeader } from '~/(marketing)/_components/site-header'; + +const GlobalErrorPage = ({ + error, + reset, +}: { + error: Error & { digest?: string }; + reset: () => void; +}) => { + useCaptureException(error); + + return ( + + +
+ + +
+
+
+

+ +

+
+ +
+
+
+ + + +
+ +

+ +

+
+ +
+ +
+
+
+
+
+ + + ); +}; + +export default GlobalErrorPage; diff --git a/package.json b/package.json index 67bbbaf5d..a90aa13ff 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "@manypkg/cli": "^0.21.4", "@turbo/gen": "^1.13.3", "cross-env": "^7.0.3", - "pnpm": "^9.1.0", + "pnpm": "^9.1.1", "prettier": "^3.2.5", "turbo": "^1.13.3", "typescript": "^5.4.5", diff --git a/packages/billing/gateway/src/components/pricing-table.tsx b/packages/billing/gateway/src/components/pricing-table.tsx index f2d76bbe3..3799626c1 100644 --- a/packages/billing/gateway/src/components/pricing-table.tsx +++ b/packages/billing/gateway/src/components/pricing-table.tsx @@ -426,20 +426,18 @@ function DefaultCheckoutButton( highlighted?: boolean; }>, ) { - const redirectToCheckoutParam = props.redirectToCheckout - ? '?redirectToCheckout=true' - : ''; - const { t } = useTranslation('billing'); - const planId = props.plan.id; const signUpPath = props.paths.signUp; - const subscriptionPath = props.paths.subscription; + + const searchParams = new URLSearchParams({ + next: props.paths.subscription, + plan: props.plan.id, + redirectToCheckout: props.redirectToCheckout ? 'true' : 'false', + }); const linkHref = - props.plan.href ?? - `${signUpPath}?plan=${planId}&next=${subscriptionPath}?plan=${planId}${redirectToCheckoutParam}` ?? - ''; + props.plan.href ?? `${signUpPath}?${searchParams.toString()}` ?? ''; const label = props.plan.buttonLabel ?? 'common:getStartedWithPlan'; diff --git a/packages/monitoring/sentry/package.json b/packages/monitoring/sentry/package.json index 5025c5fd2..63526bb11 100644 --- a/packages/monitoring/sentry/package.json +++ b/packages/monitoring/sentry/package.json @@ -16,7 +16,7 @@ "./instrumentation": "./src/instrumentation.ts", "./config/client": "./src/config/sentry.client.config.ts", "./config/server": "./src/config/sentry.server.config.ts", - "./config/edge": "./src/config/sentry.server.edge.ts" + "./config/edge": "./src/config/sentry.edge.config.ts" }, "dependencies": { "@opentelemetry/resources": "1.24.1", diff --git a/packages/shared/package.json b/packages/shared/package.json index 29707b015..70684645d 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -22,7 +22,7 @@ "@tanstack/react-table": "^8.17.0" }, "dependencies": { - "pino": "^9.0.0" + "pino": "^9.1.0" }, "eslintConfig": { "root": true, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 88791e5be..eba30c56a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -22,8 +22,8 @@ importers: specifier: ^7.0.3 version: 7.0.3 pnpm: - specifier: ^9.1.0 - version: 9.1.0 + specifier: ^9.1.1 + version: 9.1.1 prettier: specifier: ^3.2.5 version: 3.2.5 @@ -1113,8 +1113,8 @@ importers: packages/shared: dependencies: pino: - specifier: ^9.0.0 - version: 9.0.0 + specifier: ^9.1.0 + version: 9.1.0 devDependencies: '@kit/eslint-config': specifier: workspace:* @@ -6042,11 +6042,11 @@ packages: pino-abstract-transport@1.2.0: resolution: {integrity: sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==} - pino-std-serializers@6.2.2: - resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} + pino-std-serializers@7.0.0: + resolution: {integrity: sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==} - pino@9.0.0: - resolution: {integrity: sha512-uI1ThkzTShNSwvsUM6b4ND8ANzWURk9zTELMztFkmnCQeR/4wkomJ+echHee5GMWGovoSfjwdeu80DsFIt7mbA==} + pino@9.1.0: + resolution: {integrity: sha512-qUcgfrlyOtjwhNLdbhoL7NR4NkHjzykAPw0V2QLFbvu/zss29h4NkRnibyFzBrNCbzCOY3WZ9hhKSwfOkNggYA==} hasBin: true pirates@4.0.6: @@ -6063,8 +6063,8 @@ packages: engines: {node: '>=16'} hasBin: true - pnpm@9.1.0: - resolution: {integrity: sha512-Z/WHmRapKT5c8FnCOFPVcb6vT3U8cH9AyyK+1fsVeMaq07bEEHzLO6CzW+AD62IaFkcayDbIe+tT+dVLtGEnJA==} + pnpm@9.1.1: + resolution: {integrity: sha512-FOkVdZwR936sB/q6TQGcGT7IY3Ip5i7Jnu+3zzw7dcZER4grfEhRQkUe46a0CAWc37e3+gNBuXXxLQ92KccRlQ==} engines: {node: '>=18.12'} hasBin: true @@ -6613,8 +6613,8 @@ packages: resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==} engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} - sonic-boom@3.8.1: - resolution: {integrity: sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==} + sonic-boom@4.0.1: + resolution: {integrity: sha512-hTSD/6JMLyT4r9zeof6UtuBDpjJ9sO08/nmS5djaA9eozT9oOlNdpXSnzcgj4FTqpk3nkLrs61l4gip9r1HCrQ==} sonner@1.4.41: resolution: {integrity: sha512-uG511ggnnsw6gcn/X+YKkWPo5ep9il9wYi3QJxHsYe7yTZ4+cOd1wuodOUmOpFuXL+/RE3R04LczdNCDygTDgQ==} @@ -6783,8 +6783,8 @@ packages: thenify@3.3.1: resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - thread-stream@2.7.0: - resolution: {integrity: sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==} + thread-stream@3.0.0: + resolution: {integrity: sha512-oUIFjxaUT6knhPtWgDMc29zF1FcSl0yXpapkyrQrCGEfYA2HUZXCilUtKyYIv6HkCyqSPAMkY+EG0GbyIrNDQg==} through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} @@ -13249,21 +13249,21 @@ snapshots: readable-stream: 4.5.2 split2: 4.2.0 - pino-std-serializers@6.2.2: {} + pino-std-serializers@7.0.0: {} - pino@9.0.0: + pino@9.1.0: dependencies: atomic-sleep: 1.0.0 fast-redact: 3.5.0 on-exit-leak-free: 2.1.2 pino-abstract-transport: 1.2.0 - pino-std-serializers: 6.2.2 + pino-std-serializers: 7.0.0 process-warning: 3.0.0 quick-format-unescaped: 4.0.4 real-require: 0.2.0 safe-stable-stringify: 2.4.3 - sonic-boom: 3.8.1 - thread-stream: 2.7.0 + sonic-boom: 4.0.1 + thread-stream: 3.0.0 pirates@4.0.6: {} @@ -13275,7 +13275,7 @@ snapshots: optionalDependencies: fsevents: 2.3.2 - pnpm@9.1.0: {} + pnpm@9.1.1: {} possible-typed-array-names@1.0.0: {} @@ -13843,7 +13843,7 @@ snapshots: ip-address: 9.0.5 smart-buffer: 4.2.0 - sonic-boom@3.8.1: + sonic-boom@4.0.1: dependencies: atomic-sleep: 1.0.0 @@ -14077,7 +14077,7 @@ snapshots: dependencies: any-promise: 1.3.0 - thread-stream@2.7.0: + thread-stream@3.0.0: dependencies: real-require: 0.2.0