From d3d3a6a4374c7d46cb363894044de9f2cadd0df3 Mon Sep 17 00:00:00 2001 From: Amit Kumar Date: Thu, 18 Jun 2026 00:45:12 +0000 Subject: [PATCH 1/3] =?UTF-8?q?feat(ui):=20premium=20refinement=20pass=20?= =?UTF-8?q?=E2=80=94=20popup=20inspector,=20Martian=20type,=20map=20polish?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Iterates on the v0.3.0 map-centric redesign with a batch of UI refinements. Inspector - Drop the docked category rail; the details popup is the sole surface, carrying the Overview/Why/Impact/Dependencies tabs on every breakpoint. - Top-anchor the popup so switching tabs no longer re-centers/jumps it. - Prominent, explicitly-coloured service name. Service map (FlowMap) - Fix node clicks being swallowed: defer pointer capture until a drag passes DRAG_SLOP, so a tap falls through to onSelect (setPointerCapture-on-down was retargeting the click to the ). Pan/pinch unchanged. - Outline-led nodes: full status-hue border + neutral (--bg-inset) fill. - Node size scales with edge count; clean label truncation; light grid bg. Side panel - Status groups are collapsible (chevron + always-visible count); Healthy starts collapsed. Add a collapsible "Anomalies" group. - ServiceRow drops the inline rps/err/p99 columns so names stay legible; full stats live in the popup. Shell / chrome - Remove the single-item nav rail; the canvas fills the width. - Remove the top anomalies strip (anomalies now live in the side panel). - Remove the investigation TrailBar. Type + colour - Vendor Martian Grotesk + Martian Mono (Evil Martians, OFL; sans subset 36KB, mono 24KB) replacing Inter + JetBrains Mono. - Refine the accent to indigo; deepen surfaces; theme-color + ErrorBoundary fallbacks updated. tsc clean, 413 unit tests pass, bundle budgets met. Tests updated across App/Shell/Inspector/FlowMap/ConstellationHome. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01LDQVJrixs2nJoea67a8pEG --- ui/index.html | 6 +- ...jetbrains-mono => LICENSE-martian-grotesk} | 4 +- .../{LICENSE-inter => LICENSE-martian-mono} | 2 +- ui/public/fonts/inter-latin-wght-normal.woff2 | Bin 48256 -> 0 bytes .../jetbrains-mono-latin-400-normal.woff2 | Bin 21168 -> 0 bytes .../martian-grotesk-latin-wght-normal.woff2 | Bin 0 -> 36728 bytes .../martian-mono-latin-wght-normal.woff2 | Bin 0 -> 23556 bytes ui/src/App.tsx | 4 +- ui/src/__tests__/App.test.tsx | 17 +- ui/src/components/ErrorBoundary.tsx | 4 +- .../common/ServiceGroups.module.css | 10 +- ui/src/components/common/ServiceGroups.tsx | 108 ++++--- .../components/common/ServiceRow.module.css | 15 - ui/src/components/common/ServiceRow.tsx | 21 +- .../inspector/ServiceInspector.module.css | 72 ++--- .../components/inspector/ServiceInspector.tsx | 296 ++++++------------ .../__tests__/ServiceInspector.test.tsx | 164 +++------- ui/src/components/map/FlowMap.module.css | 67 ++-- ui/src/components/map/FlowMap.tsx | 74 ++++- .../components/map/__tests__/FlowMap.test.tsx | 10 + ui/src/components/shell/Shell.module.css | 145 +-------- ui/src/components/shell/Shell.tsx | 89 +----- .../components/shell/__tests__/Shell.test.tsx | 24 +- ui/src/components/trail/TrailBar.module.css | 106 ------- ui/src/components/trail/TrailBar.tsx | 84 ----- .../trail/__tests__/TrailBar.test.tsx | 70 ----- .../components/triage/AnomalyStrip.module.css | 40 ++- ui/src/components/triage/AnomalyStrip.tsx | 3 +- .../components/triage/ConstellationHome.tsx | 39 ++- .../__tests__/ConstellationHome.test.tsx | 69 +--- ui/src/hooks/__tests__/useTheme.test.ts | 2 +- ui/src/hooks/useTheme.ts | 2 +- ui/src/styles/global.css | 7 +- ui/src/styles/tokens.css | 65 ++-- 34 files changed, 506 insertions(+), 1113 deletions(-) rename ui/public/fonts/{LICENSE-jetbrains-mono => LICENSE-martian-grotesk} (95%) rename ui/public/fonts/{LICENSE-inter => LICENSE-martian-mono} (96%) delete mode 100644 ui/public/fonts/inter-latin-wght-normal.woff2 delete mode 100644 ui/public/fonts/jetbrains-mono-latin-400-normal.woff2 create mode 100644 ui/public/fonts/martian-grotesk-latin-wght-normal.woff2 create mode 100644 ui/public/fonts/martian-mono-latin-wght-normal.woff2 delete mode 100644 ui/src/components/trail/TrailBar.module.css delete mode 100644 ui/src/components/trail/TrailBar.tsx delete mode 100644 ui/src/components/trail/__tests__/TrailBar.test.tsx diff --git a/ui/index.html b/ui/index.html index afef7b2..a1dcadc 100644 --- a/ui/index.html +++ b/ui/index.html @@ -4,18 +4,18 @@ - + bh0mUc_KAHc5E|@-_lCpqu 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∾Na#*TBTU(!jF?9zmR-!C*+RdvGrd0&{`| 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 T=ND-DucNQ`tADQ-AuI&|D5jKI diff --git a/ui/public/fonts/martian-grotesk-latin-wght-normal.woff2 b/ui/public/fonts/martian-grotesk-latin-wght-normal.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..1d7df50fb0a818fea8ca4e68ea313806ca6aabdb GIT binary patch literal 36728 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 literal 0 HcmV?d00001 diff --git a/ui/public/fonts/martian-mono-latin-wght-normal.woff2 b/ui/public/fonts/martian-mono-latin-wght-normal.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..6b943d24ba55c34bcf2610a449404be73a307056 GIT binary patch literal 23556 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

D74cjsGZsyDwm1eN6d$cgMQ3YlZAP7~%Z>)~ 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 PhEBmr* literal 0 HcmV?d00001 diff --git a/ui/src/App.tsx b/ui/src/App.tsx index a85d52b..d84a230 100644 --- a/ui/src/App.tsx +++ b/ui/src/App.tsx @@ -2,7 +2,6 @@ import { lazy, Suspense, useCallback, useState } from 'react' import { Redirect, Route, Switch, useSearch } from 'wouter' import RouteFallback from './components/common/RouteFallback' import Shell from './components/shell/Shell' -import TrailBar from './components/trail/TrailBar' import { useGlobalKeys } from './hooks/useGlobalKeys' import { useInvestigation } from './hooks/useInvestigation' import type { Theme } from './hooks/useTheme' @@ -32,7 +31,7 @@ function MapRedirect() { } export default function App({ theme, onToggleTheme }: Readonly) { - const { service, trail, popToFrame, popOne } = useInvestigation() + const { service } = useInvestigation() const [paletteOpen, setPaletteOpen] = useState(false) const [shortcutsOpen, setShortcutsOpen] = useState(false) @@ -83,7 +82,6 @@ export default function App({ theme, onToggleTheme }: Readonly) { )} - {overlaysWanted && ( { it('mounts the Constellation home at /', async () => { renderApp('/') - // Empty graph → the home's anomaly tape + connect empty state prove the + // Empty graph → the home's OTLP connect empty state proves the // ConstellationHome lazy chunk mounted. - expect( - await screen.findByRole('region', { name: /recent anomalies/i }), - ).toBeInTheDocument() + expect(await screen.findByText(/no telemetry yet/i)).toBeInTheDocument() }) it('redirects unknown paths to /', async () => { @@ -134,17 +132,10 @@ describe('App routing', () => { ).toBeInTheDocument() }) - it('renders the trail bar when ?trail= is present', async () => { - renderApp('/?trail=svc:checkout') - expect( - await screen.findByRole('navigation', { name: /investigation trail/i }), - ).toBeInTheDocument() - }) - it('opens the command palette on the global ⌘K shortcut', async () => { const user = userEvent.setup() renderApp('/') - await screen.findByRole('region', { name: /recent anomalies/i }) + await screen.findByText(/no telemetry yet/i) await user.keyboard('{Meta>}k{/Meta}') expect( await screen.findByRole('dialog', { name: /command palette/i }), @@ -154,7 +145,7 @@ describe('App routing', () => { it('opens the shortcut sheet on "?"', async () => { const user = userEvent.setup() renderApp('/') - await screen.findByRole('region', { name: /recent anomalies/i }) + await screen.findByText(/no telemetry yet/i) await user.keyboard('?') expect( await screen.findByRole('dialog', { name: /keyboard shortcuts/i }), diff --git a/ui/src/components/ErrorBoundary.tsx b/ui/src/components/ErrorBoundary.tsx index a4b22f8..79e2f15 100644 --- a/ui/src/components/ErrorBoundary.tsx +++ b/ui/src/components/ErrorBoundary.tsx @@ -69,8 +69,8 @@ export class ErrorBoundary extends Component { alignItems: 'center', justifyContent: 'center', padding: '24px', - background: 'var(--bg-base, #0b0d10)', - color: 'var(--text-1, #e8ecf2)', + background: 'var(--bg-base, #0a0c0f)', + color: 'var(--text-1, #eceef3)', fontFamily: 'var(--font-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif)', zIndex: 9999, diff --git a/ui/src/components/common/ServiceGroups.module.css b/ui/src/components/common/ServiceGroups.module.css index 960f962..27a67d1 100644 --- a/ui/src/components/common/ServiceGroups.module.css +++ b/ui/src/components/common/ServiceGroups.module.css @@ -24,7 +24,8 @@ .disclosure { display: flex; align-items: center; - gap: var(--space-1); + gap: var(--space-2); + width: 100%; min-height: 44px; padding: 0 var(--space-2); border: none; @@ -34,6 +35,13 @@ cursor: pointer; } +/* Group size — always visible in the header, open OR collapsed, pushed to the + * trailing edge so a folded group still reads "CRITICAL 3". */ +.count { + margin-left: auto; + color: var(--text-3); +} + @media (hover: hover) { .disclosure:hover { color: var(--text-1); diff --git a/ui/src/components/common/ServiceGroups.tsx b/ui/src/components/common/ServiceGroups.tsx index c5f67c3..44e4dfa 100644 --- a/ui/src/components/common/ServiceGroups.tsx +++ b/ui/src/components/common/ServiceGroups.tsx @@ -11,75 +11,93 @@ interface ServiceGroupsProps { /** Id of the inspected service — drives row focus-distortion. Optional so * the xs flow-map fallback (no inspector) renders a plain list. */ selectedId?: string | null + /** Ids of services with an active anomaly. When present, a collapsible + * "Anomalies" group lists them worst-first — a cross-cut of "what's spiking + * now", distinct from the status groups (current health). */ + anomalyServiceIds?: ReadonlySet } -function Section({ +/** + * A collapsible status group: a disclosure header (chevron + caps title + + * count) over its worst-first rows. Renders nothing when empty. Each group + * owns its open state so an operator can fold away groups they don't care + * about — at 120 services the panel stays navigable. + */ +function CollapsibleSection({ title, nodes, onOpen, selectedId, + defaultOpen = true, }: Readonly<{ title: string nodes: SystemNode[] onOpen: (id: string) => void selectedId?: string | null + defaultOpen?: boolean }>) { + const [open, setOpen] = useState(defaultOpen) if (nodes.length === 0) return null return (

-

{title}

-
    - {nodes.map((n) => ( -
  • - -
  • - ))} -
+ + {open && ( +
    + {nodes.map((n) => ( +
  • + +
  • + ))} +
+ )}
) } /** - * Status-grouped service list, worst first; quiet healthy services collapsed - * behind a disclosure. Hairline-separated rows (not cards). Doubles as the xs - * default for /map. + * Status-grouped service list, worst first. Every group is collapsible behind a + * disclosure header; the quiet healthy group starts collapsed. Hairline- + * separated rows (not cards). Doubles as the xs default for /map. */ -export default function ServiceGroups({ nodes, onOpen, selectedId }: Readonly) { +export default function ServiceGroups({ + nodes, + onOpen, + selectedId, + anomalyServiceIds, +}: Readonly) { const ranked = rankServices(nodes) - const [healthyOpen, setHealthyOpen] = useState(false) - + // Worst-first list of services carrying an active anomaly. + const anomalous = anomalyServiceIds + ? [...ranked.critical, ...ranked.degraded, ...ranked.alerted, ...ranked.healthy].filter((n) => + anomalyServiceIds.has(n.id), + ) + : [] return (
-
-
-
- {ranked.healthy.length > 0 && ( -
- - {healthyOpen && ( -
    - {ranked.healthy.map((n) => ( -
  • - -
  • - ))} -
- )} -
- )} + + + + +
) } diff --git a/ui/src/components/common/ServiceRow.module.css b/ui/src/components/common/ServiceRow.module.css index b67d6b2..7f66e4c 100644 --- a/ui/src/components/common/ServiceRow.module.css +++ b/ui/src/components/common/ServiceRow.module.css @@ -94,18 +94,3 @@ height: 100%; border-radius: 2px; } - -.metrics { - flex: none; - display: flex; - gap: var(--space-3); - justify-content: flex-end; - font-size: var(--text-xs); - color: var(--text-2); -} - -.metric { - display: inline-block; - min-width: 44px; - text-align: right; -} diff --git a/ui/src/components/common/ServiceRow.tsx b/ui/src/components/common/ServiceRow.tsx index bb321bd..aec8eda 100644 --- a/ui/src/components/common/ServiceRow.tsx +++ b/ui/src/components/common/ServiceRow.tsx @@ -1,4 +1,3 @@ -import { formatCount, formatMs, formatPercent } from '@/lib/format' import { nodeStatus, statusToken } from '@/lib/triage' import type { SystemNode } from '@/types/api' import styles from './ServiceRow.module.css' @@ -17,10 +16,11 @@ interface ServiceRowProps { } /** - * One service row: status dot, name, inline health bar, then the mono - * indicator columns (rps / err% / p99) — every measured quantity in the - * indicator voice. Shared by the Triage feed and the flow map's xs card list - * so "how a service looks" has one source of truth. + * One service row: status dot, name, alert badge, and an inline health bar. + * The numeric stats (rps / err% / p99) are intentionally NOT shown here — the + * list stays name-first and legible on the narrow rail; the full stats live in + * the Inspector popup, one click away. Shared by the Triage feed and the flow + * map's xs card list so "how a service looks" has one source of truth. * * Focus-distortion: when a service is inspected, the selected row lifts * (scale 1.015) with an --accent-edge ring and the rest dim. This is a pure @@ -65,17 +65,6 @@ export default function ServiceRow({ node, onOpen, selectedId }: Readonly - - - {formatCount(node.metrics.request_rate_rps)} - - - {formatPercent(node.metrics.error_rate)} - - - {formatMs(node.metrics.p99_latency_ms)} - - ) } diff --git a/ui/src/components/inspector/ServiceInspector.module.css b/ui/src/components/inspector/ServiceInspector.module.css index 56e7c2f..83cd4ba 100644 --- a/ui/src/components/inspector/ServiceInspector.module.css +++ b/ui/src/components/inspector/ServiceInspector.module.css @@ -1,52 +1,26 @@ -/* Service Inspector — md: fixed overlay sheet; lg: docked 380px column; - * xl: 440px. The xs bottom sheet is a separate Radix dialog (below). */ +/* Service Inspector — the popup IS the inspector: a single floating Radix + * Dialog that carries the category tabs + content on every breakpoint. There + * is no docked side rail (dropped once the popup became self-sufficient). */ -.panel { +/* ---- details popup (Radix Dialog, non-modal, top-anchored) ---- */ +.popup { position: fixed; - inset: 0 0 0 auto; - z-index: 45; + z-index: 61; + /* Anchor the top edge (not vertically centered) so switching categories — + which changes the body height — never re-centers and shifts the box. The + header stays put; taller content grows downward and .tabContent scrolls. */ + top: 12dvh; + left: 50%; + transform: translateX(-50%); display: flex; flex-direction: column; - width: min(420px, calc(100vw - 48px)); - border-left: 1px solid var(--stroke-1); + width: min(480px, calc(100vw - 32px)); + max-height: min(76dvh, 720px); + border: 1px solid var(--stroke-1); + border-radius: var(--radius-3); background: var(--bg-raised); box-shadow: var(--shadow-sheet); - overflow-y: auto; -} - -@media (min-width: 1024px) { - .panel { - position: static; - z-index: auto; - flex: none; - width: 380px; - background: var(--bg-raised); - /* Docked = the single inspected entity anchored to the canvas selection. - * Hairline left border + a raised 2px inset --accent rail reads as - * "this column belongs to the lit node" at the same intensity as the - * canvas node ring and the rail row; separation by hairline + edge, - * never a drop shadow. */ - border-left: 1px solid var(--stroke-1); - box-shadow: inset 2px 0 0 var(--accent); - } - - /* Header wash — a faint --accent-muted gradient under the title band echoes - * the canvas focus-distortion (the lit node's accent ring) so the docked - * column reads as the selection's surface, not a generic panel. Fades to - * transparent before the dense content, keeping name/numeral AA intact. */ - .header { - background: linear-gradient( - to bottom, - var(--accent-muted), - transparent - ); - } -} - -@media (min-width: 1440px) { - .panel { - width: 440px; - } + overflow: hidden; } /* ---- header ---- */ @@ -68,13 +42,17 @@ .name { flex: 1; min-width: 0; - overflow: hidden; margin: 0; font-family: var(--font-sans); - font-size: var(--text-base); + font-size: var(--text-lg); font-weight: 600; - text-overflow: ellipsis; - white-space: nowrap; + /* Explicit high-contrast colour — the panel title must read clearly in both + themes (don't rely on inherited body colour). */ + color: var(--text-1); + /* Show the FULL service name — wrap long ids instead of truncating with an + ellipsis (names like "notification-service" were getting cut off). */ + overflow-wrap: anywhere; + word-break: break-word; } /* Header health reading — mono numeral, status-tinted, the authoritative diff --git a/ui/src/components/inspector/ServiceInspector.tsx b/ui/src/components/inspector/ServiceInspector.tsx index d09cd8d..6ad6f1b 100644 --- a/ui/src/components/inspector/ServiceInspector.tsx +++ b/ui/src/components/inspector/ServiceInspector.tsx @@ -1,53 +1,27 @@ -import { useCallback, useRef, useState, type ReactNode } from 'react' +import { useCallback, useState } from 'react' import * as Dialog from '@radix-ui/react-dialog' -import * as Tabs from '@radix-ui/react-tabs' import { X } from 'lucide-react' import { useLocation, useSearch } from 'wouter' import { useInvestigation } from '@/hooks/useInvestigation' import { useSystemGraph } from '@/hooks/useSystemGraph' -import { useMediaQuery } from '@/hooks/useMediaQuery' import { formatPercent } from '@/lib/format' import { Metric } from '@/components/common/Metric' import { nodeStatus, statusToken } from '@/lib/triage' -import { nextSheetState, type SheetSnap } from '@/lib/sheet' import { buildHref, readParam } from '@/lib/urlState' -import type { SystemNode } from '@/types/api' import { INSPECTOR_TABS, isInspectorTabId } from './registry' import styles from './ServiceInspector.module.css' -// Service Inspector — the omnipresent ?service=X panel: -// xs (<768) bottom sheet (Radix dialog), snap 50/92dvh, swipe-down dismiss -// md (<1024) fixed overlay sheet on the right (CSS-only difference) -// lg+ docked grid column (380px / 440px at xl), content reflows +// Service Inspector — two surfaces driven by ?service= (set on a node click): +// • CATEGORY PANEL (md+ docked): the service name + the category list +// (Overview / Why / Impact / Dependencies). NO stats — picking a category +// just drives the popup. A slim, read-light rail. +// • DETAILS POPUP (Radix Dialog, every breakpoint): the active category's +// full content (stats / why / impact / deps). On xs the categories ride +// inside the popup itself (a phone has no room for a side rail). -function Header({ - node, - service, - onClose, -}: Readonly<{ node: SystemNode | null; service: string; onClose: () => void }>) { - const status = nodeStatus(node?.status) +function StatusDot({ status }: Readonly<{ status: ReturnType }>) { return ( -
-
+