Initial release v1.0.0
Open-source marketplace for AI Agent skills. Features: - Next.js 15 web app with i18n (en/fa) - CLI tool for skill installation (npx skillhub) - GitHub crawler/indexer with multi-strategy discovery - Security scanning for all indexed skills - Self-hostable with Docker Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
58
apps/web/sentry.client.config.ts
Normal file
58
apps/web/sentry.client.config.ts
Normal file
@@ -0,0 +1,58 @@
|
||||
// This file configures the initialization of Sentry on the client.
|
||||
// The config you add here will be used whenever a users loads a page in their browser.
|
||||
// https://docs.sentry.io/platforms/javascript/guides/nextjs/
|
||||
|
||||
import * as Sentry from "@sentry/nextjs";
|
||||
|
||||
Sentry.init({
|
||||
dsn: process.env.NEXT_PUBLIC_SENTRY_DSN,
|
||||
|
||||
// Environment and release tracking
|
||||
environment: process.env.NODE_ENV,
|
||||
release: process.env.NEXT_PUBLIC_SENTRY_RELEASE,
|
||||
|
||||
// Enable structured logging
|
||||
enableLogs: true,
|
||||
|
||||
// Console logging integration - capture warnings and errors
|
||||
integrations: [
|
||||
Sentry.consoleLoggingIntegration({
|
||||
levels: ["warn", "error"],
|
||||
}),
|
||||
],
|
||||
|
||||
// Performance Monitoring
|
||||
// Capture 10% of transactions in production, 100% in development
|
||||
tracesSampleRate: process.env.NODE_ENV === "production" ? 0.1 : 1.0,
|
||||
|
||||
// Session Replay for debugging user issues
|
||||
replaysSessionSampleRate: 0.1, // 10% of sessions
|
||||
replaysOnErrorSampleRate: 1.0, // 100% of sessions with errors
|
||||
|
||||
// Filter out common non-actionable errors
|
||||
beforeSend(event, hint) {
|
||||
// Ignore ResizeObserver errors (browser quirk, not actionable)
|
||||
if (event.exception?.values?.[0]?.value?.includes("ResizeObserver")) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// Log to console in development for debugging
|
||||
if (process.env.NODE_ENV === "development") {
|
||||
console.error("[Sentry]", hint.originalException || hint.syntheticException);
|
||||
}
|
||||
|
||||
return event;
|
||||
},
|
||||
|
||||
// Filter out noisy breadcrumbs
|
||||
beforeBreadcrumb(breadcrumb) {
|
||||
// Ignore fetch requests to analytics endpoints
|
||||
if (
|
||||
breadcrumb.category === "fetch" &&
|
||||
breadcrumb.data?.url?.includes("analytics")
|
||||
) {
|
||||
return null;
|
||||
}
|
||||
return breadcrumb;
|
||||
},
|
||||
});
|
||||
Reference in New Issue
Block a user