-
[OPIK-6817] [FE] Diagnostics: Agent Insights UI + Ollie handoff (#7186)
发布于
2026-06-29 09:03:50 +00:00 - [OPIK-6817] [FE] Diagnostics: Agent Insights UI + Ollie handoff
Per-project Diagnostics page: issue list/detail with severity tags + sort,
manual/auto header, settings dialog, last-scan, affected-traces side panel,
onboarding/empty states. Gated behind AGENT_INSIGHTS_ENABLED + OLLIE_ENABLED.Rebased onto main (the Agent Insights backend has since merged, so this branch
now carries only the frontend on top of it).Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
- [FE] Add dark-mode support and polish to Signals page empty states
- Add dark-mode variants for the robot-lamp and empty-issue-details icons,
switching on themeMode in DiagnosticsEmptyState, IssuesTab, and SignalsPage - Fix IssueDetail to use full-height flex layout with a scrollable body and
theme-aware muted header background - Refine diagnostics empty-state copy and card hover styling
Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
- [OPIK-6817] [FE] Diagnostics: responsive layout, skeletons, and UI polish
- Responsive two-pane: collapses to a list dropdown + report below lg (1024px)
- Skeleton loading for the page and the issues two-pane (no layout shift)
- Resolved view: page-header back button, hidden stats, icon-only entry on
compact; empty states render as one full-width card across breakpoints - Unify open/resolved issue list into a single flexible code path; extract a
shared IssueSeverityBadge (detail header + compact dropdown) - Styling: block headers use --soft-background, no card shadows in the report,
occurrence line chart (no area fill), affected-traces typography, issue count
in brackets, severity-colored detail badge, sort hover state, Settings tooltip - Global Select: selected item uses the primary highlight and the check icon is
removed (drop the now-dead withoutCheck prop and its call sites)
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
- [OPIK-6817] [FE] Diagnostics: restore report placeholder for empty states on wide screens
Empty states (All clear / Nothing resolved / Running) render the two-pane on
lg+ — the list shows the empty message and the report column keeps its "details
will appear here" placeholder. Below lg they stay a single full-width card.Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
- [OPIK-6817] [FE] Diagnostics: sidebar status badge + comment cleanup
- Sidebar Diagnostics item shows a spinner while a run is in flight and a blue
dot when a finished scan hasn't been viewed yet; the spinner is hidden in the
collapsed (icon-only) sidebar, the dot shows in both modes - Run state syncs across mounts via a same-tab event so the sidebar reacts to
runs started on the page; new useDiagnosticsSeen tracks the acknowledged scan - Generic optional
badgeslot on sidebar MenuItem - Strip verbose explanatory comments across the Diagnostics FE (kept TODOs and
lint/directive comments)
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
- [OPIK-6817] [FE] Diagnostics: address PR review feedback
- Gate run / enable / configure actions on canConfigureWorkspaceSettings
(Run diagnostic, Turn on auto, Settings, and the empty-state CTA) - Job-enable mutation: add 404 -> create fallback; extract a shared
handleMutationError used by all three agent-insights mutation hooks - Use theme tokens for the status dot and empty-state CTA icon
(var(--color-emerald) / var(--color-fuchsia)) - Fix import ordering in IssuesTab (external before internal)
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
- [OPIK-6817] [FE] Diagnostics: address follow-up review feedback
- handleMutationError surfaces backend validation errors (response.data.errors,
joined) before falling back to message, matching the existing convention - Gate issue Resolve/Reopen on canConfigureWorkspaceSettings: thread the flag
through IssuesTab -> IssueDetail so read-only users don't get a write path
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
- [OPIK-6817] [FE] Diagnostics: show the issue's actual affected traces
Affected traces sample now renders the issue's resolved example traces
(detail metadata.example_trace_ids, deduped) fetched by id, instead of the
project's most-recent traces — so the sample matches the open issue and differs
per issue. Falls back to the empty state when no example ids are present.Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
Co-authored-by: Claude Opus 4.8 noreply@anthropic.com
下载附件