diff --git a/src/app/[locale]/dashboard/logs/_components/error-details-dialog/components/SummaryTab.tsx b/src/app/[locale]/dashboard/logs/_components/error-details-dialog/components/SummaryTab.tsx index 1873d23ce..a4fba2095 100644 --- a/src/app/[locale]/dashboard/logs/_components/error-details-dialog/components/SummaryTab.tsx +++ b/src/app/[locale]/dashboard/logs/_components/error-details-dialog/components/SummaryTab.tsx @@ -69,9 +69,11 @@ export function SummaryTab({ specialSettings && specialSettings.length > 0 ? JSON.stringify(specialSettings, null, 2) : null; const isFake200PostStreamFailure = typeof errorMessage === "string" && errorMessage.startsWith("FAKE_200_"); + const fake200Code = + isFake200PostStreamFailure && errorMessage ? errorMessage.split(": ")[0] : errorMessage; const fake200Reason = - isFake200PostStreamFailure && typeof errorMessage === "string" - ? t(getFake200ReasonKey(errorMessage, "fake200Reasons")) + isFake200PostStreamFailure && fake200Code + ? t(getFake200ReasonKey(fake200Code, "fake200Reasons")) : null; return ( diff --git a/src/app/[locale]/dashboard/logs/_components/provider-chain-popover.tsx b/src/app/[locale]/dashboard/logs/_components/provider-chain-popover.tsx index 585b7836b..4f27ca0ae 100644 --- a/src/app/[locale]/dashboard/logs/_components/provider-chain-popover.tsx +++ b/src/app/[locale]/dashboard/logs/_components/provider-chain-popover.tsx @@ -131,9 +131,11 @@ export function ProviderChainPopover({ const hasFake200PostStreamFailure = chain.some( (item) => typeof item.errorMessage === "string" && item.errorMessage.startsWith("FAKE_200_") ); - const fake200CodeForDisplay = chain.find( - (item) => typeof item.errorMessage === "string" && item.errorMessage.startsWith("FAKE_200_") - )?.errorMessage; + const fake200CodeForDisplay = chain + .find( + (item) => typeof item.errorMessage === "string" && item.errorMessage.startsWith("FAKE_200_") + ) + ?.errorMessage?.split(": ")[0]; // Calculate actual request count (excluding intermediate states) const requestCount = chain.filter(isActualRequest).length; @@ -545,7 +547,7 @@ export function ProviderChainPopover({ {t("logs.details.fake200DetectedReason", { reason: t( getFake200ReasonKey( - item.errorMessage, + item.errorMessage.split(": ")[0], "logs.details.fake200Reasons" ) ), diff --git a/src/app/v1/_lib/proxy/response-handler.ts b/src/app/v1/_lib/proxy/response-handler.ts index f0eed673b..b533b240e 100644 --- a/src/app/v1/_lib/proxy/response-handler.ts +++ b/src/app/v1/_lib/proxy/response-handler.ts @@ -185,7 +185,7 @@ async function finalizeDeferredStreamingFinalizationIfNeeded( } else { effectiveStatusCode = 502; } - errorMessage = detected.code; + errorMessage = detected.detail ? `${detected.code}: ${detected.detail}` : detected.code; } else if (!streamEndedNormally) { effectiveStatusCode = clientAborted ? 499 : 502; errorMessage = clientAborted ? "CLIENT_ABORTED" : (abortReason ?? "STREAM_ABORTED"); @@ -330,7 +330,7 @@ async function finalizeDeferredStreamingFinalizationIfNeeded( attemptNumber: meta.attemptNumber, statusCode: effectiveStatusCode, statusCodeInferred, - errorMessage: detected.code, + errorMessage: detected.detail ? `${detected.code}: ${detected.detail}` : detected.code, }); return { effectiveStatusCode, errorMessage, providerIdForPersistence };