修复聊天消息加载占位的网关错误展示

画布聊天首次加载 Markdown 组件时,占位组件直接显示原始消息。历史记录包含 Cloudflare 错误页面时,会短暂显示整页 HTML。现在占位组件复用网关错误正文归一化,加载期间和完成后均显示可读提示。普通内容保持原有展示。

验证:TypeScript、改动文件 lint、凭据检查与差异检查通过。网关识别、524 不自动切换模型及供应商只提交一次的测试已包含在 PR #23 的 637 项通过测试中。本次仅修改加载占位组件,生产构建及慢速加载回放验收另行记录。

已知问题:仓库全量 lint 存在 1004 项历史诊断。
This commit is contained in:
WuYongJie 2026-11-04 10:43:22 +08:00
parent 61e2bbe0e4
commit b06fdbb38b

View File

@ -66,6 +66,7 @@ import {
import { toast } from "sonner";
import { useCanvasStore } from "@/store/canvas";
import { cn } from "@/lib/utils";
import { getGatewayErrorPageMessage } from "@/lib/request-error";
import { fetcher, fetchWithErrorHandlers, generateUUID } from "@/lib/utils";
import {
fetchUploadWithRetry,
@ -373,7 +374,9 @@ function MarkdownResponseFallback({
}: Pick<ResponseProps, "children" | "className">) {
return (
<div className={cn("whitespace-pre-wrap break-words [overflow-wrap:anywhere]", className)}>
{children}
{typeof children === "string"
? getGatewayErrorPageMessage(children) || children
: children}
</div>
);
}