chore(ask_sb): Add PostHog telemetry event for new chat thread creation (#418)

This commit is contained in:
Brendan Kellam 2025-07-31 17:49:06 -07:00 committed by GitHub
parent 163e558b9a
commit 48269781b7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 9 additions and 1 deletions

View file

@ -10,6 +10,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Fixed ### Fixed
- [ask sb] Fixed "413 content too large" error when starting a new chat with many repos selected. [#416](https://github.com/sourcebot-dev/sourcebot/pull/416) - [ask sb] Fixed "413 content too large" error when starting a new chat with many repos selected. [#416](https://github.com/sourcebot-dev/sourcebot/pull/416)
### Added
- [ask sb] PostHog telemetry for chat thread creation. [#418](https://github.com/sourcebot-dev/sourcebot/pull/418)
## [4.6.1] - 2025-07-29 ## [4.6.1] - 2025-07-29
### Added ### Added

View file

@ -12,12 +12,14 @@ import { isServiceError } from "@/lib/utils";
import { createPathWithQueryParams } from "@/lib/utils"; import { createPathWithQueryParams } from "@/lib/utils";
import { SearchScope, SET_CHAT_STATE_SESSION_STORAGE_KEY, SetChatStatePayload } from "./types"; import { SearchScope, SET_CHAT_STATE_SESSION_STORAGE_KEY, SetChatStatePayload } from "./types";
import { useSessionStorage } from "usehooks-ts"; import { useSessionStorage } from "usehooks-ts";
import useCaptureEvent from "@/hooks/useCaptureEvent";
export const useCreateNewChatThread = () => { export const useCreateNewChatThread = () => {
const domain = useDomain(); const domain = useDomain();
const [isLoading, setIsLoading] = useState(false); const [isLoading, setIsLoading] = useState(false);
const { toast } = useToast(); const { toast } = useToast();
const router = useRouter(); const router = useRouter();
const captureEvent = useCaptureEvent();
const [, setChatState] = useSessionStorage<SetChatStatePayload | null>(SET_CHAT_STATE_SESSION_STORAGE_KEY, null); const [, setChatState] = useSessionStorage<SetChatStatePayload | null>(SET_CHAT_STATE_SESSION_STORAGE_KEY, null);
@ -38,6 +40,8 @@ export const useCreateNewChatThread = () => {
return; return;
} }
captureEvent('wa_chat_thread_created', {});
setChatState({ setChatState({
inputMessage, inputMessage,
selectedSearchScopes, selectedSearchScopes,
@ -47,7 +51,7 @@ export const useCreateNewChatThread = () => {
router.push(url); router.push(url);
router.refresh(); router.refresh();
}, [domain, router, toast, setChatState]); }, [domain, router, toast, setChatState, captureEvent]);
return { return {
createNewChatThread, createNewChatThread,

View file

@ -282,6 +282,7 @@ export type PosthogEventMap = {
chatId: string, chatId: string,
messageId: string, messageId: string,
}, },
wa_chat_thread_created: {},
////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////
wa_demo_docs_link_pressed: {}, wa_demo_docs_link_pressed: {},
wa_demo_search_context_card_pressed: { wa_demo_search_context_card_pressed: {