From 1192e23d182c0e95100a2395c38a233d30a18afd Mon Sep 17 00:00:00 2001
From: Artem Kheystver <artem@kheystver.ru>
Date: Fri, 18 Oct 2024 19:51:38 +0200
Subject: [PATCH] Attempt to fix false user multiplication in analytics (#6980)

---
 dev/prod/src/analytics/posthog.ts | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/dev/prod/src/analytics/posthog.ts b/dev/prod/src/analytics/posthog.ts
index dff093d8d7..90fa34d5ec 100644
--- a/dev/prod/src/analytics/posthog.ts
+++ b/dev/prod/src/analytics/posthog.ts
@@ -2,7 +2,7 @@ import { AnalyticProvider } from "@hcengineering/analytics"
 import posthog from 'posthog-js'
 
 export class PosthogAnalyticProvider implements AnalyticProvider {
-  init (config: Record<string, any>): boolean {
+  init(config: Record<string, any>): boolean {
     if (config.POSTHOG_API_KEY !== undefined && config.POSTHOG_API_KEY !== '' && config.POSTHOG_HOST !== null) {
       posthog.init(config.POSTHOG_API_KEY, { api_host: config.POSTHOG_HOST })
       return true
@@ -11,15 +11,17 @@ export class PosthogAnalyticProvider implements AnalyticProvider {
   }
 
   setUser(email: string): void {
-    posthog.identify(email, { email: email })
+    if (!posthog._isIdentified()) {
+      posthog.identify(email, { email: email })
+    }
   }
   setTag(key: string, value: string): void {
     posthog.setPersonProperties({ [key]: value })
   }
   setWorkspace(ws: string): void {
     this.setTag('workspace', ws)
-    posthog.group('workspace', ws, { 
-      name: `${ws}` 
+    posthog.group('workspace', ws, {
+      name: `${ws}`
     })
   }
   logout(): void {