From 0368ad4516974bfde92c502d028aef72bccf72e6 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Fri, 30 Oct 2020 20:20:58 +0000 Subject: [PATCH] Fix room directory events happening in the wrong order for Funnels --- src/CountlyAnalytics.ts | 14 +++++++++++--- src/components/structures/RoomDirectory.js | 1 + 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/CountlyAnalytics.ts b/src/CountlyAnalytics.ts index 36d4b5ae8c..b4727bc88b 100644 --- a/src/CountlyAnalytics.ts +++ b/src/CountlyAnalytics.ts @@ -210,6 +210,10 @@ interface ISendMessageEvent extends IEvent { interface IRoomDirectoryEvent extends IEvent { key: "room_directory"; +} + +interface IRoomDirectoryDoneEvent extends IEvent { + key: "room_directory_done"; dur: number; // time spent in the room directory modal } @@ -666,8 +670,8 @@ export default class CountlyAnalytics { private queue(args: Omit<IEvent, "timestamp" | "hour" | "dow" | "count"> & Partial<Pick<IEvent, "count">>) { const {count = 1, ...rest} = args; const ev = { - ...rest, ...this.getTimeParams(), + ...rest, count, platform: this.appPlatform, app_version: this.appVersion, @@ -913,8 +917,12 @@ export default class CountlyAnalytics { }, roomId); } + public trackRoomDirectoryBegin() { + this.track<IRoomDirectoryEvent>("room_directory"); + } + public trackRoomDirectory(startTime: number) { - this.track<IRoomDirectoryEvent>("room_directory", {}, null, { + this.track<IRoomDirectoryDoneEvent>("room_directory_done", {}, null, { dur: CountlyAnalytics.getTimestamp() - startTime, }); } @@ -932,7 +940,7 @@ export default class CountlyAnalytics { key: E["key"], segments?: Omit<E["segmentation"], "room_id" | "num_users" | "is_encrypted" | "is_public">, roomId?: string, - args?: Partial<Pick<E, "dur" | "sum">>, + args?: Partial<Pick<E, "dur" | "sum" | "timestamp">>, anonymous = false, ) { if (this.disabled && !anonymous) return; diff --git a/src/components/structures/RoomDirectory.js b/src/components/structures/RoomDirectory.js index e5c828b442..ece70e3a8f 100644 --- a/src/components/structures/RoomDirectory.js +++ b/src/components/structures/RoomDirectory.js @@ -50,6 +50,7 @@ export default class RoomDirectory extends React.Component { constructor(props) { super(props); + CountlyAnalytics.instance.trackRoomDirectoryBegin(); this.startTime = CountlyAnalytics.getTimestamp(); const selectedCommunityId = GroupFilterOrderStore.getSelectedTags()[0];