From 3f9b3fb53f7a45a9d69336897ce52d643b7ff8b7 Mon Sep 17 00:00:00 2001 From: Michael Matloka Date: Wed, 1 Apr 2026 02:17:25 +0200 Subject: [PATCH] feat(inbox): inline signal source config modal, rounded cards, aligned warming-up state - "Enable Inbox" button opens a Dialog with SignalSourcesSettings instead of navigating to Settings - Dialog stays mounted even after sources are enabled (controlled open state) - X close button in dialog header, "Back to Inbox" primary button in footer - "Back to Inbox" disabled with tooltip when no source is enabled - Signal source toggle cards and evaluations section now have rounded corners - Warming-up state uses same hedgehog image and layout as empty state - Warming-up state opens the same signal sources modal instead of navigating away - "Configure sources" button and clickable source icons open the modal --- .../renderer/assets/images/explorer-hog.png | Bin 0 -> 117542 bytes .../inbox/components/DataSourceSetup.tsx | 95 +++- .../inbox/components/InboxSignalsTab.tsx | 169 +++--- .../inbox/components/InboxWarmingUpState.tsx | 148 +++--- .../features/inbox/components/SignalCard.tsx | 486 +++++++++++++----- .../inbox/components/SignalSourceToggles.tsx | 2 + 6 files changed, 623 insertions(+), 277 deletions(-) create mode 100644 apps/code/src/renderer/assets/images/explorer-hog.png diff --git a/apps/code/src/renderer/assets/images/explorer-hog.png b/apps/code/src/renderer/assets/images/explorer-hog.png new file mode 100644 index 0000000000000000000000000000000000000000..95df75d4cebb23b2a2d8ab7d156b3e01fb5f1074 GIT binary patch literal 117542 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

Yf9C!0^#E`?* z&v1fEgdoA8Og0=NxEe^SFGx$G>&vp~I(C2;FH7TN<Jccw|;nqUqDS;d{7xQ0sR<R!CiAW@dz*70p$$1V?&zRegIHXngOI0yn^0nlehlbXwezBl8l-|`9}$lQJ;$%| zWnoULG6;#IP_w#FuPe@`oCGr+XzG%EAe%v!($qgh=eq}JO_9=@Uy! zsh*Fkw%yM#jt_)NNJnNS!Nt&@I?eqNZZ{dN&QoNPwEZkKJ$l?@*k4g_3H zRP@Zg9b`Bf#{ym^+*HkA24@N3L)jN!G|?B}K+vai{zR+)pHRs#r-9{Xa}Ff5J;7Ta zZ`FJWe_%oxcPktPs+B;@hD(p}2%xHjtjJ1s5&Zc_`FMR%szo-Kn;pV_b|%O+3MOeM zq0{_ohP|*MV>!{ndDP2U*>6tN({_H}=0V34){bG44O^vitT&Bt;YhLCSdzeC{z! ztH**@9{AY9X|LPZP;?_lxOGVl~MJn{nXCT zBpMngI}jZ^kj#PSx5eWur%E*pWMw1Ue8(lusXv%`U0!& zhQRsw0w;X%BQ$3LHs?S>8?M4v@dHQW9UR$@a5QIdF;tWgJF{8o7sJ3+K(@pareP5V zXlG4v7Nwd^bf%+E=CDsTI6lo`7{ZLaHS)fe=A|(Ql1h8)JL%0DB^tB)>v*ZhlE(1M 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 OGB`RMx33|3v;G6sfm;3m literal 0 HcmV?d00001 diff --git a/apps/code/src/renderer/features/inbox/components/DataSourceSetup.tsx b/apps/code/src/renderer/features/inbox/components/DataSourceSetup.tsx index 381dbb28c..c74618fce 100644 --- a/apps/code/src/renderer/features/inbox/components/DataSourceSetup.tsx +++ b/apps/code/src/renderer/features/inbox/components/DataSourceSetup.tsx @@ -51,13 +51,41 @@ interface SetupFormProps { onCancel: () => void; } +const POLL_INTERVAL_GITHUB_MS = 3_000; +const POLL_TIMEOUT_GITHUB_MS = 300_000; + function GitHubSetup({ onComplete, onCancel }: SetupFormProps) { const projectId = useAuthStore((s) => s.projectId); + const cloudRegion = useAuthStore((s) => s.cloudRegion); const client = useAuthStore((s) => s.client); const { githubIntegration, repositories, isLoadingRepos } = useRepositoryIntegration(); const [repo, setRepo] = useState(null); const [loading, setLoading] = useState(false); + const [connecting, setConnecting] = useState(false); + const pollTimerRef = useRef | null>(null); + const pollTimeoutRef = useRef | null>(null); + + const stopPolling = useCallback(() => { + if (pollTimerRef.current) { + clearInterval(pollTimerRef.current); + pollTimerRef.current = null; + } + if (pollTimeoutRef.current) { + clearTimeout(pollTimeoutRef.current); + pollTimeoutRef.current = null; + } + }, []); + + useEffect(() => stopPolling, [stopPolling]); + + // Stop polling once integration appears + useEffect(() => { + if (githubIntegration && connecting) { + stopPolling(); + setConnecting(false); + } + }, [githubIntegration, connecting, stopPolling]); // Auto-select the first repo once loaded useEffect(() => { @@ -66,6 +94,47 @@ function GitHubSetup({ onComplete, onCancel }: SetupFormProps) { } }, [repo, repositories]); + const handleConnectGitHub = useCallback(async () => { + if (!cloudRegion || !projectId) return; + setConnecting(true); + try { + await trpcClient.githubIntegration.startFlow.mutate({ + region: cloudRegion, + projectId, + }); + + pollTimerRef.current = setInterval(async () => { + try { + if (!client) return; + // Trigger a refetch of integrations + const integrations = + await client.getIntegrationsForProject(projectId); + const hasGithub = integrations.some( + (i: { kind: string }) => i.kind === "github", + ); + if (hasGithub) { + stopPolling(); + setConnecting(false); + toast.success("GitHub connected"); + } + } catch { + // Ignore individual poll failures + } + }, POLL_INTERVAL_GITHUB_MS); + + pollTimeoutRef.current = setTimeout(() => { + stopPolling(); + setConnecting(false); + toast.error("Connection timed out. Please try again."); + }, POLL_TIMEOUT_GITHUB_MS); + } catch (error) { + setConnecting(false); + toast.error( + error instanceof Error ? error.message : "Failed to start GitHub flow", + ); + } + }, [cloudRegion, projectId, client, stopPolling]); + const handleSubmit = useCallback(async () => { if (!projectId || !client || !repo || !githubIntegration) return; @@ -96,10 +165,28 @@ function GitHubSetup({ onComplete, onCancel }: SetupFormProps) { if (!githubIntegration) { return ( - - No GitHub integration found. Please connect GitHub during onboarding - first. - + + + Connect your GitHub account to import issues as signals. + + + + + + ); } diff --git a/apps/code/src/renderer/features/inbox/components/InboxSignalsTab.tsx b/apps/code/src/renderer/features/inbox/components/InboxSignalsTab.tsx index a3a5698a3..bfba77736 100644 --- a/apps/code/src/renderer/features/inbox/components/InboxSignalsTab.tsx +++ b/apps/code/src/renderer/features/inbox/components/InboxSignalsTab.tsx @@ -18,7 +18,7 @@ import { } from "@features/inbox/utils/filterReports"; import { INBOX_REFETCH_INTERVAL_MS } from "@features/inbox/utils/inboxConstants"; import { useDraftStore } from "@features/message-editor/stores/draftStore"; -import { useSettingsDialogStore } from "@features/settings/stores/settingsDialogStore"; +import { SignalSourcesSettings } from "@features/settings/components/sections/SignalSourcesSettings"; import { useCreateTask } from "@features/tasks/hooks/useTasks"; import { useFeatureFlag } from "@hooks/useFeatureFlag"; import { useRepositoryIntegration } from "@hooks/useIntegrations"; @@ -35,10 +35,12 @@ import { Badge, Box, Button, + Dialog, Flex, ScrollArea, Select, Text, + Tooltip, } from "@radix-ui/themes"; import graphsHog from "@renderer/assets/images/graphs-hog.png"; import { getCloudUrlFromRegion } from "@shared/constants/oauth"; @@ -124,7 +126,7 @@ export function InboxSignalsTab() { const statusFilter = useInboxSignalsFilterStore((s) => s.statusFilter); const { data: signalSourceConfigs } = useSignalSourceConfigs(); const hasSignalSources = signalSourceConfigs?.some((c) => c.enabled) ?? false; - const openSettings = useSettingsDialogStore((s) => s.open); + const [sourcesDialogOpen, setSourcesDialogOpen] = useState(false); const windowFocused = useRendererWindowFocusStore((s) => s.focused); const isInboxView = useNavigationStore((s) => s.view.type === "inbox"); @@ -324,81 +326,126 @@ export function InboxSignalsTab() { ); } + const sourcesDialog = ( + + + + + Signal sources + + + + + + + + {hasSignalSources ? ( + + + + ) : ( + + + + )} + + + + ); + if (allReports.length === 0) { if (!hasSignalSources) { return ( - - - - - - Welcome to your Inbox - + <> + + + - - - Background analysis of your data — while you sleep. - -
- Session recordings watched automatically. Issues, tickets, and - evals analyzed around the clock. + Welcome to your Inbox
- - - - - Ready-to-run fixes for real user problems. + + + Background analysis of your data — while you sleep. + +
+ Session recordings watched automatically. Issues, tickets, and + evals analyzed around the clock.
-
- Each report includes evidence and impact numbers — just execute - the prompt in your agent. -
-
- + + + + + Ready-to-run fixes for real user problems. + +
+ Each report includes evidence and impact numbers — just + execute the prompt in your agent. +
+
+ + +
-
+ {sourcesDialog} + ); } - return ; + return ( + <> + setSourcesDialogOpen(true)} + /> + {sourcesDialog} + + ); } return ( diff --git a/apps/code/src/renderer/features/inbox/components/InboxWarmingUpState.tsx b/apps/code/src/renderer/features/inbox/components/InboxWarmingUpState.tsx index 115835673..5665ef5f8 100644 --- a/apps/code/src/renderer/features/inbox/components/InboxWarmingUpState.tsx +++ b/apps/code/src/renderer/features/inbox/components/InboxWarmingUpState.tsx @@ -1,5 +1,4 @@ import { useSignalSourceConfigs } from "@features/inbox/hooks/useSignalSourceConfigs"; -import { useSettingsDialogStore } from "@features/settings/stores/settingsDialogStore"; import { BugIcon, GithubLogoIcon, @@ -8,9 +7,9 @@ import { TicketIcon, VideoIcon, } from "@phosphor-icons/react"; -import { Flex, Text, Tooltip } from "@radix-ui/themes"; +import { Button, Flex, Text } from "@radix-ui/themes"; import type { SignalSourceConfig } from "@renderer/api/posthogClient"; -import { motion } from "framer-motion"; +import explorerHog from "@renderer/assets/images/explorer-hog.png"; import { type ReactNode, useMemo } from "react"; const SOURCE_DISPLAY_ORDER: SignalSourceConfig["source_product"][] = [ @@ -22,7 +21,7 @@ const SOURCE_DISPLAY_ORDER: SignalSourceConfig["source_product"][] = [ ]; function sourceIcon(product: SignalSourceConfig["source_product"]): ReactNode { - const common = { size: 22 as const }; + const common = { size: 20 as const }; switch (product) { case "session_replay": return ; @@ -51,17 +50,29 @@ function AnimatedEllipsis({ className }: { className?: string }) { ); } -export function InboxWarmingUpState() { +interface InboxWarmingUpStateProps { + onConfigureSources: () => void; +} + +export function InboxWarmingUpState({ + onConfigureSources, +}: InboxWarmingUpStateProps) { const { data: configs } = useSignalSourceConfigs(); - const openSignalSettings = useSettingsDialogStore((s) => s.open); - const enabledSources = useMemo(() => { - const enabled = (configs ?? []).filter((c) => c.enabled); - return [...enabled].sort( - (a, b) => - SOURCE_DISPLAY_ORDER.indexOf(a.source_product) - - SOURCE_DISPLAY_ORDER.indexOf(b.source_product), - ); + const enabledProducts = useMemo(() => { + const seen = new Set(); + return (configs ?? []) + .filter((c) => c.enabled) + .sort( + (a, b) => + SOURCE_DISPLAY_ORDER.indexOf(a.source_product) - + SOURCE_DISPLAY_ORDER.indexOf(b.source_product), + ) + .filter((c) => { + if (seen.has(c.source_product)) return false; + seen.add(c.source_product); + return true; + }); }, [configs]); return ( @@ -69,88 +80,53 @@ export function InboxWarmingUpState() { direction="column" align="center" justify="center" - gap="4" height="100%" - px="4" - className="text-center" + px="5" + style={{ margin: "0 auto" }} > - - - + + - - + Inbox is warming up + - - Reports appear here as soon as signals are grouped. Research usually - finishes within a minute while we watch your connected sources. - - - Processing signals - - - - {enabledSources.length > 0 ? ( - - + + + {enabledProducts.map((cfg) => ( + + {sourceIcon(cfg.source_product)} + + ))} + - - - ) : null} + Configure sources + + + ); } diff --git a/apps/code/src/renderer/features/inbox/components/SignalCard.tsx b/apps/code/src/renderer/features/inbox/components/SignalCard.tsx index 22a0fff82..acdec85d8 100644 --- a/apps/code/src/renderer/features/inbox/components/SignalCard.tsx +++ b/apps/code/src/renderer/features/inbox/components/SignalCard.tsx @@ -1,10 +1,9 @@ import { ArrowSquareOutIcon, - BugIcon, CaretDownIcon, CaretRightIcon, - GithubLogoIcon, TagIcon, + WarningIcon, } from "@phosphor-icons/react"; import { Badge, Box, Flex, Text } from "@radix-ui/themes"; import type { Signal } from "@shared/types"; @@ -12,10 +11,72 @@ import { useState } from "react"; const COLLAPSE_THRESHOLD = 300; -interface SignalCardProps { - signal: Signal; +// ── Source line labels (matching PostHog Cloud's signalCardSourceLine) ──────── + +const ERROR_TRACKING_TYPE_LABELS: Record = { + issue_created: "New issue", + issue_reopened: "Issue reopened", + issue_spiking: "Volume spike", +}; + +function signalCardSourceLine(signal: { + source_product: string; + source_type: string; +}): string { + const { source_product, source_type } = signal; + + if (source_product === "error_tracking") { + const typeLabel = + ERROR_TRACKING_TYPE_LABELS[source_type] ?? source_type.replace(/_/g, " "); + return `Error tracking · ${typeLabel}`; + } + if ( + source_product === "session_replay" && + source_type === "session_segment_cluster" + ) { + return "Session replay · Session segment cluster"; + } + if ( + source_product === "session_replay" && + source_type === "session_analysis_cluster" + ) { + return "Session replay · Session analysis cluster"; + } + if (source_product === "llm_analytics" && source_type === "evaluation") { + return "LLM analytics · Evaluation"; + } + if (source_product === "zendesk" && source_type === "ticket") { + return "Zendesk · Ticket"; + } + if (source_product === "github" && source_type === "issue") { + return "GitHub · Issue"; + } + if (source_product === "linear" && source_type === "issue") { + return "Linear · Issue"; + } + + const productLabel = source_product.replace(/_/g, " "); + const typeLabel = source_type.replace(/_/g, " "); + return `${productLabel} · ${typeLabel}`; +} + +// ── Source product color (matching Cloud's known product colors) ────────────── + +const SOURCE_PRODUCT_COLORS: Record = { + error_tracking: "var(--red-9)", + session_replay: "var(--amber-9)", + llm_analytics: "var(--purple-9)", + github: "var(--gray-11)", + linear: "var(--blue-9)", + zendesk: "var(--green-9)", +}; + +function sourceProductColor(product: string): string { + return SOURCE_PRODUCT_COLORS[product] ?? "var(--gray-9)"; } +// ── Shared utilities ───────────────────────────────────────────────────────── + interface GitHubLabelObject { name: string; color?: string; @@ -24,11 +85,26 @@ interface GitHubLabelObject { interface GitHubIssueExtra { html_url?: string; number?: number; - state?: string; labels?: string | GitHubLabelObject[]; created_at?: string; - updated_at?: string; - locked?: boolean; +} + +interface ZendeskTicketExtra { + url?: string; + priority?: string; + status?: string; + tags?: string[]; +} + +interface LlmEvalExtra { + evaluation_id?: string; + trace_id?: string; + model?: string; + provider?: string; +} + +interface ErrorTrackingExtra { + fingerprint?: string; } function resolveLabels( @@ -57,18 +133,6 @@ function resolveLabels( return []; } -function splitTitleBody(content: string): { title: string; body: string } { - const firstNewline = content.indexOf("\n"); - if (firstNewline === -1) return { title: content, body: "" }; - return { - title: content.slice(0, firstNewline).trim(), - body: content - .slice(firstNewline + 1) - .replace(/^[\n]+/, "") - .trim(), - }; -} - function truncateBody(body: string, maxLength = COLLAPSE_THRESHOLD): string { if (body.length <= maxLength) return body; const truncated = body.slice(0, maxLength); @@ -77,6 +141,73 @@ function truncateBody(body: string, maxLength = COLLAPSE_THRESHOLD): string { return `${truncated.slice(0, cutPoint)}…`; } +function parseExtra(raw: Record): Record { + if (typeof raw === "string") { + try { + return JSON.parse(raw) as Record; + } catch { + return {}; + } + } + return raw; +} + +// ── Type guards ────────────────────────────────────────────────────────────── + +function isGithubIssueExtra( + extra: Record, +): extra is Record & GitHubIssueExtra { + return "html_url" in extra && "number" in extra; +} + +function isZendeskTicketExtra( + extra: Record, +): extra is Record & ZendeskTicketExtra { + return "url" in extra && "priority" in extra; +} + +function isLlmEvalExtra( + extra: Record, +): extra is Record & LlmEvalExtra { + return "evaluation_id" in extra && "trace_id" in extra; +} + +function isErrorTrackingExtra( + extra: Record, +): extra is Record & ErrorTrackingExtra { + return typeof extra.fingerprint === "string"; +} + +// ── Shared components ──────────────────────────────────────────────────────── + +function SignalCardHeader({ signal }: { signal: Signal }) { + return ( + + + + {signalCardSourceLine(signal)} + + + + Weight: {signal.weight.toFixed(1)} + + + ); +} + function CollapsibleBody({ body }: { body: string }) { const [expanded, setExpanded] = useState(false); const isLong = body.length > COLLAPSE_THRESHOLD; @@ -108,154 +239,257 @@ function CollapsibleBody({ body }: { body: string }) { ); } -function parseExtra(raw: Record): GitHubIssueExtra { - if (typeof raw === "string") { - try { - return JSON.parse(raw) as GitHubIssueExtra; - } catch { - return {}; - } - } - return raw as GitHubIssueExtra; -} +// ── Source-specific cards ──────────────────────────────────────────────────── -function GitHubIssueSignalCard({ signal }: SignalCardProps) { - const extra = parseExtra(signal.extra); +function GitHubIssueSignalCard({ + signal, + extra, +}: { + signal: Signal; + extra: GitHubIssueExtra; +}) { const labels = resolveLabels(extra.labels); const issueUrl = extra.html_url ?? null; - const issueNumber = extra.number ?? null; - const { title, body } = splitTitleBody(signal.content); - - const titleContent = ( - <> - {issueNumber ? `#${issueNumber} ` : ""} - {title} - - ); return ( - + + + - - {issueUrl ? ( + + #{extra.number} + + {labels.map((label) => ( + + + {label.name} + + ))} + + {issueUrl && (
- {titleContent} + View on GitHub + - ) : ( - + {extra.created_at && ( + + Opened: {new Date(extra.created_at).toLocaleString()} + + )} + + ); +} + +function ZendeskTicketSignalCard({ + signal, + extra, +}: { + signal: Signal; + extra: ZendeskTicketExtra; +}) { + return ( + + + + + {extra.priority && ( + + Priority: {extra.priority} + + )} + {extra.status && ( + + Status: {extra.status} + + )} + {extra.tags?.map((tag) => ( + - {titleContent} - - )} - {issueUrl && ( + {tag} + + ))} + + {extra.url && ( + Open )} - - - {labels.length > 0 && ( - - - {labels.map((label) => ( - - {label.name} - - ))} - - )} - - {body && } - - - - w:{signal.weight.toFixed(2)} - - - {new Date(signal.timestamp).toLocaleString()} - - - ); } -function DefaultSignalCard({ signal }: SignalCardProps) { +function LlmEvalSignalCard({ + signal, + extra, +}: { + signal: Signal; + extra: LlmEvalExtra; +}) { return ( - + + + - - - - {signal.source_product} - - - {signal.source_type} - - + {extra.model && Model: {extra.model}} + {extra.model && extra.provider && ·} + {extra.provider && Provider: {extra.provider}} + {extra.trace_id && ( + + Trace:{" "} + {extra.trace_id.slice(0, 12)}... + + )} + + ); +} - - +function ErrorTrackingSignalCard({ + signal, + extra, +}: { + signal: Signal; + extra: ErrorTrackingExtra; +}) { + const fingerprint = extra.fingerprint ?? ""; + const fingerprintShort = + fingerprint.length > 14 ? `${fingerprint.slice(0, 14)}…` : fingerprint; - - - w:{signal.weight.toFixed(2)} - - - {new Date(signal.timestamp).toLocaleString()} - + return ( + + + + + + + + Fingerprint{" "} + + {fingerprintShort} + + + + {/* No "View issue" link in Code — error tracking lives in Cloud */} ); } -export function SignalCard({ signal }: SignalCardProps) { - if (signal.source_product === "github") { - return ; +function GenericSignalCard({ signal }: { signal: Signal }) { + return ( + + + + + {new Date(signal.timestamp).toLocaleString()} + + + ); +} + +// ── Main export ────────────────────────────────────────────────────────────── + +export function SignalCard({ signal }: { signal: Signal }) { + const extra = parseExtra(signal.extra); + + if ( + signal.source_product === "error_tracking" && + isErrorTrackingExtra(extra) + ) { + return ; + } + if (signal.source_product === "github" && isGithubIssueExtra(extra)) { + return ; + } + if (signal.source_product === "zendesk" && isZendeskTicketExtra(extra)) { + return ; + } + if (signal.source_product === "llm_analytics" && isLlmEvalExtra(extra)) { + return ; } - return ; + return ; } diff --git a/apps/code/src/renderer/features/inbox/components/SignalSourceToggles.tsx b/apps/code/src/renderer/features/inbox/components/SignalSourceToggles.tsx index 5e4c499e2..07738a965 100644 --- a/apps/code/src/renderer/features/inbox/components/SignalSourceToggles.tsx +++ b/apps/code/src/renderer/features/inbox/components/SignalSourceToggles.tsx @@ -56,6 +56,7 @@ const SignalSourceToggleCard = memo(function SignalSourceToggleCard({ style={{ backgroundColor: "var(--color-panel-solid)", border: "1px solid var(--gray-4)", + borderRadius: "var(--radius-3)", cursor: disabled || loading ? "default" : "pointer", }} onClick={ @@ -157,6 +158,7 @@ export const EvaluationsSection = memo(function EvaluationsSection({ style={{ backgroundColor: "var(--color-panel-solid)", border: "1px solid var(--gray-4)", + borderRadius: "var(--radius-3)", }} >