diff --git a/apps/app/src/components/promptbox/PromptBoxInternal.tsx b/apps/app/src/components/promptbox/PromptBoxInternal.tsx index 514924688..8f5dfb840 100644 --- a/apps/app/src/components/promptbox/PromptBoxInternal.tsx +++ b/apps/app/src/components/promptbox/PromptBoxInternal.tsx @@ -1,3 +1,4 @@ +import { renderProbe } from "@/lib/render-probe"; import { atom, useAtom } from "jotai"; import { RESET, atomWithStorage } from "jotai/utils"; import type { @@ -1132,6 +1133,7 @@ export function PromptBoxInternal({ promptBoxRef, focusEndKey, }: PromptBoxInternalProps) { + renderProbe("PromptBoxInternal"); const focusComposerShortcut = useAppCommandShortcut("composer.focus"); const { isSubmitting = false, diff --git a/apps/app/src/components/thread/embedded-chat/EmbeddedThreadChat.tsx b/apps/app/src/components/thread/embedded-chat/EmbeddedThreadChat.tsx index e1b991ad2..288019ca6 100644 --- a/apps/app/src/components/thread/embedded-chat/EmbeddedThreadChat.tsx +++ b/apps/app/src/components/thread/embedded-chat/EmbeddedThreadChat.tsx @@ -1,3 +1,4 @@ +import { renderProbe } from "@/lib/render-probe"; import { useCallback, useEffect, @@ -270,6 +271,7 @@ function EmbeddedThreadChatHostedFooter({ scrollOverlay, surface, }: EmbeddedThreadChatHostedFooterProps) { + renderProbe("EmbeddedThreadChatHostedFooter"); return (
getViewRows(props.timelineRows), diff --git a/apps/app/src/components/thread/timeline/ThreadTimelineSurface.tsx b/apps/app/src/components/thread/timeline/ThreadTimelineSurface.tsx index 978011b31..6b41497a6 100644 --- a/apps/app/src/components/thread/timeline/ThreadTimelineSurface.tsx +++ b/apps/app/src/components/thread/timeline/ThreadTimelineSurface.tsx @@ -1,3 +1,4 @@ +import { renderProbe } from "@/lib/render-probe"; import { useEffect, useMemo, useState, type ReactNode } from "react"; import type { ActiveThinking, @@ -178,6 +179,7 @@ export function ThreadTimelineSurface({ unreadDividerPlacement, workspaceRootPath, }: ThreadTimelineSurfaceProps) { + renderProbe("ThreadTimelineSurface"); const preferredTheme = usePreferredTheme(); const showActiveThinking = activeThinking !== null && ongoingIndicatorLabel === undefined; diff --git a/apps/app/src/views/thread-detail/ThreadDetailPromptArea.tsx b/apps/app/src/views/thread-detail/ThreadDetailPromptArea.tsx index bc2815413..0832ff124 100644 --- a/apps/app/src/views/thread-detail/ThreadDetailPromptArea.tsx +++ b/apps/app/src/views/thread-detail/ThreadDetailPromptArea.tsx @@ -1,3 +1,4 @@ +import { renderProbe } from "@/lib/render-probe"; import { useCallback, useMemo, useRef, useState } from "react"; import { createPortal } from "react-dom"; import { NavLink, useNavigate } from "react-router-dom"; @@ -346,6 +347,7 @@ export function ThreadDetailPromptArea({ composerFocusRequestNonce, thread, }: ThreadDetailPromptAreaProps) { + renderProbe("ThreadDetailPromptArea"); const navigate = useNavigate(); const defaultExecutionOptionsQuery = useThreadDefaultExecutionOptions( thread.id, diff --git a/apps/app/src/views/thread-detail/ThreadDetailSecondaryContent.tsx b/apps/app/src/views/thread-detail/ThreadDetailSecondaryContent.tsx index fe23cf36a..6fa495375 100644 --- a/apps/app/src/views/thread-detail/ThreadDetailSecondaryContent.tsx +++ b/apps/app/src/views/thread-detail/ThreadDetailSecondaryContent.tsx @@ -1,3 +1,4 @@ +import { renderProbe } from "@/lib/render-probe"; import { useMemo, type ComponentProps, type ReactNode } from "react"; import { Skeleton } from "@bb/shared-ui/skeleton"; import { cn } from "@bb/shared-ui/lib/utils"; @@ -78,6 +79,7 @@ function ThreadDetailSecondaryContentBody({ secondaryPanel, timeline, }: ThreadDetailSecondaryContentProps) { + renderProbe("ThreadDetailSecondaryContentBody"); const composerHost = usePluginComposerHost(); const { renderBrowserDeck, ...threadSecondaryPanelProps } = secondaryPanel; diff --git a/apps/app/src/views/thread-detail/ThreadDetailView.tsx b/apps/app/src/views/thread-detail/ThreadDetailView.tsx index a2a4724bd..a8d1e5942 100644 --- a/apps/app/src/views/thread-detail/ThreadDetailView.tsx +++ b/apps/app/src/views/thread-detail/ThreadDetailView.tsx @@ -1,3 +1,4 @@ +import { renderProbe } from "@/lib/render-probe"; import { useCallback, useEffect, @@ -503,6 +504,7 @@ export function ThreadDetailView(props: ThreadDetailViewProps) { } function ThreadDetailViewInternal(props: ThreadDetailViewInternalProps) { + renderProbe("ThreadDetailViewInternal"); const { projectId, threadId } = props; const { isFocused, navigateInPane, onRequestClose, isBoundedPane } = usePaneContext(); diff --git a/apps/app/src/views/thread-detail/ThreadTimelinePane.tsx b/apps/app/src/views/thread-detail/ThreadTimelinePane.tsx index 7d323f95c..7c112546e 100644 --- a/apps/app/src/views/thread-detail/ThreadTimelinePane.tsx +++ b/apps/app/src/views/thread-detail/ThreadTimelinePane.tsx @@ -1,3 +1,4 @@ +import { renderProbe } from "@/lib/render-probe"; import type { ReactNode } from "react"; import type { ThreadTimelineUnreadDividerPlacement } from "@/components/thread/timeline"; import type { PromptMentionLinkResolver } from "@/components/promptbox/editor/prompt-mention-link"; @@ -27,6 +28,7 @@ export function ThreadTimelinePane({ footer, ...surface }: ThreadTimelinePaneProps) { + renderProbe("ThreadTimelinePane"); return (