From 0306119e1292c48bf90e158ce6616bbe09117de6 Mon Sep 17 00:00:00 2001 From: erio Date: Sat, 7 Mar 2026 19:59:07 +0800 Subject: [PATCH] fix: validate UTF-8 before storing request_body as JSONB PostgreSQL JSONB columns require valid UTF-8 encoding. Skip storing request_body if it contains invalid UTF-8 byte sequences (e.g. from non-UTF-8 terminal encodings). Co-Authored-By: Claude Opus 4.6 --- backend/internal/repository/sora_task_repo.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/backend/internal/repository/sora_task_repo.go b/backend/internal/repository/sora_task_repo.go index 822b61e41b..8107bbe18b 100644 --- a/backend/internal/repository/sora_task_repo.go +++ b/backend/internal/repository/sora_task_repo.go @@ -4,6 +4,7 @@ import ( "context" "database/sql" "encoding/json" + "unicode/utf8" "github.com/Wei-Shaw/sub2api/internal/service" ) @@ -23,7 +24,7 @@ func (r *SoraTaskRepository) Create(ctx context.Context, task *service.SoraTask) s := string(b) charStr = &s } - if len(task.RequestBody) > 0 { + if len(task.RequestBody) > 0 && utf8.Valid(task.RequestBody) { s := string(task.RequestBody) reqStr = &s }