From c26925c25331fe962a43cbc7288d8a31494e2ac1 Mon Sep 17 00:00:00 2001 From: hobokenchicken Date: Thu, 5 Mar 2026 19:20:35 +0000 Subject: [PATCH] fix: improve error probing in OpenAI and DeepSeek providers --- src/providers/deepseek.rs | 8 ++++++-- src/providers/openai.rs | 10 ++++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/providers/deepseek.rs b/src/providers/deepseek.rs index 7028b6ba..a643a11d 100644 --- a/src/providers/deepseek.rs +++ b/src/providers/deepseek.rs @@ -231,8 +231,12 @@ impl super::Provider for DeepSeekProvider { tracing::debug!("Offending DeepSeek Request Body: {}", serde_json::to_string(&probe_body).unwrap_or_default()); Err(AppError::ProviderError(format!("DeepSeek API error ({}): {}", status, error_body)))?; } - _ => { - Err(AppError::ProviderError(format!("Stream error: {}", e)))?; + Ok(_) => { + Err(AppError::ProviderError(format!("Stream error (probe returned 200): {}", e)))?; + } + Err(probe_err) => { + tracing::error!("DeepSeek Stream Error Probe failed: {}", probe_err); + Err(AppError::ProviderError(format!("Stream error (probe failed: {}): {}", probe_err, e)))?; } } } diff --git a/src/providers/openai.rs b/src/providers/openai.rs index 9bbff7cc..dfbfa54d 100644 --- a/src/providers/openai.rs +++ b/src/providers/openai.rs @@ -351,8 +351,14 @@ impl super::Provider for OpenAIProvider { tracing::debug!("Offending OpenAI Request Body: {}", serde_json::to_string(&probe_body).unwrap_or_default()); Err(AppError::ProviderError(format!("OpenAI API error ({}): {}", status, error_body)))?; } - _ => { - Err(AppError::ProviderError(format!("Stream error: {}", e)))?; + Ok(_) => { + // Probe returned success? This is unexpected if the original stream failed. + Err(AppError::ProviderError(format!("Stream error (probe returned 200): {}", e)))?; + } + Err(probe_err) => { + // Probe itself failed + tracing::error!("OpenAI Stream Error Probe failed: {}", probe_err); + Err(AppError::ProviderError(format!("Stream error (probe failed: {}): {}", probe_err, e)))?; } } }