diff --git a/webview-ui/src/components/chat/ChatRow.tsx b/webview-ui/src/components/chat/ChatRow.tsx index e36ef2811bb..24749bb4191 100644 --- a/webview-ui/src/components/chat/ChatRow.tsx +++ b/webview-ui/src/components/chat/ChatRow.tsx @@ -1132,14 +1132,16 @@ export const ChatRowContent = ({ // } } else { body = t("chat:apiRequest.errorMessage.unknown") - docsURL = "mailto:support@roocode.com?subject=Unknown API Error" + docsURL = + "mailto:support@roocode.com?subject=Unknown API Error&body=[Please include full error details]" } } else if (message.text.indexOf("Connection error") === 0) { body = t("chat:apiRequest.errorMessage.connection") } else { // Non-HTTP-status-code error message - store full text as errorDetails body = t("chat:apiRequest.errorMessage.unknown") - docsURL = "mailto:support@roocode.com?subject=Unknown API Error" + docsURL = + "mailto:support@roocode.com?subject=Unknown API Error&body=[Please include full error details]" } } @@ -1336,7 +1338,9 @@ export const ChatRowContent = ({ } // Fallback for generic errors - return + return ( + + ) case "completion_result": return ( <> @@ -1526,7 +1530,7 @@ export const ChatRowContent = ({ case "ask": switch (message.ask) { case "mistake_limit_reached": - return + return case "command": return ( p.value === provider)?.proxy ?? false + // Format error details with metadata prepended const formattedErrorDetails = useMemo(() => { if (!errorDetails) return undefined @@ -104,14 +107,14 @@ export const ErrorRow = memo( const metadata = [ `Date/time: ${new Date().toISOString()}`, `Extension version: ${version}`, - `Provider: ${provider}`, + `Provider: ${provider}${usesProxy ? " (proxy)" : ""}`, `Model: ${modelId}`, "", "", ].join("\n") return metadata + errorDetails - }, [errorDetails, version, provider, modelId]) + }, [errorDetails, version, provider, modelId, usesProxy]) const handleDownloadDiagnostics = useCallback( (e: React.MouseEvent) => { @@ -290,10 +293,18 @@ export const ErrorRow = memo( {t("chat:errorDetails.title")} -
-
+							
+
 									{formattedErrorDetails}
 								
+ {usesProxy && ( +
+ + + {t("chat:errorDetails.proxyProvider")} + +
+ )}