mirror of
				https://github.com/excalidraw/excalidraw.git
				synced 2025-11-03 20:34:40 +01:00 
			
		
		
		
	* refactor: move excalidraw-app outside src * move some tests to excal app and fix some * fix tests * fix * port remaining tests * fix * update snap * move tests inside test folder * fix * fix
		
			
				
	
	
		
			39 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import * as Sentry from "@sentry/browser";
 | 
						|
import * as SentryIntegrations from "@sentry/integrations";
 | 
						|
 | 
						|
const SentryEnvHostnameMap: { [key: string]: string } = {
 | 
						|
  "excalidraw.com": "production",
 | 
						|
  "vercel.app": "staging",
 | 
						|
};
 | 
						|
 | 
						|
const SENTRY_DISABLED = import.meta.env.VITE_APP_DISABLE_SENTRY === "true";
 | 
						|
 | 
						|
// Disable Sentry locally or inside the Docker to avoid noise/respect privacy
 | 
						|
const onlineEnv =
 | 
						|
  !SENTRY_DISABLED &&
 | 
						|
  Object.keys(SentryEnvHostnameMap).find(
 | 
						|
    (item) => window.location.hostname.indexOf(item) >= 0,
 | 
						|
  );
 | 
						|
 | 
						|
Sentry.init({
 | 
						|
  dsn: onlineEnv
 | 
						|
    ? "https://7bfc596a5bf945eda6b660d3015a5460@sentry.io/5179260"
 | 
						|
    : undefined,
 | 
						|
  environment: onlineEnv ? SentryEnvHostnameMap[onlineEnv] : undefined,
 | 
						|
  release: import.meta.env.VITE_APP_GIT_SHA,
 | 
						|
  ignoreErrors: [
 | 
						|
    "undefined is not an object (evaluating 'window.__pad.performLoop')", // Only happens on Safari, but spams our servers. Doesn't break anything
 | 
						|
  ],
 | 
						|
  integrations: [
 | 
						|
    new SentryIntegrations.CaptureConsole({
 | 
						|
      levels: ["error"],
 | 
						|
    }),
 | 
						|
  ],
 | 
						|
  beforeSend(event) {
 | 
						|
    if (event.request?.url) {
 | 
						|
      event.request.url = event.request.url.replace(/#.*$/, "");
 | 
						|
    }
 | 
						|
    return event;
 | 
						|
  },
 | 
						|
});
 |