mirror of
https://github.com/QwenLM/qwen-code.git
synced 2025-12-19 09:33:53 +00:00
feat: Integrate centralized error reporting for API interactions
Implements robust error handling for Gemini API calls, integrating with the centralized error reporting system. - API errors are now caught and reported to dedicated log files, providing detailed diagnostics without cluttering the user interface. - A concise error message is surfaced to the user in the UI, indicating an API issue. - Ensures any pending UI updates are processed before an API error is displayed. This change improves our ability to diagnose API-related problems by capturing rich error context centrally, while maintaining a clean user experience. Signed-off-by: Gemini <YourFriendlyNeighborhoodAI@example.com>
This commit is contained in:
committed by
N. Taylor Mullen
parent
4d5f0dc080
commit
2970f0a06c
@@ -323,6 +323,18 @@ export const useGeminiStream = (
|
||||
);
|
||||
setStreamingState(StreamingState.Idle);
|
||||
return; // Stop processing the stream
|
||||
} else if (event.type === ServerGeminiEventType.Error) {
|
||||
// Flush out existing pending history item.
|
||||
if (pendingHistoryItemRef.current) {
|
||||
addItem(pendingHistoryItemRef.current, userMessageTimestamp);
|
||||
setPendingHistoryItem(null);
|
||||
}
|
||||
addItem(
|
||||
{ type: 'error', text: `[API Error: ${event.value.message}]` },
|
||||
userMessageTimestamp,
|
||||
);
|
||||
setStreamingState(StreamingState.Idle);
|
||||
// Allow stream to end naturally
|
||||
}
|
||||
} // End stream loop
|
||||
|
||||
@@ -335,7 +347,6 @@ export const useGeminiStream = (
|
||||
setStreamingState(StreamingState.Idle);
|
||||
} catch (error: unknown) {
|
||||
if (!isNodeError(error) || error.name !== 'AbortError') {
|
||||
console.error('Error processing stream or executing tool:', error);
|
||||
addItem(
|
||||
{
|
||||
type: 'error',
|
||||
|
||||
Reference in New Issue
Block a user