Skip to content

Commit ff0e4a3

Browse files
posthog events
1 parent 9b90ca7 commit ff0e4a3

File tree

5 files changed

+29
-5
lines changed

5 files changed

+29
-5
lines changed

packages/web/src/app/[domain]/browse/[...path]/components/codePreviewPanel.tsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import { EditorContextMenu } from "../../../components/editorContextMenu";
1717
import { BrowseHighlightRange, HIGHLIGHT_RANGE_QUERY_PARAM, useBrowseNavigation } from "../../hooks/useBrowseNavigation";
1818
import { useBrowseState } from "../../hooks/useBrowseState";
1919
import { rangeHighlightingExtension } from "./rangeHighlightingExtension";
20+
import useCaptureEvent from "@/hooks/useCaptureEvent";
2021

2122
interface CodePreviewPanelProps {
2223
path: string;
@@ -40,6 +41,7 @@ export const CodePreviewPanel = ({
4041
const hasCodeNavEntitlement = useHasEntitlement("code-nav");
4142
const { updateBrowseState } = useBrowseState();
4243
const { navigateToPath } = useBrowseNavigation();
44+
const captureEvent = useCaptureEvent();
4345

4446
const highlightRangeQuery = useNonEmptyQueryParam(HIGHLIGHT_RANGE_QUERY_PARAM);
4547
const highlightRange = useMemo((): BrowseHighlightRange | undefined => {
@@ -132,6 +134,8 @@ export const CodePreviewPanel = ({
132134
}, [editorRef, highlightRange]);
133135

134136
const onFindReferences = useCallback((symbolName: string) => {
137+
captureEvent('wa_browse_find_references_pressed', {});
138+
135139
updateBrowseState({
136140
selectedSymbolInfo: {
137141
repoName,
@@ -142,12 +146,14 @@ export const CodePreviewPanel = ({
142146
isBottomPanelCollapsed: false,
143147
activeExploreMenuTab: "references",
144148
})
145-
}, [updateBrowseState, repoName, revisionName, language]);
149+
}, [captureEvent, updateBrowseState, repoName, revisionName, language]);
146150

147151

148152
// If we resolve multiple matches, instead of navigating to the first match, we should
149153
// instead popup the bottom sheet with the list of matches.
150154
const onGotoDefinition = useCallback((symbolName: string, symbolDefinitions: SymbolDefinition[]) => {
155+
captureEvent('wa_browse_goto_definition_pressed', {});
156+
151157
if (symbolDefinitions.length === 0) {
152158
return;
153159
}
@@ -175,7 +181,7 @@ export const CodePreviewPanel = ({
175181
isBottomPanelCollapsed: false,
176182
})
177183
}
178-
}, [navigateToPath, revisionName, updateBrowseState, repoName, language]);
184+
}, [captureEvent, navigateToPath, revisionName, updateBrowseState, repoName, language]);
179185

180186
const theme = useCodeMirrorTheme();
181187

packages/web/src/app/[domain]/search/components/codePreviewPanel/codePreview.tsx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import { SymbolHoverPopup } from "@/ee/features/codeNav/components/symbolHoverPo
2121
import { symbolHoverTargetsExtension } from "@/ee/features/codeNav/components/symbolHoverPopup/symbolHoverTargetsExtension";
2222
import { useHasEntitlement } from "@/features/entitlements/useHasEntitlement";
2323
import { SymbolDefinition } from "@/ee/features/codeNav/components/symbolHoverPopup/useHoveredOverSymbolInfo";
24+
import useCaptureEvent from "@/hooks/useCaptureEvent";
2425

2526
export interface CodePreviewFile {
2627
content: string;
@@ -57,6 +58,8 @@ export const CodePreview = ({
5758
const languageExtension = useCodeMirrorLanguageExtension(file?.language ?? '', editorRef?.view);
5859
const [currentSelection, setCurrentSelection] = useState<SelectionRange>();
5960

61+
const captureEvent = useCaptureEvent();
62+
6063
const extensions = useMemo(() => {
6164
return [
6265
keymapExtension,
@@ -112,6 +115,8 @@ export const CodePreview = ({
112115
}, [onSelectedMatchIndexChange]);
113116

114117
const onGotoDefinition = useCallback((symbolName: string, symbolDefinitions: SymbolDefinition[]) => {
118+
captureEvent('wa_preview_panel_goto_definition_pressed', {});
119+
115120
if (symbolDefinitions.length === 0) {
116121
return;
117122
}
@@ -145,9 +150,11 @@ export const CodePreview = ({
145150
}
146151
});
147152
}
148-
}, [file.filepath, file.language, file.revision, navigateToPath, repoName]);
153+
}, [captureEvent, file.filepath, file.language, file.revision, navigateToPath, repoName]);
149154

150155
const onFindReferences = useCallback((symbolName: string) => {
156+
captureEvent('wa_preview_panel_find_references_pressed', {});
157+
151158
navigateToPath({
152159
repoName,
153160
revisionName: file.revision,
@@ -164,7 +171,7 @@ export const CodePreview = ({
164171
isBottomPanelCollapsed: false,
165172
}
166173
})
167-
}, [file.filepath, file.language, file.revision, navigateToPath, repoName]);
174+
}, [captureEvent, file.filepath, file.language, file.revision, navigateToPath, repoName]);
168175

169176
return (
170177
<div className="flex flex-col h-full">

packages/web/src/app/[domain]/search/components/searchResultsPanel/fileMatch.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ export const FileMatch = ({
4848
onClick={(e) => {
4949
onOpen(e.metaKey || e.ctrlKey);
5050
}}
51-
title="Open file preview (cmd/ctrl + click)"
51+
title="open file: click, open file preview: cmd/ctrl + click"
5252
>
5353
<LightweightCodeHighlighter
5454
language={file.language}

packages/web/src/ee/features/codeNav/components/exploreMenu/referenceList.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { FindRelatedSymbolsResponse } from "@/features/codeNav/types";
88
import { RepositoryInfo, SourceRange } from "@/features/search/types";
99
import { base64Decode } from "@/lib/utils";
1010
import { useMemo } from "react";
11+
import useCaptureEvent from "@/hooks/useCaptureEvent";
1112

1213
interface ReferenceListProps {
1314
data: FindRelatedSymbolsResponse;
@@ -26,6 +27,7 @@ export const ReferenceList = ({
2627
}, [data.repositoryInfo]);
2728

2829
const { navigateToPath } = useBrowseNavigation();
30+
const captureEvent = useCaptureEvent();
2931

3032
return (
3133
<ScrollArea className="h-full">
@@ -56,6 +58,7 @@ export const ReferenceList = ({
5658
range={match.range}
5759
language={file.language}
5860
onClick={() => {
61+
captureEvent('wa_explore_menu_reference_clicked', {});
5962
navigateToPath({
6063
repoName: file.repository,
6164
revisionName,

packages/web/src/lib/posthogEvents.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -263,5 +263,13 @@ export type PosthogEventMap = {
263263
//////////////////////////////////////////////////////////////////
264264
wa_api_key_created: {},
265265
wa_api_key_creation_fail: {},
266+
//////////////////////////////////////////////////////////////////
267+
wa_preview_panel_find_references_pressed: {},
268+
wa_preview_panel_goto_definition_pressed: {},
269+
//////////////////////////////////////////////////////////////////
270+
wa_browse_find_references_pressed: {},
271+
wa_browse_goto_definition_pressed: {},
272+
//////////////////////////////////////////////////////////////////
273+
wa_explore_menu_reference_clicked: {},
266274
}
267275
export type PosthogEvent = keyof PosthogEventMap;

0 commit comments

Comments
 (0)