fix: should not reset identity on app start (#6895)

This commit is contained in:
pengx17
2024-05-12 12:39:59 +00:00
parent b8a1fbd6c7
commit 8af064b663

View File

@@ -7,10 +7,12 @@ import {
type AuthAccountInfo, type AuthAccountInfo,
type AuthService, type AuthService,
} from '../../cloud'; } from '../../cloud';
import { AccountLoggedOut } from '../../cloud/services/auth';
import { UserQuotaChanged } from '../../cloud/services/user-quota'; import { UserQuotaChanged } from '../../cloud/services/user-quota';
@OnEvent(ApplicationStarted, e => e.onApplicationStart) @OnEvent(ApplicationStarted, e => e.onApplicationStart)
@OnEvent(AccountChanged, e => e.onAccountChanged) @OnEvent(AccountChanged, e => e.updateIdentity)
@OnEvent(AccountLoggedOut, e => e.onAccountLoggedOut)
@OnEvent(UserQuotaChanged, e => e.onUserQuotaChanged) @OnEvent(UserQuotaChanged, e => e.onUserQuotaChanged)
export class TelemetryService extends Service { export class TelemetryService extends Service {
private prevQuota: NonNullable<QuotaQuery['currentUser']>['quota'] | null = private prevQuota: NonNullable<QuotaQuery['currentUser']>['quota'] | null =
@@ -28,14 +30,13 @@ export class TelemetryService extends Service {
}); });
} }
const account = this.auth.session.account$.value; const account = this.auth.session.account$.value;
this.onAccountChanged(account); this.updateIdentity(account);
} }
onAccountChanged(account: AuthAccountInfo | null) { updateIdentity(account: AuthAccountInfo | null) {
if (account === null) { if (!account) {
mixpanel.reset(); return;
} else { }
mixpanel.reset();
mixpanel.identify(account.id); mixpanel.identify(account.id);
mixpanel.people.set({ mixpanel.people.set({
$email: account.email, $email: account.email,
@@ -43,6 +44,9 @@ export class TelemetryService extends Service {
$avatar: account.avatar, $avatar: account.avatar,
}); });
} }
onAccountLoggedOut() {
mixpanel.reset();
} }
onUserQuotaChanged(quota: NonNullable<QuotaQuery['currentUser']>['quota']) { onUserQuotaChanged(quota: NonNullable<QuotaQuery['currentUser']>['quota']) {