mirror of
https://github.com/stack-auth/stack.git
synced 2026-06-04 21:04:37 +08:00
Some checks failed
all-good: Did all the other checks pass? / all-good (push) Has been cancelled
Ensure Prisma migrations are in sync with the schema / check_prisma_migrations (22.x) (push) Has been cancelled
DB migration compat / Check if migrations changed (push) Has been cancelled
Docker Server Build and Push / Docker Build and Push Server (push) Has been cancelled
Docker Server Build and Run / docker (push) Has been cancelled
Runs E2E API Tests (Local Emulator) / E2E Tests (Local Emulator, Node ${{ matrix.node-version }}) (22.x) (push) Has been cancelled
Runs E2E API Tests / E2E Tests (Node ${{ matrix.node-version }}, Freestyle ${{ matrix.freestyle-mode }}) (mock, 22.x) (push) Has been cancelled
Runs E2E API Tests / E2E Tests (Node ${{ matrix.node-version }}, Freestyle ${{ matrix.freestyle-mode }}) (prod, 22.x) (push) Has been cancelled
Runs E2E API Tests with custom port prefix / build (22.x) (push) Has been cancelled
Runs E2E Fallback Tests / E2E Fallback Tests (Node ${{ matrix.node-version }}) (22.x) (push) Has been cancelled
Lint & build / lint_and_build (24) (push) Has been cancelled
TOC Generator / TOC Generator (push) Has been cancelled
DB migration compat / Back-compat — Current branch migrations with ${{ needs.check-migrations-changed.outputs.base_branch }} branch code (push) Has been cancelled
DB migration compat / Forward-compat — Current branch code with ${{ needs.check-migrations-changed.outputs.base_branch }} branch migrations (push) Has been cancelled
DB migration compat / No migration changes (skipped) (push) Has been cancelled
50 lines
1.5 KiB
TypeScript
50 lines
1.5 KiB
TypeScript
// 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";
|
|
import { getBrowserCompatibilityReport } from "@hexclave/shared/dist/utils/browser-compat";
|
|
import { sentryBaseConfig } from "@hexclave/shared/dist/utils/sentry";
|
|
import { nicify } from "@hexclave/shared/dist/utils/strings";
|
|
|
|
Sentry.init({
|
|
...sentryBaseConfig,
|
|
|
|
dsn: process.env.NEXT_PUBLIC_SENTRY_DSN,
|
|
|
|
enabled: process.env.NODE_ENV !== "development" && !process.env.CI,
|
|
|
|
// You can remove this option if you're not planning to use the Sentry Session Replay feature:
|
|
integrations: [
|
|
Sentry.replayIntegration({
|
|
// Additional Replay configuration goes in here, for example:
|
|
maskAllText: false,
|
|
maskAllInputs: false,
|
|
blockAllMedia: false,
|
|
}),
|
|
],
|
|
|
|
// Add exception metadata to the event
|
|
beforeSend(event, hint) {
|
|
const error = hint.originalException;
|
|
let nicified;
|
|
try {
|
|
nicified = nicify(error, { maxDepth: 8 });
|
|
} catch (e) {
|
|
nicified = `Error occurred during nicification: ${e}`;
|
|
}
|
|
if (error instanceof Error) {
|
|
event.extra = {
|
|
...event.extra,
|
|
cause: error.cause,
|
|
errorProps: {
|
|
...error,
|
|
},
|
|
nicifiedError: nicified,
|
|
clientBrowserCompatibility: getBrowserCompatibilityReport(),
|
|
};
|
|
}
|
|
return event;
|
|
},
|
|
});
|