发布

  • [OPIK-6817] [FE] Diagnostics: Agent Insights UI + Ollie handoff (#7186)

    frostbyte_neo 发布于 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 badge slot 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

    下载附件