Remove tracking
This commit is contained in:
parent
4a79090dce
commit
624e3c9a25
4 changed files with 2 additions and 69 deletions
|
@ -51,7 +51,7 @@ We should switch to [swc](https://swc.rs). That would also have another benefit:
|
|||
|
||||
One of my mistakes with Actual was rebuilding everything from scratch, even the design system. While I was able to make it look good for the current version of Actual, it makes it a lot of work to build new designs. We should choose a 3rd party library and start using it in Actual. It would make it way faster to build new designs.
|
||||
|
||||
There aren't many good 3rd party library unfortunately. API, accessibility, and general thoughtful-ness are important. The two that come to my mind are [Radix](https://www.radix-ui.com) and (react-aria)[https://react-spectrum.adobe.com/react-aria/]. I'm leaning towards react-aria.
|
||||
There aren't many good 3rd party library unfortunately. API, accessibility, and general thoughtful-ness are important. The two that come to my mind are [Radix](https://www.radix-ui.com) and [react-aria](https://react-spectrum.adobe.com/react-aria/). I'm leaning towards react-aria.
|
||||
|
||||
I'm open to other things, but we really need something to take the weight off of building UI.
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ If you are only interested in running the latest version, you don't need this re
|
|||
|
||||
More docs are available in the [docs](https://github.com/actualbudget/actual/tree/master/docs) folder.
|
||||
|
||||
If you are interested in contributed, or want to know how development works, see [CONTRIBUTING.md](https://github.com/actualbudget/actual/blob/master/CONTRIBUTING.md)
|
||||
If you are interested in contributing, or want to know how development works, see [CONTRIBUTING.md](https://github.com/actualbudget/actual/blob/master/CONTRIBUTING.md)
|
||||
|
||||
## Installation
|
||||
|
||||
|
@ -56,7 +56,6 @@ In the root of the project:
|
|||
```
|
||||
yarn start # Run the electron app
|
||||
yarn start:browser # Run the web app
|
||||
|
||||
```
|
||||
|
||||
## Code structure
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
import * as Sentry from '@sentry/browser';
|
||||
import { SentryMetricIntegration } from '@jlongster/sentry-metrics-actual';
|
||||
import { initBackend as initSQLBackend } from 'absurd-sql/dist/indexeddb-main-thread';
|
||||
// eslint-disable-next-line import/no-webpack-loader-syntax
|
||||
import BackendWorker from 'worker-loader!./browser-server';
|
||||
|
@ -13,23 +11,6 @@ let IS_DEV = process.env.NODE_ENV === 'development';
|
|||
let IS_PERF_BUILD = process.env.PERF_BUILD != null;
|
||||
let ACTUAL_VERSION = process.env.REACT_APP_ACTUAL_VERSION;
|
||||
|
||||
if (!IS_DEV) {
|
||||
Sentry.init({
|
||||
dsn: 'https://9e6094adfc9f43b5b5b9994cee44d7c2@sentry.io/5169928',
|
||||
release: ACTUAL_VERSION,
|
||||
ignoreErrors: ['ResizeObserver loop'],
|
||||
integrations: [
|
||||
new SentryMetricIntegration({
|
||||
url: 'https://sync.actualbudget.com/metrics',
|
||||
metric: 'app-errors',
|
||||
dimensions: { platform: 'web' }
|
||||
})
|
||||
]
|
||||
});
|
||||
|
||||
window.SentryClient = Sentry;
|
||||
}
|
||||
|
||||
// *** Start the backend ***
|
||||
let worker;
|
||||
|
||||
|
@ -68,8 +49,6 @@ function createBackendWorker() {
|
|||
|
||||
createBackendWorker();
|
||||
|
||||
global.SentryClient = Sentry;
|
||||
|
||||
if (IS_DEV || IS_PERF_BUILD) {
|
||||
import('perf-deets/frontend').then(({ listenForPerfData }) => {
|
||||
listenForPerfData(window);
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
import asyncStorage from '../../platform/server/asyncStorage';
|
||||
import { sha256String } from '../encryption-internals';
|
||||
let Mixpanel = require('@jlongster/mixpanel');
|
||||
let uuid = require('../../platform/uuid');
|
||||
|
||||
let currentUniqueId;
|
||||
|
@ -28,53 +27,9 @@ function isAnonymous(id) {
|
|||
}
|
||||
|
||||
export async function init() {
|
||||
mixpanel = Mixpanel.init('7e6461b8dde1d5dbf04ed1711768257a');
|
||||
|
||||
let [
|
||||
[, distinctId],
|
||||
[, userId],
|
||||
[, trackUsage]
|
||||
] = await asyncStorage.multiGet(['distinct-id-v2', 'user-id', 'track-usage']);
|
||||
|
||||
toggle(trackUsage);
|
||||
|
||||
if (distinctId == null) {
|
||||
if (userId) {
|
||||
let hashedId = await hash(userId);
|
||||
currentUniqueId = hashedId;
|
||||
setProfile({ $name: hashedId });
|
||||
} else {
|
||||
currentUniqueId = uuid.v4Sync();
|
||||
}
|
||||
|
||||
await asyncStorage.setItem('distinct-id-v2', currentUniqueId);
|
||||
} else {
|
||||
currentUniqueId = distinctId;
|
||||
|
||||
if (!isAnonymous(distinctId)) {
|
||||
setProfile({ $name: distinctId });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export async function login(userId) {
|
||||
let hashedId = await hash(userId);
|
||||
await asyncStorage.setItem('distinct-id-v2', hashedId);
|
||||
|
||||
if (isAnonymous(currentUniqueId)) {
|
||||
mixpanel.identify(hashedId, currentUniqueId);
|
||||
|
||||
startBuffering();
|
||||
// So ridiculous. https://help.mixpanel.com/hc/en-us/articles/115004497803-Identity-Management-Best-Practices#serverside-aliasing
|
||||
setTimeout(() => {
|
||||
stopBuffering();
|
||||
}, 2000);
|
||||
|
||||
currentUniqueId = hashedId;
|
||||
setProfile({ $name: hashedId });
|
||||
} else {
|
||||
currentUniqueId = hashedId;
|
||||
}
|
||||
}
|
||||
|
||||
let BUFFERING = false;
|
||||
|
|
Loading…
Reference in a new issue