Przeglądaj źródła

Merge pull request #16608 from overleaf/jpa-writefull-double-loaded

[web] add event for Writefull extension and Overleaf integration enabled

GitOrigin-RevId: d8e65c2f5a868a3221e2dc1765d8ea9986ceff43
David 2 lat temu
rodzic
commit
7e11e8a62d

+ 5 - 7
services/web/frontend/js/features/event-tracking/document-first-change-event.js

@@ -1,12 +1,10 @@
-import { isSmallDevice, sendMB } from '@/infrastructure/event-tracking'
+import {
+  isSmallDevice,
+  sendMBOncePerPageLoad,
+} from '@/infrastructure/event-tracking'
 import getMeta from '@/utils/meta'
 
-// record once per page load
-let recorded = false
-
 export function recordDocumentFirstChangeEvent() {
-  if (recorded) return
-  recorded = true
   const projectId = getMeta('ol-project_id')
-  sendMB('document-first-change', { projectId, isSmallDevice })
+  sendMBOncePerPageLoad('document-first-change', { projectId, isSmallDevice })
 }

+ 8 - 0
services/web/frontend/js/infrastructure/event-tracking.js

@@ -51,6 +51,14 @@ export function sendMBSampled(key, body = {}, rate = 0.01) {
   }
 }
 
+const sentOncePerPageLoad = new Set()
+
+export function sendMBOncePerPageLoad(key, segmentation = {}) {
+  if (sentOncePerPageLoad.has(key)) return
+  sendMB(key, segmentation)
+  sentOncePerPageLoad.add(key)
+}
+
 // Use breakpoint @screen-xs-max from less:
 // @screen-xs-max: (@screen-sm-min - 1);
 // @screen-sm-min: @screen-sm;