about summary refs log tree commit diff
diff options
context:
space:
mode:
authordan <dan.abramov@gmail.com>2024-07-09 21:13:32 +0100
committerGitHub <noreply@github.com>2024-07-09 21:13:32 +0100
commit7a476568168fa897d3dc9fcae3c1f77d4363366e (patch)
tree765b4c7ae1400f61cd01062b519488c945cd21cd
parent2d0eefebc338eee0d5d7e3e4c02bd6bba7f6baa0 (diff)
downloadvoidsky-7a476568168fa897d3dc9fcae3c1f77d4363366e.tar.zst
Log session events unconditionally (#4758)
-rw-r--r--src/state/session/agent.ts2
-rw-r--r--src/state/session/logging.ts14
2 files changed, 15 insertions, 1 deletions
diff --git a/src/state/session/agent.ts b/src/state/session/agent.ts
index 4bcb4c11c..d31b5588b 100644
--- a/src/state/session/agent.ts
+++ b/src/state/session/agent.ts
@@ -12,6 +12,7 @@ import {tryFetchGates} from '#/lib/statsig/statsig'
 import {getAge} from '#/lib/strings/time'
 import {logger} from '#/logger'
 import {snoozeEmailConfirmationPrompt} from '#/state/shell/reminders'
+import {addSessionEventLog} from './logging'
 import {
   configureModerationForAccount,
   configureModerationForGuest,
@@ -194,6 +195,7 @@ async function prepareAgent(
   const account = agentToSessionAccountOrThrow(agent)
   agent.setPersistSessionHandler(event => {
     onSessionChange(agent, account.did, event)
+    addSessionEventLog(account.did, event)
   })
   return {agent, account}
 }
diff --git a/src/state/session/logging.ts b/src/state/session/logging.ts
index 16aa66fe7..ab67785ca 100644
--- a/src/state/session/logging.ts
+++ b/src/state/session/logging.ts
@@ -1,4 +1,4 @@
-import {AtpSessionData} from '@atproto/api'
+import {AtpSessionData, AtpSessionEvent} from '@atproto/api'
 import {sha256} from 'js-sha256'
 import {Statsig} from 'statsig-react-native-expo'
 
@@ -70,6 +70,18 @@ export function wrapSessionReducerForLogging(reducer: Reducer): Reducer {
 let nextMessageIndex = 0
 const MAX_SLICE_LENGTH = 1000
 
+// Not gated.
+export function addSessionEventLog(did: string, event: AtpSessionEvent) {
+  try {
+    if (!Statsig.initializeCalled() || !Statsig.getStableID()) {
+      return
+    }
+    Statsig.logEvent('session:event', null, {did, event})
+  } catch (e) {
+    console.error(e)
+  }
+}
+
 export function addSessionDebugLog(log: Log) {
   try {
     if (!Statsig.initializeCalled() || !Statsig.getStableID()) {