From 36ac838b1e4c9eb8bd5688d497d44febbed6e02b Mon Sep 17 00:00:00 2001 From: Jimmfly Date: Thu, 1 Aug 2024 13:05:29 +0800 Subject: [PATCH] chore: adjust track --- .../core/src/commands/affine-creation.tsx | 22 +++---- .../core/src/commands/affine-help.tsx | 12 ++-- .../core/src/commands/affine-layout.tsx | 7 +- .../core/src/commands/affine-navigation.tsx | 37 ++++------- .../core/src/commands/affine-settings.tsx | 57 +++++++--------- .../core/src/commands/affine-updates.tsx | 7 +- .../src/components/root-app-sidebar/index.tsx | 6 +- ...se-register-blocksuite-editor-commands.tsx | 65 +++++++------------ .../use-register-copy-link-commands.tsx | 12 ++-- .../use-register-find-in-page-commands.ts | 12 ++-- .../hooks/use-register-workspace-commands.ts | 25 +++---- .../view/use-register-navigation-commands.ts | 14 ++-- .../core/src/modules/quicksearch/index.ts | 2 - .../src/modules/quicksearch/services/cmdk.ts | 9 +-- 14 files changed, 101 insertions(+), 186 deletions(-) diff --git a/packages/frontend/core/src/commands/affine-creation.tsx b/packages/frontend/core/src/commands/affine-creation.tsx index 32fd88882cbca..bcf1b31e3095f 100644 --- a/packages/frontend/core/src/commands/affine-creation.tsx +++ b/packages/frontend/core/src/commands/affine-creation.tsx @@ -11,12 +11,10 @@ export function registerAffineCreationCommands({ store, pageHelper, t, - moduleName, }: { t: ReturnType; store: ReturnType; pageHelper: ReturnType; - moduleName: string; }) { const unsubs: Array<() => void> = []; unsubs.push( @@ -33,9 +31,8 @@ export function registerAffineCreationCommands({ : undefined, run() { mixpanel.track('QuickSearchOptionClick', { - page: moduleName, - segment: moduleName, - module: moduleName, + segment: 'cmdk', + module: 'creation', control: 'new page', }); pageHelper.createPage(); @@ -51,9 +48,8 @@ export function registerAffineCreationCommands({ label: t['com.affine.cmdk.affine.new-edgeless-page'](), run() { mixpanel.track('QuickSearchOptionClick', { - page: moduleName, - segment: moduleName, - module: moduleName, + segment: 'cmdk', + module: 'creation', control: 'new edgeless', }); pageHelper.createEdgeless(); @@ -69,9 +65,8 @@ export function registerAffineCreationCommands({ label: t['com.affine.cmdk.affine.new-workspace'](), run() { mixpanel.track('QuickSearchOptionClick', { - page: moduleName, - segment: moduleName, - module: moduleName, + segment: 'cmdk', + module: 'creation', control: 'new workspace', }); store.set(openCreateWorkspaceModalAtom, 'new'); @@ -89,9 +84,8 @@ export function registerAffineCreationCommands({ }, run() { mixpanel.track('QuickSearchOptionClick', { - page: moduleName, - segment: moduleName, - module: moduleName, + segment: 'cmdk', + module: 'creation', control: 'import workspace', }); store.set(openCreateWorkspaceModalAtom, 'add'); diff --git a/packages/frontend/core/src/commands/affine-help.tsx b/packages/frontend/core/src/commands/affine-help.tsx index 1c6ec4c0689d9..0e5489dbb3af6 100644 --- a/packages/frontend/core/src/commands/affine-help.tsx +++ b/packages/frontend/core/src/commands/affine-help.tsx @@ -10,11 +10,9 @@ import { registerAffineCommand } from './registry'; export function registerAffineHelpCommands({ t, store, - moduleName, }: { t: ReturnType; store: ReturnType; - moduleName: string; }) { const unsubs: Array<() => void> = []; unsubs.push( @@ -25,9 +23,8 @@ export function registerAffineHelpCommands({ label: t['com.affine.cmdk.affine.whats-new'](), run() { mixpanel.track('QuickSearchOptionClick', { - page: moduleName, - segment: moduleName, - module: moduleName, + segment: 'cmdk', + module: 'help', control: 'Whats new', }); popupWindow(runtimeConfig.changelogUrl); @@ -42,9 +39,8 @@ export function registerAffineHelpCommands({ label: t['com.affine.cmdk.affine.contact-us'](), run() { mixpanel.track('QuickSearchOptionClick', { - page: moduleName, - segment: moduleName, - module: moduleName, + segment: 'cmdk', + module: 'help', control: 'contact us', }); store.set(openSettingModalAtom, { diff --git a/packages/frontend/core/src/commands/affine-layout.tsx b/packages/frontend/core/src/commands/affine-layout.tsx index 8390c4cce61cd..3222e3b8f2cb6 100644 --- a/packages/frontend/core/src/commands/affine-layout.tsx +++ b/packages/frontend/core/src/commands/affine-layout.tsx @@ -9,11 +9,9 @@ import { registerAffineCommand } from './registry'; export function registerAffineLayoutCommands({ t, store, - moduleName, }: { t: ReturnType; store: ReturnType; - moduleName: string; }) { const unsubs: Array<() => void> = []; unsubs.push( @@ -31,9 +29,8 @@ export function registerAffineLayoutCommands({ }, run() { mixpanel.track('QuickSearchOptionClick', { - page: moduleName, - segment: moduleName, - module: moduleName, + segment: 'cmdk', + module: 'layout', control: store.get(appSidebarOpenAtom) ? 'collapse left sidebar' : 'expand left sidebar', diff --git a/packages/frontend/core/src/commands/affine-navigation.tsx b/packages/frontend/core/src/commands/affine-navigation.tsx index f08c1e2c58128..2c189a528d377 100644 --- a/packages/frontend/core/src/commands/affine-navigation.tsx +++ b/packages/frontend/core/src/commands/affine-navigation.tsx @@ -14,13 +14,11 @@ export function registerAffineNavigationCommands({ store, docCollection, navigationHelper, - moduleName, }: { t: ReturnType; store: ReturnType; navigationHelper: ReturnType; docCollection: DocCollection; - moduleName: string; }) { const unsubs: Array<() => void> = []; unsubs.push( @@ -31,9 +29,8 @@ export function registerAffineNavigationCommands({ label: t['com.affine.cmdk.affine.navigation.goto-all-pages'](), run() { mixpanel.track('QuickSearchOptionClick', { - page: moduleName, - segment: moduleName, - module: moduleName, + segment: 'cmdk', + module: 'navigation', control: 'go to all docs', }); navigationHelper.jumpToSubPath(docCollection.id, WorkspaceSubPath.ALL); @@ -49,9 +46,8 @@ export function registerAffineNavigationCommands({ label: 'Go to Collection List', run() { mixpanel.track('QuickSearchOptionClick', { - page: moduleName, - segment: moduleName, - module: moduleName, + segment: 'cmdk', + module: 'navigation', control: 'go to collection list', }); navigationHelper.jumpToCollections(docCollection.id); @@ -67,9 +63,8 @@ export function registerAffineNavigationCommands({ label: 'Go to Tag List', run() { mixpanel.track('QuickSearchOptionClick', { - page: moduleName, - segment: moduleName, - module: moduleName, + segment: 'cmdk', + module: 'navigation', control: 'go to tag list', }); navigationHelper.jumpToTags(docCollection.id); @@ -85,9 +80,8 @@ export function registerAffineNavigationCommands({ label: t['com.affine.cmdk.affine.navigation.goto-workspace'](), run() { mixpanel.track('QuickSearchOptionClick', { - page: moduleName, - segment: moduleName, - module: moduleName, + segment: 'cmdk', + module: 'navigation', control: 'go to workspace', }); store.set(openWorkspaceListModalAtom, true); @@ -108,9 +102,8 @@ export function registerAffineNavigationCommands({ segment: 'cmdk', }); mixpanel.track('QuickSearchOptionClick', { - page: moduleName, - segment: moduleName, - module: moduleName, + segment: 'cmdk', + module: 'navigation', control: 'go to settings', }); store.set(openSettingModalAtom, s => ({ @@ -133,9 +126,8 @@ export function registerAffineNavigationCommands({ segment: 'cmdk', }); mixpanel.track('QuickSearchOptionClick', { - page: moduleName, - segment: moduleName, - module: moduleName, + segment: 'cmdk', + module: 'navigation', control: 'go to account settings', }); store.set(openSettingModalAtom, s => ({ @@ -154,9 +146,8 @@ export function registerAffineNavigationCommands({ label: t['com.affine.cmdk.affine.navigation.goto-trash'](), run() { mixpanel.track('QuickSearchOptionClick', { - page: moduleName, - segment: moduleName, - module: moduleName, + segment: 'cmdk', + module: 'navigation', control: 'go to trash', }); navigationHelper.jumpToSubPath( diff --git a/packages/frontend/core/src/commands/affine-settings.tsx b/packages/frontend/core/src/commands/affine-settings.tsx index 78f5d150fa37d..fcdca765221f0 100644 --- a/packages/frontend/core/src/commands/affine-settings.tsx +++ b/packages/frontend/core/src/commands/affine-settings.tsx @@ -14,14 +14,12 @@ export function registerAffineSettingsCommands({ store, theme, languageHelper, - moduleName, }: { t: ReturnType; store: ReturnType; theme: ReturnType; languageHelper: ReturnType; editor: AffineEditorContainer | null; - moduleName: string; }) { const unsubs: Array<() => void> = []; const { onLanguageChange, languagesList, currentLanguage } = languageHelper; @@ -38,9 +36,8 @@ export function registerAffineSettingsCommands({ preconditionStrategy: () => theme.theme !== 'system', run() { mixpanel.track('QuickSearchOptionClick', { - page: moduleName, - segment: moduleName, - module: moduleName, + segment: 'cmdk', + module: 'settings', control: 'change colour mode to system', }); theme.setTheme('system'); @@ -58,9 +55,8 @@ export function registerAffineSettingsCommands({ preconditionStrategy: () => theme.theme !== 'dark', run() { mixpanel.track('QuickSearchOptionClick', { - page: moduleName, - segment: moduleName, - module: moduleName, + segment: 'cmdk', + module: 'settings', control: 'change colour mode to dark', }); theme.setTheme('dark'); @@ -79,9 +75,8 @@ export function registerAffineSettingsCommands({ preconditionStrategy: () => theme.theme !== 'light', run() { mixpanel.track('QuickSearchOptionClick', { - page: moduleName, - segment: moduleName, - module: moduleName, + segment: 'cmdk', + module: 'settings', control: 'change colour mode to light', }); theme.setTheme('light'); @@ -102,9 +97,8 @@ export function registerAffineSettingsCommands({ store.get(appSettingAtom).fontStyle !== 'Sans', run() { mixpanel.track('QuickSearchOptionClick', { - page: moduleName, - segment: moduleName, - module: moduleName, + segment: 'cmdk', + module: 'settings', control: 'change font style to sans', }); store.set(appSettingAtom, prev => ({ @@ -127,9 +121,8 @@ export function registerAffineSettingsCommands({ store.get(appSettingAtom).fontStyle !== 'Serif', run() { mixpanel.track('QuickSearchOptionClick', { - page: moduleName, - segment: moduleName, - module: moduleName, + segment: 'cmdk', + module: 'settings', control: 'change font style to serif', }); store.set(appSettingAtom, prev => ({ @@ -152,9 +145,8 @@ export function registerAffineSettingsCommands({ store.get(appSettingAtom).fontStyle !== 'Mono', run() { mixpanel.track('QuickSearchOptionClick', { - page: moduleName, - segment: moduleName, - module: moduleName, + segment: 'cmdk', + module: 'settings', control: 'change font style to mono', }); store.set(appSettingAtom, prev => ({ @@ -178,9 +170,8 @@ export function registerAffineSettingsCommands({ preconditionStrategy: () => currentLanguage?.tag !== language.tag, run() { mixpanel.track('QuickSearchOptionClick', { - page: moduleName, - segment: moduleName, - module: moduleName, + segment: 'cmdk', + module: 'settings', control: `change display language to ${language.name}`, }); onLanguageChange(language.tag); @@ -204,9 +195,8 @@ export function registerAffineSettingsCommands({ preconditionStrategy: () => environment.isDesktop, run() { mixpanel.track('QuickSearchOptionClick', { - page: moduleName, - segment: moduleName, - module: moduleName, + segment: 'cmdk', + module: 'settings', control: `change client border style to ${ store.get(appSettingAtom).clientBorder ? 'off' : 'on' }`, @@ -232,9 +222,8 @@ export function registerAffineSettingsCommands({ icon: , run() { mixpanel.track('QuickSearchOptionClick', { - page: moduleName, - segment: moduleName, - module: moduleName, + segment: 'cmdk', + module: 'settings', control: `change full width layout to ${ store.get(appSettingAtom).fullWidthLayout ? 'off' : 'on' }`, @@ -263,9 +252,8 @@ export function registerAffineSettingsCommands({ preconditionStrategy: () => environment.isDesktop, run() { mixpanel.track('QuickSearchOptionClick', { - page: moduleName, - segment: moduleName, - module: moduleName, + segment: 'cmdk', + module: 'settings', control: `change noise background on the sidebar to ${ store.get(appSettingAtom).enableNoisyBackground ? 'off' : 'on' }`, @@ -292,9 +280,8 @@ export function registerAffineSettingsCommands({ preconditionStrategy: () => environment.isDesktop && environment.isMacOs, run() { mixpanel.track('QuickSearchOptionClick', { - page: moduleName, - segment: moduleName, - module: moduleName, + segment: 'cmdk', + module: 'settings', control: `change translucent ui on the sidebar to ${ store.get(appSettingAtom).enableBlurBackground ? 'off' : 'on' }`, diff --git a/packages/frontend/core/src/commands/affine-updates.tsx b/packages/frontend/core/src/commands/affine-updates.tsx index 92adb671f64a1..31956aa21c47a 100644 --- a/packages/frontend/core/src/commands/affine-updates.tsx +++ b/packages/frontend/core/src/commands/affine-updates.tsx @@ -11,11 +11,9 @@ import { registerAffineCommand } from './registry'; export function registerAffineUpdatesCommands({ t, store, - moduleName, }: { t: ReturnType; store: ReturnType; - moduleName: string; }) { const unsubs: Array<() => void> = []; @@ -28,9 +26,8 @@ export function registerAffineUpdatesCommands({ preconditionStrategy: () => !!store.get(updateReadyAtom), run() { mixpanel.track('QuickSearchOptionClick', { - page: moduleName, - segment: moduleName, - module: moduleName, + segment: 'cmdk', + module: 'updates', control: 'restart to upgrade', }); apis?.updater.quitAndInstall().catch(err => { diff --git a/packages/frontend/core/src/components/root-app-sidebar/index.tsx b/packages/frontend/core/src/components/root-app-sidebar/index.tsx index 4d3d9b704f4db..55bf02aa95801 100644 --- a/packages/frontend/core/src/components/root-app-sidebar/index.tsx +++ b/packages/frontend/core/src/components/root-app-sidebar/index.tsx @@ -11,7 +11,6 @@ import { } from '@affine/core/modules/explorer'; import { ExplorerTags } from '@affine/core/modules/explorer/views/sections/tags'; import { CMDKQuickSearchService } from '@affine/core/modules/quicksearch/services/cmdk'; -import { TelemetryWorkspaceContextService } from '@affine/core/modules/telemetry/services/telemetry'; import { pathGenerator } from '@affine/core/shared'; import { apis, events } from '@affine/electron-api'; import { useI18n } from '@affine/i18n'; @@ -91,8 +90,6 @@ export const RootAppSidebar = (): ReactElement => { }); }, [cmdkQuickSearchService]); - const telemetry = useService(TelemetryWorkspaceContextService); - const allPageActive = currentPath === '/all'; const pageHelper = usePageHelper(currentWorkspace.docCollection); @@ -105,14 +102,13 @@ export const RootAppSidebar = (): ReactElement => { page.load(); openPage(currentWorkspaceId, page.id); mixpanel.track('DocCreated', { - page: telemetry.getPageContext(), segment: 'navigation panel', module: 'bottom button', control: 'new doc button', category: 'page', type: 'doc', }); - }, [createPage, currentWorkspaceId, openPage, telemetry]); + }, [createPage, currentWorkspaceId, openPage]); // Listen to the "New Page" action from the menu useEffect(() => { diff --git a/packages/frontend/core/src/hooks/affine/use-register-blocksuite-editor-commands.tsx b/packages/frontend/core/src/hooks/affine/use-register-blocksuite-editor-commands.tsx index fdc0eb8d3b07c..067a933cf9847 100644 --- a/packages/frontend/core/src/hooks/affine/use-register-blocksuite-editor-commands.tsx +++ b/packages/frontend/core/src/hooks/affine/use-register-blocksuite-editor-commands.tsx @@ -6,7 +6,6 @@ import { } from '@affine/core/commands'; import { mixpanel } from '@affine/core/mixpanel'; import { CompatibleFavoriteItemsAdapter } from '@affine/core/modules/properties'; -import { TelemetryWorkspaceContextService } from '@affine/core/modules/telemetry/services/telemetry'; import { WorkspaceFlavour } from '@affine/env/workspace'; import { useI18n } from '@affine/i18n'; import { EdgelessIcon, HistoryIcon, PageIcon } from '@blocksuite/icons/rc'; @@ -64,8 +63,6 @@ export function useRegisterBlocksuiteEditorCommands() { [docId, setTrashModal] ); - const telemetry = useService(TelemetryWorkspaceContextService); - const isCloudWorkspace = workspace.flavour === WorkspaceFlavour.AFFINE_CLOUD; useEffect(() => { @@ -106,9 +103,8 @@ export function useRegisterBlocksuiteEditorCommands() { label: t['com.affine.page-properties.page-info.view'](), run() { mixpanel.track('QuickSearchOptionClick', { - page: telemetry.getPageContext(), - segment: telemetry.getPageContext(), - module: telemetry.getPageContext(), + segment: 'cmdk', + module: mode === 'page' ? 'doc editor' : 'whiteboard editor', control: 'view info', }); openInfoModal(); @@ -128,9 +124,8 @@ export function useRegisterBlocksuiteEditorCommands() { run() { favAdapter.toggle(docId, 'doc'); mixpanel.track('QuickSearchOptionClick', { - page: telemetry.getPageContext(), - segment: telemetry.getPageContext(), - module: telemetry.getPageContext(), + segment: 'cmdk', + module: mode === 'page' ? 'doc editor' : 'whiteboard editor', control: favorite ? 'remove from favourites' : 'add to favourites', }); toast( @@ -157,9 +152,8 @@ export function useRegisterBlocksuiteEditorCommands() { }`, run() { mixpanel.track('QuickSearchOptionClick', { - page: telemetry.getPageContext(), - segment: telemetry.getPageContext(), - module: telemetry.getPageContext(), + segment: 'cmdk', + module: mode === 'page' ? 'doc editor' : 'whiteboard editor', control: mode === 'page' ? 'convert to edgeless' : 'convert to page', }); @@ -184,16 +178,14 @@ export function useRegisterBlocksuiteEditorCommands() { run() { duplicate(docId); mixpanel.track('QuickSearchOptionClick', { - page: telemetry.getPageContext(), - segment: telemetry.getPageContext(), - module: telemetry.getPageContext(), + segment: 'cmdk', + module: mode === 'page' ? 'doc editor' : 'whiteboard editor', control: 'duplicate', }); mixpanel.track('DocCreated', { control: 'cmdk', type: 'doc duplicate', category: 'doc', - page: telemetry.getPageContext(), }); }, }) @@ -208,9 +200,8 @@ export function useRegisterBlocksuiteEditorCommands() { label: t['Export to PDF'](), async run() { mixpanel.track('QuickSearchOptionClick', { - page: telemetry.getPageContext(), - segment: telemetry.getPageContext(), - module: telemetry.getPageContext(), + segment: 'cmdk', + module: mode === 'page' ? 'doc editor' : 'whiteboard editor', control: 'export to pdf', }); await exportHandler('pdf'); @@ -227,9 +218,8 @@ export function useRegisterBlocksuiteEditorCommands() { label: t['Export to HTML'](), async run() { mixpanel.track('QuickSearchOptionClick', { - page: telemetry.getPageContext(), - segment: telemetry.getPageContext(), - module: telemetry.getPageContext(), + segment: 'cmdk', + module: mode === 'page' ? 'doc editor' : 'whiteboard editor', control: 'export to html', }); await exportHandler('html'); @@ -246,9 +236,8 @@ export function useRegisterBlocksuiteEditorCommands() { label: t['Export to PNG'](), async run() { mixpanel.track('QuickSearchOptionClick', { - page: telemetry.getPageContext(), - segment: telemetry.getPageContext(), - module: telemetry.getPageContext(), + segment: 'cmdk', + module: mode === 'page' ? 'doc editor' : 'whiteboard editor', control: 'export to png', }); await exportHandler('png'); @@ -265,9 +254,8 @@ export function useRegisterBlocksuiteEditorCommands() { label: t['Export to Markdown'](), async run() { mixpanel.track('QuickSearchOptionClick', { - page: telemetry.getPageContext(), - segment: telemetry.getPageContext(), - module: telemetry.getPageContext(), + segment: 'cmdk', + module: mode === 'page' ? 'doc editor' : 'whiteboard editor', control: 'export to markdown', }); await exportHandler('markdown'); @@ -284,9 +272,8 @@ export function useRegisterBlocksuiteEditorCommands() { label: t['com.affine.moveToTrash.title'](), run() { mixpanel.track('QuickSearchOptionClick', { - page: telemetry.getPageContext(), - segment: telemetry.getPageContext(), - module: telemetry.getPageContext(), + segment: 'cmdk', + module: mode === 'page' ? 'doc editor' : 'whiteboard editor', control: 'move to trash', }); onClickDelete(doc.title$.value); @@ -304,9 +291,8 @@ export function useRegisterBlocksuiteEditorCommands() { label: t['com.affine.cmdk.affine.editor.restore-from-trash'](), run() { mixpanel.track('QuickSearchOptionClick', { - page: telemetry.getPageContext(), - segment: telemetry.getPageContext(), - module: telemetry.getPageContext(), + segment: 'cmdk', + module: mode === 'page' ? 'doc editor' : 'whiteboard editor', control: 'restore from trash', }); doc.restoreFromTrash(); @@ -323,9 +309,8 @@ export function useRegisterBlocksuiteEditorCommands() { label: t['com.affine.cmdk.affine.editor.reveal-page-history-modal'](), run() { mixpanel.track('QuickSearchOptionClick', { - page: telemetry.getPageContext(), - segment: telemetry.getPageContext(), - module: telemetry.getPageContext(), + segment: 'cmdk', + module: mode === 'page' ? 'doc editor' : 'whiteboard editor', control: 'reveal doc history modal', }); openHistoryModal(); @@ -346,9 +331,8 @@ export function useRegisterBlocksuiteEditorCommands() { icon: null, run() { mixpanel.track('QuickSearchOptionClick', { - page: telemetry.getPageContext(), - segment: telemetry.getPageContext(), - module: telemetry.getPageContext(), + segment: 'cmdk', + module: mode === 'page' ? 'doc editor' : 'whiteboard editor', control: 'save', }); toast(t['Save']()); @@ -372,7 +356,6 @@ export function useRegisterBlocksuiteEditorCommands() { favAdapter, docId, doc, - telemetry, openInfoModal, ]); } diff --git a/packages/frontend/core/src/hooks/affine/use-register-copy-link-commands.tsx b/packages/frontend/core/src/hooks/affine/use-register-copy-link-commands.tsx index 2fccec3de6a1f..49951c7f2c37b 100644 --- a/packages/frontend/core/src/hooks/affine/use-register-copy-link-commands.tsx +++ b/packages/frontend/core/src/hooks/affine/use-register-copy-link-commands.tsx @@ -4,10 +4,9 @@ import { } from '@affine/core/commands'; import { useSharingUrl } from '@affine/core/hooks/affine/use-share-url'; import { mixpanel } from '@affine/core/mixpanel'; -import { TelemetryWorkspaceContextService } from '@affine/core/modules/telemetry/services/telemetry'; import { useIsActiveView } from '@affine/core/modules/workbench'; import { WorkspaceFlavour } from '@affine/env/workspace'; -import { useService, type WorkspaceMetadata } from '@toeverything/infra'; +import { type WorkspaceMetadata } from '@toeverything/infra'; import { useEffect } from 'react'; export function useRegisterCopyLinkCommands({ @@ -26,8 +25,6 @@ export function useRegisterCopyLinkCommands({ urlType: 'workspace', }); - const telemetry = useService(TelemetryWorkspaceContextService); - useEffect(() => { const unsubs: Array<() => void> = []; @@ -43,9 +40,8 @@ export function useRegisterCopyLinkCommands({ icon: null, run() { mixpanel.track('QuickSearchOptionClick', { - page: telemetry.getPageContext(), - segment: telemetry.getPageContext(), - module: telemetry.getPageContext(), + segment: 'cmdk', + module: 'general', control: 'copy private link', }); isActiveView && isCloud && onClickCopyLink(); @@ -55,5 +51,5 @@ export function useRegisterCopyLinkCommands({ return () => { unsubs.forEach(unsub => unsub()); }; - }, [docId, isActiveView, isCloud, onClickCopyLink, telemetry]); + }, [docId, isActiveView, isCloud, onClickCopyLink]); } diff --git a/packages/frontend/core/src/hooks/affine/use-register-find-in-page-commands.ts b/packages/frontend/core/src/hooks/affine/use-register-find-in-page-commands.ts index f2eb55346e392..8b51ef234b825 100644 --- a/packages/frontend/core/src/hooks/affine/use-register-find-in-page-commands.ts +++ b/packages/frontend/core/src/hooks/affine/use-register-find-in-page-commands.ts @@ -4,7 +4,6 @@ import { } from '@affine/core/commands'; import { mixpanel } from '@affine/core/mixpanel'; import { FindInPageService } from '@affine/core/modules/find-in-page/services/find-in-page'; -import { TelemetryWorkspaceContextService } from '@affine/core/modules/telemetry/services/telemetry'; import { useService } from '@toeverything/infra'; import { useCallback, useEffect } from 'react'; @@ -18,8 +17,6 @@ export function useRegisterFindInPageCommands() { findInPage.toggleVisible(selectedText); }, [findInPage]); - const telemetry = useService(TelemetryWorkspaceContextService); - useEffect(() => { if (!environment.isDesktop) { return; @@ -28,7 +25,7 @@ export function useRegisterFindInPageCommands() { unsubs.push( registerAffineCommand({ preconditionStrategy: PreconditionStrategy.Never, - id: `editor:find-in-page`, + id: `affine:find-in-page`, keyBinding: { binding: '$mod+f', }, @@ -36,9 +33,8 @@ export function useRegisterFindInPageCommands() { label: '', run() { mixpanel.track('QuickSearchOptionClick', { - page: telemetry.getPageContext(), - segment: telemetry.getPageContext(), - module: telemetry.getPageContext(), + segment: 'cmdk', + module: 'general', control: 'find in page', }); toggleVisible(); @@ -49,5 +45,5 @@ export function useRegisterFindInPageCommands() { return () => { unsubs.forEach(unsub => unsub()); }; - }, [telemetry, toggleVisible]); + }, [toggleVisible]); } diff --git a/packages/frontend/core/src/hooks/use-register-workspace-commands.ts b/packages/frontend/core/src/hooks/use-register-workspace-commands.ts index bed7f32940cee..235f3932a90c1 100644 --- a/packages/frontend/core/src/hooks/use-register-workspace-commands.ts +++ b/packages/frontend/core/src/hooks/use-register-workspace-commands.ts @@ -3,7 +3,7 @@ import type { AffineEditorContainer } from '@blocksuite/presets'; import { useService, WorkspaceService } from '@toeverything/infra'; import { useStore } from 'jotai'; import { useTheme } from 'next-themes'; -import { useEffect, useMemo } from 'react'; +import { useEffect } from 'react'; import { PreconditionStrategy, @@ -17,7 +17,6 @@ import { } from '../commands'; import { usePageHelper } from '../components/blocksuite/block-suite-page-list/utils'; import { CMDKQuickSearchService } from '../modules/quicksearch/services/cmdk'; -import { TelemetryWorkspaceContextService } from '../modules/telemetry/services/telemetry'; import { useLanguageHelper } from './affine/use-language-helper'; import { useActiveBlocksuiteEditor } from './use-block-suite-editor'; import { useNavigateHelper } from './use-navigate-helper'; @@ -68,9 +67,6 @@ export function useRegisterWorkspaceCommands() { const navigationHelper = useNavigateHelper(); const [editor] = useActiveBlocksuiteEditor(); const cmdkQuickSearchService = useService(CMDKQuickSearchService); - const telemetry = useService(TelemetryWorkspaceContextService); - - const moduleName = useMemo(() => telemetry.getPageContext(), [telemetry]); useEffect(() => { const unsub = registerCMDKCommand(cmdkQuickSearchService, editor); @@ -85,13 +81,12 @@ export function useRegisterWorkspaceCommands() { const unsub = registerAffineUpdatesCommands({ store, t, - moduleName, }); return () => { unsub(); }; - }, [moduleName, store, t, telemetry]); + }, [store, t]); // register AffineNavigationCommands useEffect(() => { @@ -100,13 +95,12 @@ export function useRegisterWorkspaceCommands() { t, docCollection: currentWorkspace.docCollection, navigationHelper, - moduleName, }); return () => { unsub(); }; - }, [store, t, currentWorkspace.docCollection, navigationHelper, moduleName]); + }, [store, t, currentWorkspace.docCollection, navigationHelper]); // register AffineSettingsCommands useEffect(() => { @@ -116,22 +110,21 @@ export function useRegisterWorkspaceCommands() { theme, languageHelper, editor, - moduleName, }); return () => { unsub(); }; - }, [store, t, theme, languageHelper, editor, moduleName]); + }, [store, t, theme, languageHelper, editor]); // register AffineLayoutCommands useEffect(() => { - const unsub = registerAffineLayoutCommands({ t, store, moduleName }); + const unsub = registerAffineLayoutCommands({ t, store }); return () => { unsub(); }; - }, [moduleName, store, t]); + }, [store, t]); // register AffineCreationCommands useEffect(() => { @@ -139,24 +132,22 @@ export function useRegisterWorkspaceCommands() { store, pageHelper: pageHelper, t, - moduleName, }); return () => { unsub(); }; - }, [store, pageHelper, t, telemetry, moduleName]); + }, [store, pageHelper, t]); // register AffineHelpCommands useEffect(() => { const unsub = registerAffineHelpCommands({ store, t, - moduleName, }); return () => { unsub(); }; - }, [moduleName, store, t]); + }, [store, t]); } diff --git a/packages/frontend/core/src/modules/navigation/view/use-register-navigation-commands.ts b/packages/frontend/core/src/modules/navigation/view/use-register-navigation-commands.ts index 75922170ff972..6de6acfb1b2ec 100644 --- a/packages/frontend/core/src/modules/navigation/view/use-register-navigation-commands.ts +++ b/packages/frontend/core/src/modules/navigation/view/use-register-navigation-commands.ts @@ -6,12 +6,10 @@ import { mixpanel } from '@affine/core/mixpanel'; import { useService } from '@toeverything/infra'; import { useEffect } from 'react'; -import { TelemetryWorkspaceContextService } from '../../telemetry/services/telemetry'; import { NavigatorService } from '../services/navigator'; export function useRegisterNavigationCommands() { const navigator = useService(NavigatorService).navigator; - const telemetry = useService(TelemetryWorkspaceContextService); useEffect(() => { const unsubs: Array<() => void> = []; @@ -27,9 +25,8 @@ export function useRegisterNavigationCommands() { }, run() { mixpanel.track('QuickSearchOptionClick', { - page: telemetry.getPageContext(), - segment: telemetry.getPageContext(), - module: telemetry.getPageContext(), + segment: 'cmdk', + module: 'general', control: 'go back', }); navigator.back(); @@ -48,9 +45,8 @@ export function useRegisterNavigationCommands() { }, run() { mixpanel.track('QuickSearchOptionClick', { - page: telemetry.getPageContext(), - segment: telemetry.getPageContext(), - module: telemetry.getPageContext(), + segment: 'cmdk', + module: 'general', control: 'go forward', }); navigator.forward(); @@ -61,5 +57,5 @@ export function useRegisterNavigationCommands() { return () => { unsubs.forEach(unsub => unsub()); }; - }, [navigator, telemetry]); + }, [navigator]); } diff --git a/packages/frontend/core/src/modules/quicksearch/index.ts b/packages/frontend/core/src/modules/quicksearch/index.ts index 2d968f7a0fab6..77feff2e2ff2e 100644 --- a/packages/frontend/core/src/modules/quicksearch/index.ts +++ b/packages/frontend/core/src/modules/quicksearch/index.ts @@ -9,7 +9,6 @@ import { import { CollectionService } from '../collection'; import { DocsSearchService } from '../docs-search'; import { WorkspacePropertiesAdapter } from '../properties'; -import { TelemetryWorkspaceContextService } from '../telemetry/services/telemetry'; import { WorkbenchService } from '../workbench'; import { QuickSearch } from './entities/quick-search'; import { CollectionsQuickSearchSession } from './impls/collections'; @@ -40,7 +39,6 @@ export function configureQuickSearchModule(framework: Framework) { QuickSearchService, WorkbenchService, DocsService, - TelemetryWorkspaceContextService, ]) .service(RecentDocsService, [WorkspaceLocalState, DocsService]) .service(DocDisplayMetaService, [WorkspacePropertiesAdapter]) diff --git a/packages/frontend/core/src/modules/quicksearch/services/cmdk.ts b/packages/frontend/core/src/modules/quicksearch/services/cmdk.ts index 904698f1361fc..45c9e57e51b34 100644 --- a/packages/frontend/core/src/modules/quicksearch/services/cmdk.ts +++ b/packages/frontend/core/src/modules/quicksearch/services/cmdk.ts @@ -2,7 +2,6 @@ import { mixpanel } from '@affine/core/mixpanel'; import type { DocsService } from '@toeverything/infra'; import { Service } from '@toeverything/infra'; -import type { TelemetryWorkspaceContextService } from '../../telemetry/services/telemetry'; import type { WorkbenchService } from '../../workbench'; import { CollectionsQuickSearchSession } from '../impls/collections'; import { CommandsQuickSearchSession } from '../impls/commands'; @@ -15,8 +14,7 @@ export class CMDKQuickSearchService extends Service { constructor( private readonly quickSearchService: QuickSearchService, private readonly workbenchService: WorkbenchService, - private readonly docsService: DocsService, - private readonly telemetry: TelemetryWorkspaceContextService + private readonly docsService: DocsService ) { super(); } @@ -50,9 +48,8 @@ export class CMDKQuickSearchService extends Service { blockId?: string; } = result.payload; mixpanel.track('QuickSearchOptionClick', { - page: this.telemetry.getPageContext(), - segment: this.telemetry.getPageContext(), - module: this.telemetry.getPageContext(), + segment: 'cmdk', + module: result.source === 'recent-doc' ? 'recent' : 'results', control: result.source === 'recent-doc' ? 'recent docs'