mirror of https://github.com/vector-im/riot-web
More lint
parent
6c1dea09e8
commit
c2192a78bc
|
@ -18,7 +18,8 @@ import posthog, { PostHog } from 'posthog-js';
|
||||||
import PlatformPeg from './PlatformPeg';
|
import PlatformPeg from './PlatformPeg';
|
||||||
import SdkConfig from './SdkConfig';
|
import SdkConfig from './SdkConfig';
|
||||||
import SettingsStore from './settings/SettingsStore';
|
import SettingsStore from './settings/SettingsStore';
|
||||||
import { IMatrixClientPeg, MatrixClientPeg } from "./MatrixClientPeg";
|
import { MatrixClientPeg } from "./MatrixClientPeg";
|
||||||
|
import { MatrixClient } from "../../matrix-js-sdk";
|
||||||
|
|
||||||
/* Posthog analytics tracking.
|
/* Posthog analytics tracking.
|
||||||
*
|
*
|
||||||
|
@ -275,14 +276,11 @@ export class PosthogAnalytics {
|
||||||
this.anonymity = anonymity;
|
this.anonymity = anonymity;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static getUUIDv4(): string {
|
private static getRandomAnalyticsId(): string {
|
||||||
// https://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid
|
return [...crypto.getRandomValues(new Uint8Array(16))].map((c) => c.toString(16)).join('');
|
||||||
return ("10000000-1000-4000-8000-100000000000").replace(/[018]/g, c =>
|
|
||||||
(c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16),
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public async identifyUser(client: IMatrixClientPeg, analyticsIdGenerator: () => string): Promise<void> {
|
public async identifyUser(client: MatrixClient, analyticsIdGenerator: () => string): Promise<void> {
|
||||||
if (this.anonymity == Anonymity.Pseudonymous) {
|
if (this.anonymity == Anonymity.Pseudonymous) {
|
||||||
// Check the user's account_data for an analytics ID to use. Storing the ID in account_data allows
|
// Check the user's account_data for an analytics ID to use. Storing the ID in account_data allows
|
||||||
// different devices to send the same ID.
|
// different devices to send the same ID.
|
||||||
|
@ -376,7 +374,7 @@ export class PosthogAnalytics {
|
||||||
// Identify the user (via hashed user ID) to posthog if anonymity is pseudonmyous
|
// Identify the user (via hashed user ID) to posthog if anonymity is pseudonmyous
|
||||||
this.setAnonymity(PosthogAnalytics.getAnonymityFromSettings());
|
this.setAnonymity(PosthogAnalytics.getAnonymityFromSettings());
|
||||||
if (userId && this.getAnonymity() == Anonymity.Pseudonymous) {
|
if (userId && this.getAnonymity() == Anonymity.Pseudonymous) {
|
||||||
await this.identifyUser(MatrixClientPeg.get(), PosthogAnalytics.getUUIDv4);
|
await this.identifyUser(MatrixClientPeg.get(), PosthogAnalytics.getRandomAnalyticsId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,7 +24,6 @@ import {
|
||||||
} from '../src/PosthogAnalytics';
|
} from '../src/PosthogAnalytics';
|
||||||
|
|
||||||
import SdkConfig from '../src/SdkConfig';
|
import SdkConfig from '../src/SdkConfig';
|
||||||
import { MatrixClientPeg } from "../src/MatrixClientPeg";
|
|
||||||
|
|
||||||
class FakePosthog {
|
class FakePosthog {
|
||||||
public capture;
|
public capture;
|
||||||
|
|
Loading…
Reference in New Issue