small changes to wave ai error handling (#2520)

This commit is contained in:
Mike Sawka 2025-11-04 14:40:41 -08:00 committed by GitHub
parent a23bbc00dc
commit 5edb6f34ca
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 17 additions and 7 deletions

View file

@ -239,12 +239,6 @@ const AIPanelComponentInner = memo(() => {
onError: (error) => {
console.error("AI Chat error:", error);
model.setError(error.message || "An error occurred");
setMessages((prevMessages) => {
if (prevMessages.length > 0 && prevMessages[prevMessages.length - 1].role === "user") {
return prevMessages.slice(0, -1);
}
return prevMessages;
});
},
});

View file

@ -25,6 +25,22 @@ import (
"github.com/wavetermdev/waveterm/pkg/web/sse"
)
// sanitizeHostnameInError removes the specific hostname from error messages
func sanitizeHostnameInError(err error, baseURL string) error {
if err == nil {
return nil
}
errStr := err.Error()
parsedURL, parseErr := url.Parse(baseURL)
if parseErr == nil && parsedURL.Host != "" {
errStr = strings.ReplaceAll(errStr, baseURL, "AI service")
errStr = strings.ReplaceAll(errStr, parsedURL.Host, "host")
}
return fmt.Errorf("%s", errStr)
}
// ---------- OpenAI wire types (subset) ----------
type OpenAIChatMessage struct {
@ -495,7 +511,7 @@ func RunOpenAIChatStep(
resp, err := httpClient.Do(req)
if err != nil {
return nil, nil, nil, err
return nil, nil, nil, sanitizeHostnameInError(err, chatOpts.Config.BaseURL)
}
defer resp.Body.Close()