From 0535755a7f6cf933bf4997aa5bdb41e09a90abfa Mon Sep 17 00:00:00 2001 From: TJ Date: Mon, 11 Jan 2021 16:52:46 -0700 Subject: [PATCH 1/2] telemtry fixes --- .../packages/client/src/telemetry/useInitializeLogger.ts | 8 +++++--- Composer/packages/client/src/utils/getPageName.tsx | 4 ++-- Composer/packages/server/src/constants.ts | 2 +- Composer/packages/server/src/services/telemetry.ts | 4 ++++ 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/Composer/packages/client/src/telemetry/useInitializeLogger.ts b/Composer/packages/client/src/telemetry/useInitializeLogger.ts index 8eb13f21cf..6a3155bb0c 100644 --- a/Composer/packages/client/src/telemetry/useInitializeLogger.ts +++ b/Composer/packages/client/src/telemetry/useInitializeLogger.ts @@ -17,7 +17,7 @@ export const useInitializeLogger = () => { const rootProjectId = useRecoilValue(currentProjectIdState); const { telemetry } = useRecoilValue(userSettingsState); const { - location: { pathname, href: url }, + location: { pathname }, } = useLocation(); const page = useMemo(() => getPageName(pathname), [pathname]); @@ -40,8 +40,10 @@ export const useInitializeLogger = () => { }, []); useEffect(() => { - TelemetryClient.track('NavigateTo', { sectionName: page, url }); - TelemetryClient.pageView(page, url); + // We're currently setting the url to the page name since the url + // could contain sensitive data such as dialog names + TelemetryClient.track('NavigateTo', { sectionName: page, url: page }); + TelemetryClient.pageView(page, page); }, [page]); const handleBeforeUnload = useCallback(() => { diff --git a/Composer/packages/client/src/utils/getPageName.tsx b/Composer/packages/client/src/utils/getPageName.tsx index 4a970c3a85..91695c77fc 100644 --- a/Composer/packages/client/src/utils/getPageName.tsx +++ b/Composer/packages/client/src/utils/getPageName.tsx @@ -4,8 +4,8 @@ import { PageNames } from '@bfc/shared'; const PagesRegex = { - [PageNames.Design]: /\/dialogs/i, - [PageNames.Home]: /\/home/i, + [PageNames.Design]: /\/dialogs|\/bot\/d+.d+/i, + [PageNames.Home]: /\/|\/home|\/projects\/create|\/projects\/open/i, [PageNames.LanguageGeneration]: /\/language-generation/i, [PageNames.LanguageUnderstanding]: /\/language-understanding/i, [PageNames.KnowledgeBase]: /\/knowledge-base/i, diff --git a/Composer/packages/server/src/constants.ts b/Composer/packages/server/src/constants.ts index e4f2d06cc1..d6ae16e8f5 100644 --- a/Composer/packages/server/src/constants.ts +++ b/Composer/packages/server/src/constants.ts @@ -17,6 +17,6 @@ export enum ClaimNames { export const APPINSIGHTS_INSTRUMENTATIONKEY = process.env.APPINSIGHTS_INSTRUMENTATIONKEY; -export const piiProperties = ['projectId', 'rootProjectId', 'url']; +export const piiProperties = ['projectId', 'rootProjectId']; export const COMPOSER_VERSION = '1.3.0'; diff --git a/Composer/packages/server/src/services/telemetry.ts b/Composer/packages/server/src/services/telemetry.ts index 785005fd97..d1e889403e 100644 --- a/Composer/packages/server/src/services/telemetry.ts +++ b/Composer/packages/server/src/services/telemetry.ts @@ -58,6 +58,10 @@ if (instrumentationKey) { if (typeof data.baseData.name === 'string') { data.baseData.name = data.baseData.name.replace(/\/\d+.\d+/, '/XXXXX.XXXXXXXXXX'); } + + if (typeof data.baseData.name === 'string') { + data.baseData.name = data.baseData.name.replace(/\/\d+.\d+/, '/XXXXX.XXXXXXXXXX'); + } } if (AppInsights.Contracts.domainSupportsProperties(data.baseData)) { From 131340d43f58687bf4c864830c2c35642990f5b1 Mon Sep 17 00:00:00 2001 From: TJ Date: Tue, 12 Jan 2021 09:24:44 -0700 Subject: [PATCH 2/2] remove duplicate code --- Composer/packages/server/src/services/telemetry.ts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Composer/packages/server/src/services/telemetry.ts b/Composer/packages/server/src/services/telemetry.ts index d1e889403e..785005fd97 100644 --- a/Composer/packages/server/src/services/telemetry.ts +++ b/Composer/packages/server/src/services/telemetry.ts @@ -58,10 +58,6 @@ if (instrumentationKey) { if (typeof data.baseData.name === 'string') { data.baseData.name = data.baseData.name.replace(/\/\d+.\d+/, '/XXXXX.XXXXXXXXXX'); } - - if (typeof data.baseData.name === 'string') { - data.baseData.name = data.baseData.name.replace(/\/\d+.\d+/, '/XXXXX.XXXXXXXXXX'); - } } if (AppInsights.Contracts.domainSupportsProperties(data.baseData)) {