From ca204ddd2fa126b45a898654ce520e0e95347f6f Mon Sep 17 00:00:00 2001 From: shaw Date: Fri, 24 Apr 2026 08:58:51 +0800 Subject: [PATCH] fix(openai): preserve image outputs when text content serialization fails In reconstructResponseOutputFromSSE, text content Marshal/Unmarshal failure previously caused an early return that silently discarded already-extracted image_generation_call outputs. Now serialization errors are tolerated so image results still reach the client. --- backend/internal/service/openai_gateway_service.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/backend/internal/service/openai_gateway_service.go b/backend/internal/service/openai_gateway_service.go index b4b285c5..d99cd7da 100644 --- a/backend/internal/service/openai_gateway_service.go +++ b/backend/internal/service/openai_gateway_service.go @@ -4167,14 +4167,14 @@ func reconstructResponseOutputFromSSE(bodyText string) ([]byte, bool) { var output []json.RawMessage if acc.HasContent() { outputJSON, err := json.Marshal(acc.BuildOutput()) - if err != nil { - return nil, false - } - if err := json.Unmarshal(outputJSON, &output); err != nil { - return nil, false + if err == nil { + _ = json.Unmarshal(outputJSON, &output) } } output = append(output, imageOutputs...) + if len(output) == 0 { + return nil, false + } outputJSON, err := json.Marshal(output) if err != nil {