Initial Countly work
This commit is contained in:
parent
557d9ad90c
commit
c3a355097d
33 changed files with 1416 additions and 72 deletions
|
@ -28,6 +28,7 @@ import { _t } from '../languageHandler';
|
|||
import { getCachedRoomIDForAlias, storeRoomAliasInCache } from '../RoomAliasCache';
|
||||
import {ActionPayload} from "../dispatcher/payloads";
|
||||
import {retry} from "../utils/promise";
|
||||
import CountlyAnalytics from "../CountlyAnalytics";
|
||||
|
||||
const NUM_JOIN_RETRY = 5;
|
||||
|
||||
|
@ -264,6 +265,7 @@ class RoomViewStore extends Store<ActionPayload> {
|
|||
}
|
||||
|
||||
private async joinRoom(payload: ActionPayload) {
|
||||
const startTime = CountlyAnalytics.getTimestamp();
|
||||
this.setState({
|
||||
joining: true,
|
||||
});
|
||||
|
@ -275,6 +277,7 @@ class RoomViewStore extends Store<ActionPayload> {
|
|||
// if we received a Gateway timeout then retry
|
||||
return err.httpStatus === 504;
|
||||
});
|
||||
CountlyAnalytics.instance.trackRoomJoin(startTime, this.state.roomId, payload._type);
|
||||
|
||||
// We do *not* clear the 'joining' flag because the Room object and/or our 'joined' member event may not
|
||||
// have come down the sync stream yet, and that's the point at which we'd consider the user joined to the
|
||||
|
|
|
@ -53,6 +53,7 @@ import WidgetOpenIDPermissionsDialog from "../../components/views/dialogs/Widget
|
|||
import {ModalWidgetStore} from "../ModalWidgetStore";
|
||||
import ThemeWatcher from "../../settings/watchers/ThemeWatcher";
|
||||
import {getCustomTheme} from "../../theme";
|
||||
import CountlyAnalytics from "../../CountlyAnalytics";
|
||||
|
||||
// TODO: Destroy all of this code
|
||||
|
||||
|
@ -301,6 +302,7 @@ export class StopGapWidget extends EventEmitter {
|
|||
this.messaging.on("action:set_always_on_screen",
|
||||
(ev: CustomEvent<IStickyActionRequest>) => {
|
||||
if (this.messaging.hasCapability(MatrixCapabilities.AlwaysOnScreen)) {
|
||||
CountlyAnalytics.instance.trackJoinCall(this.appTileProps.room.roomId, true, true);
|
||||
ActiveWidgetStore.setWidgetPersistence(this.mockWidget.id, ev.detail.data.value);
|
||||
ev.preventDefault();
|
||||
this.messaging.transport.reply(ev.detail, <IWidgetApiRequestEmptyData>{}); // ack
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue