Skip to content

feat(web): show detailed diagnostics for model request failures - #1756

Merged
wbxl2000 merged 1 commit into
mainfrom
feat/web-model-error-details
Jul 15, 2026
Merged

feat(web): show detailed diagnostics for model request failures#1756
wbxl2000 merged 1 commit into
mainfrom
feat/web-model-error-details

Conversation

@wbxl2000

Copy link
Copy Markdown
Collaborator

Related Issue

No linked issue — the problem is explained below.

Problem

When a model endpoint call fails in the web UI (rate limit, invalid API key, unreachable endpoint, model not found), the only feedback was a bare text toast such as 错误: Connection error. — no error code, no HTTP status, no request ID, and the raw provider response was truncated into a single line that auto-dismisses after 12 seconds. The daemon already sends the full coded error payload (code, message, details.statusCode, details.requestId, retryable) on the wire, but the web client discarded everything except the message string, so users had nothing actionable for troubleshooting.

What changed

  • agentEventProjector now passes the full error payload through (name / details / retryable) instead of keeping only code + message.
  • eventReducer builds a structured AppNotice for agent errors: a semantic title mapped from the error code (rate limit / auth / overloaded / connection / filtered / context overflow / generic), the provider's raw message as the body, and a diagnostics list (error code, HTTP status, request ID, SDK error name, plus any extra detail fields such as finishReason).
  • Rendering reuses the existing WarningToasts details/copy UI ("Show details" / "Copy diagnostics") — no new component; en/zh i18n keys added under warnings.agentError.
  • Agent warnings keep the previous plain-text rendering.
  • Tests cover the projector passthrough and the notice builder (rate limit with full diagnostics, extra detail fields, connection error without status/requestId, unmapped/missing code fallback, warning string path).

Checklist

  • I have read the CONTRIBUTING document.
  • I have linked a related issue, or explained the problem above.
  • I have added tests that prove my feature works.
  • Ran gen-changesets skill, or this PR needs no changeset.
  • Ran gen-docs skill, or this PR needs no doc update.

Surface the coded provider error the daemon already sends: a semantic
title per error code, the provider's raw message, and expandable
diagnostics (error code, HTTP status, request ID, SDK error name) with
copy support, instead of a bare text-only toast.
@changeset-bot

changeset-bot Bot commented Jul 15, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 845a591

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@moonshot-ai/kimi-code Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@pkg-pr-new

pkg-pr-new Bot commented Jul 15, 2026

Copy link
Copy Markdown
pnpm dlx https://pkg.pr.new/@moonshot-ai/kimi-code@845a591
npx https://pkg.pr.new/@moonshot-ai/kimi-code@845a591

commit: 845a591

@wbxl2000
wbxl2000 merged commit e885aec into main Jul 15, 2026
24 of 25 checks passed
@wbxl2000
wbxl2000 deleted the feat/web-model-error-details branch July 15, 2026 15:07
@github-actions github-actions Bot mentioned this pull request Jul 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant