From 29b55ffbb8926c0bad16a121b7e11b948327b2d7 Mon Sep 17 00:00:00 2001
From: Daniel Silva <dsilva@expensify.com>
Date: Thu, 6 Jun 2024 18:27:44 +0200
Subject: [PATCH 1/5] adding environment in fullstory identifying data

---
 src/libs/Fullstory/index.native.ts | 12 ++++++++----
 src/libs/Fullstory/index.ts        |  3 +++
 src/types/onyx/UserMetadata.ts     |  1 +
 3 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/src/libs/Fullstory/index.native.ts b/src/libs/Fullstory/index.native.ts
index d26d449b5fd9..1280cc6d59ba 100644
--- a/src/libs/Fullstory/index.native.ts
+++ b/src/libs/Fullstory/index.native.ts
@@ -1,5 +1,6 @@
 import FullStory, {FSPage} from '@fullstory/react-native';
 import type {OnyxEntry} from 'react-native-onyx';
+import * as Environment from '@src/libs/Environment/Environment';
 import type {UserMetadata} from '@src/types/onyx';
 
 /**
@@ -40,10 +41,13 @@ const FS = {
             // anonymize FullStory user identity metadata
             FullStory.anonymize();
         } else {
-            // define FullStory user identity
-            FullStory.identify(String(metadata.accountID), {
-                properties: metadata,
-            });
+            Environment.getEnvironment().then((envName: string) => {
+                // define FullStory user identity
+                metadata.environment = envName;
+                FullStory.identify(String(metadata.accountID), {
+                    properties: metadata,
+                });
+            })
         }
     },
 };
diff --git a/src/libs/Fullstory/index.ts b/src/libs/Fullstory/index.ts
index 24c725acf81a..caa98711bd45 100644
--- a/src/libs/Fullstory/index.ts
+++ b/src/libs/Fullstory/index.ts
@@ -63,6 +63,9 @@ const FS = {
                 }
                 FS.onReady().then(() => {
                     FS.consent(true);
+                    if (value) {
+                        value.environment = envName;
+                    }
                     FS.fsIdentify(value);
                 });
             });
diff --git a/src/types/onyx/UserMetadata.ts b/src/types/onyx/UserMetadata.ts
index fc6490264087..15aafb3c23e4 100644
--- a/src/types/onyx/UserMetadata.ts
+++ b/src/types/onyx/UserMetadata.ts
@@ -3,6 +3,7 @@ type UserMetadata = {
     role?: string;
     freeTrial?: boolean;
     accountID?: number;
+    environment?: string;
 };
 
 export default UserMetadata;

From 021e999abeaba3b6a2f0a75e4ea589c3bd066210 Mon Sep 17 00:00:00 2001
From: Daniel Silva <dsilva@expensify.com>
Date: Thu, 6 Jun 2024 18:28:46 +0200
Subject: [PATCH 2/5] prettier

---
 src/libs/Fullstory/index.native.ts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/libs/Fullstory/index.native.ts b/src/libs/Fullstory/index.native.ts
index 1280cc6d59ba..6bb4987c8c82 100644
--- a/src/libs/Fullstory/index.native.ts
+++ b/src/libs/Fullstory/index.native.ts
@@ -47,7 +47,7 @@ const FS = {
                 FullStory.identify(String(metadata.accountID), {
                     properties: metadata,
                 });
-            })
+            });
         }
     },
 };

From 9cff196113574a0b8bddaf9b5e6ea0d6fe3fede0 Mon Sep 17 00:00:00 2001
From: Daniel Silva <dsilva@expensify.com>
Date: Thu, 6 Jun 2024 18:49:56 +0200
Subject: [PATCH 3/5] lint issues

---
 src/libs/Fullstory/index.native.ts | 5 +++--
 src/libs/Fullstory/index.ts        | 5 +++--
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/libs/Fullstory/index.native.ts b/src/libs/Fullstory/index.native.ts
index 6bb4987c8c82..648b4d15b618 100644
--- a/src/libs/Fullstory/index.native.ts
+++ b/src/libs/Fullstory/index.native.ts
@@ -43,9 +43,10 @@ const FS = {
         } else {
             Environment.getEnvironment().then((envName: string) => {
                 // define FullStory user identity
-                metadata.environment = envName;
+                let localMetadata = metadata;
+                localMetadata.environment = envName;
                 FullStory.identify(String(metadata.accountID), {
-                    properties: metadata,
+                    properties: localMetadata,
                 });
             });
         }
diff --git a/src/libs/Fullstory/index.ts b/src/libs/Fullstory/index.ts
index caa98711bd45..d8fd3350083b 100644
--- a/src/libs/Fullstory/index.ts
+++ b/src/libs/Fullstory/index.ts
@@ -64,9 +64,10 @@ const FS = {
                 FS.onReady().then(() => {
                     FS.consent(true);
                     if (value) {
-                        value.environment = envName;
+                        let localMetadata = value;
+                        localMetadata.environment = envName;
+                        FS.fsIdentify(value);
                     }
-                    FS.fsIdentify(value);
                 });
             });
         } catch (e) {

From 0a2922c6b35886c2748a378e1a7d2d24642e192a Mon Sep 17 00:00:00 2001
From: Daniel Silva <dsilva@expensify.com>
Date: Thu, 6 Jun 2024 18:52:00 +0200
Subject: [PATCH 4/5] addressing comments

---
 src/libs/Fullstory/index.native.ts | 2 +-
 src/libs/Fullstory/index.ts        | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/libs/Fullstory/index.native.ts b/src/libs/Fullstory/index.native.ts
index 648b4d15b618..7aabe1a8bf97 100644
--- a/src/libs/Fullstory/index.native.ts
+++ b/src/libs/Fullstory/index.native.ts
@@ -45,7 +45,7 @@ const FS = {
                 // define FullStory user identity
                 let localMetadata = metadata;
                 localMetadata.environment = envName;
-                FullStory.identify(String(metadata.accountID), {
+                FullStory.identify(String(localMetadata.accountID), {
                     properties: localMetadata,
                 });
             });
diff --git a/src/libs/Fullstory/index.ts b/src/libs/Fullstory/index.ts
index d8fd3350083b..19caf6001213 100644
--- a/src/libs/Fullstory/index.ts
+++ b/src/libs/Fullstory/index.ts
@@ -66,7 +66,7 @@ const FS = {
                     if (value) {
                         let localMetadata = value;
                         localMetadata.environment = envName;
-                        FS.fsIdentify(value);
+                        FS.fsIdentify(localMetadata);
                     }
                 });
             });

From d833d4c3c7d91d7df636403e8c4db99c41b463fc Mon Sep 17 00:00:00 2001
From: Daniel Silva <dsilva@expensify.com>
Date: Thu, 6 Jun 2024 21:15:18 +0200
Subject: [PATCH 5/5] changing from let to const

---
 src/libs/Fullstory/index.native.ts | 2 +-
 src/libs/Fullstory/index.ts        | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/libs/Fullstory/index.native.ts b/src/libs/Fullstory/index.native.ts
index 7aabe1a8bf97..4a7551beca77 100644
--- a/src/libs/Fullstory/index.native.ts
+++ b/src/libs/Fullstory/index.native.ts
@@ -43,7 +43,7 @@ const FS = {
         } else {
             Environment.getEnvironment().then((envName: string) => {
                 // define FullStory user identity
-                let localMetadata = metadata;
+                const localMetadata = metadata;
                 localMetadata.environment = envName;
                 FullStory.identify(String(localMetadata.accountID), {
                     properties: localMetadata,
diff --git a/src/libs/Fullstory/index.ts b/src/libs/Fullstory/index.ts
index 19caf6001213..a9c75ad838e9 100644
--- a/src/libs/Fullstory/index.ts
+++ b/src/libs/Fullstory/index.ts
@@ -64,7 +64,7 @@ const FS = {
                 FS.onReady().then(() => {
                     FS.consent(true);
                     if (value) {
-                        let localMetadata = value;
+                        const localMetadata = value;
                         localMetadata.environment = envName;
                         FS.fsIdentify(localMetadata);
                     }