From d0083f6ed090b3b64cef8c61abce3fd60d741096 Mon Sep 17 00:00:00 2001 From: Scott Bishel Date: Thu, 21 Oct 2021 11:17:31 -0600 Subject: [PATCH] GH-1489: Add Telemetry for Shared Boards (#1610) * add telemetry for shared boards * move where setting view out of Routes * add for configuration setting * fix spacing Co-authored-by: Mattermod --- server/server/server.go | 11 ++++++----- webapp/src/components/shareBoardComponent.tsx | 3 +++ webapp/src/pages/boardPage.tsx | 2 ++ webapp/src/telemetry/telemetryClient.ts | 2 ++ 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/server/server/server.go b/server/server/server.go index cbad176e9..8cc540655 100644 --- a/server/server/server.go +++ b/server/server/server.go @@ -433,11 +433,12 @@ func initTelemetry(opts telemetryOptions) *telemetry.Service { }) telemetryService.RegisterTracker("config", func() (telemetry.Tracker, error) { return map[string]interface{}{ - "serverRoot": opts.cfg.ServerRoot == config.DefaultServerRoot, - "port": opts.cfg.Port == config.DefaultPort, - "useSSL": opts.cfg.UseSSL, - "dbType": opts.cfg.DBType, - "single_user": opts.singleUser, + "serverRoot": opts.cfg.ServerRoot == config.DefaultServerRoot, + "port": opts.cfg.Port == config.DefaultPort, + "useSSL": opts.cfg.UseSSL, + "dbType": opts.cfg.DBType, + "single_user": opts.singleUser, + "allow_public_shared_boards": opts.cfg.EnablePublicSharedBoards, }, nil }) telemetryService.RegisterTracker("activity", func() (telemetry.Tracker, error) { diff --git a/webapp/src/components/shareBoardComponent.tsx b/webapp/src/components/shareBoardComponent.tsx index 3ce78f303..f491832e5 100644 --- a/webapp/src/components/shareBoardComponent.tsx +++ b/webapp/src/components/shareBoardComponent.tsx @@ -14,6 +14,8 @@ import {sendFlashMessage} from '../components/flashMessages' import Button from '../widgets/buttons/button' import Switch from '../widgets/switch' +import TelemetryClient, {TelemetryActions, TelemetryCategory} from '../telemetry/telemetryClient' + import Modal from './modal' import './shareBoardComponent.scss' @@ -47,6 +49,7 @@ const ShareBoardComponent = React.memo((props: Props): JSX.Element => { const newSharing: ISharing = sharing || createSharingInfo() newSharing.id = props.boardId newSharing.enabled = isOn + TelemetryClient.trackEvent(TelemetryCategory, TelemetryActions.ShareBoard, {board: props.boardId, enabled: isOn}) await client.setSharing(newSharing) await loadData() } diff --git a/webapp/src/pages/boardPage.tsx b/webapp/src/pages/boardPage.tsx index 551d56f62..91aa34609 100644 --- a/webapp/src/pages/boardPage.tsx +++ b/webapp/src/pages/boardPage.tsx @@ -31,6 +31,7 @@ import {UserSettings} from '../userSettings' import IconButton from '../widgets/buttons/iconButton' import CloseIcon from '../widgets/icons/close' +import TelemetryClient, {TelemetryActions, TelemetryCategory} from '../telemetry/telemetryClient' type Props = { readonly?: boolean } @@ -151,6 +152,7 @@ const BoardPage = (props: Props): JSX.Element => { if (props.readonly) { loadAction = initialReadOnlyLoad token = token || queryString.get('r') || '' + TelemetryClient.trackEvent(TelemetryCategory, TelemetryActions.ViewSharedBoard, {board: board.id}) } dispatch(loadAction(match.params.boardId)) diff --git a/webapp/src/telemetry/telemetryClient.ts b/webapp/src/telemetry/telemetryClient.ts index 4c09cd8b1..2221a88a9 100644 --- a/webapp/src/telemetry/telemetryClient.ts +++ b/webapp/src/telemetry/telemetryClient.ts @@ -12,8 +12,10 @@ export const TelemetryActions = { CreateBoardViaTemplate: 'createBoardViaTemplate', CreateBoardView: 'createBoardView', EditCardProperty: 'editCardProperty', + ShareBoard: 'shareBoard', ViewBoard: 'viewBoard', ViewCard: 'viewCard', + ViewSharedBoard: 'viewSharedBoard', } class TelemetryClient {