mirror of
https://github.com/balena-io/etcher.git
synced 2025-07-28 05:36:34 +00:00
Remove personal path on etcher
Change-type: minor
This commit is contained in:
parent
f3f7ecb852
commit
2b728d3c52
@ -21,6 +21,35 @@ import * as settings from '../models/settings';
|
|||||||
import { store } from '../models/store';
|
import { store } from '../models/store';
|
||||||
import * as packageJSON from '../../../../package.json';
|
import * as packageJSON from '../../../../package.json';
|
||||||
|
|
||||||
|
const clearUserPath = (filename: string): string => {
|
||||||
|
const generatedFile = filename.split('generated').reverse()[0];
|
||||||
|
return `generated${generatedFile}`;
|
||||||
|
};
|
||||||
|
|
||||||
|
export const anonymizeData = (
|
||||||
|
event: SentryRenderer.Event,
|
||||||
|
): SentryRenderer.Event => {
|
||||||
|
event.exception?.values?.forEach((exception) => {
|
||||||
|
exception.stacktrace?.frames?.forEach((frame) => {
|
||||||
|
if (frame.filename) {
|
||||||
|
frame.filename = clearUserPath(frame.filename);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
event.breadcrumbs?.forEach((breadcrumb) => {
|
||||||
|
if (breadcrumb.data?.url) {
|
||||||
|
breadcrumb.data.url = clearUserPath(breadcrumb.data.url);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if (event.request?.url) {
|
||||||
|
event.request.url = clearUserPath(event.request.url);
|
||||||
|
}
|
||||||
|
|
||||||
|
return event;
|
||||||
|
};
|
||||||
|
|
||||||
let analyticsClient: Client;
|
let analyticsClient: Client;
|
||||||
/**
|
/**
|
||||||
* @summary Init analytics configurations
|
* @summary Init analytics configurations
|
||||||
@ -29,7 +58,7 @@ export const initAnalytics = _.once(() => {
|
|||||||
const dsn =
|
const dsn =
|
||||||
settings.getSync('analyticsSentryToken') ||
|
settings.getSync('analyticsSentryToken') ||
|
||||||
_.get(packageJSON, ['analytics', 'sentry', 'token']);
|
_.get(packageJSON, ['analytics', 'sentry', 'token']);
|
||||||
SentryRenderer.init({ dsn });
|
SentryRenderer.init({ dsn, beforeSend: anonymizeData });
|
||||||
|
|
||||||
const projectName =
|
const projectName =
|
||||||
settings.getSync('analyticsAmplitudeToken') ||
|
settings.getSync('analyticsAmplitudeToken') ||
|
||||||
|
@ -32,6 +32,7 @@ import { buildWindowMenu } from './menu';
|
|||||||
import * as i18n from 'i18next';
|
import * as i18n from 'i18next';
|
||||||
import * as SentryMain from '@sentry/electron/main';
|
import * as SentryMain from '@sentry/electron/main';
|
||||||
import * as packageJSON from '../../package.json';
|
import * as packageJSON from '../../package.json';
|
||||||
|
import { anonymizeData } from './app/modules/analytics';
|
||||||
|
|
||||||
const customProtocol = 'etcher';
|
const customProtocol = 'etcher';
|
||||||
const scheme = `${customProtocol}://`;
|
const scheme = `${customProtocol}://`;
|
||||||
@ -109,7 +110,7 @@ const initSentryMain = _.once(() => {
|
|||||||
settings.getSync('analyticsSentryToken') ||
|
settings.getSync('analyticsSentryToken') ||
|
||||||
_.get(packageJSON, ['analytics', 'sentry', 'token']);
|
_.get(packageJSON, ['analytics', 'sentry', 'token']);
|
||||||
|
|
||||||
SentryMain.init({ dsn });
|
SentryMain.init({ dsn, beforeSend: anonymizeData });
|
||||||
});
|
});
|
||||||
|
|
||||||
const sourceSelectorReady = new Promise((resolve) => {
|
const sourceSelectorReady = new Promise((resolve) => {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user