From 3b2887f34931ed2d466f6687baf425ba5295f4e4 Mon Sep 17 00:00:00 2001 From: RuoJi6 Date: Fri, 23 Oct 2026 19:05:01 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=A8=A1=E6=9D=BF=E5=A4=87=E6=B3=A8?= =?UTF-8?q?=E4=B8=8A=E9=99=90=E4=B8=8E=E4=BB=BB=E5=8A=A1=E5=A4=87=E6=B3=A8?= =?UTF-8?q?=E5=AF=B9=E9=BD=90=E4=B8=BA=202000=20=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/task_templates.go | 12 ++++++++---- server/task_templates.go | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/db/task_templates.go b/db/task_templates.go index 38af4f9..2f42387 100644 --- a/db/task_templates.go +++ b/db/task_templates.go @@ -119,8 +119,11 @@ func normalizeTaskTemplateInput(in TaskTemplateInput) (TaskTemplateInput, string return in, "", fmt.Errorf("%w: goal exceeds %d characters", ErrTaskTemplateInvalid, MaxTaskTemplateTextRunes) } in.Remark = strings.TrimSpace(in.Remark) - if utf8.RuneCountInString(in.Remark) > MaxTaskTemplateTextRunes { - return in, "", fmt.Errorf("%w: remark exceeds %d characters", ErrTaskTemplateInvalid, MaxTaskTemplateTextRunes) + // Align with task remarks (server/remarks.go maxRemarkRunes=2000) so applying a + // template cannot produce a create-task payload that the task API rejects. + const maxTemplateRemarkRunes = 2000 + if utf8.RuneCountInString(in.Remark) > maxTemplateRemarkRunes { + return in, "", fmt.Errorf("%w: remark exceeds %d characters", ErrTaskTemplateInvalid, maxTemplateRemarkRunes) } in.WorkerCount = normalizeWorkerCount(in.WorkerCount) return in, taskTemplateNKey(in.Name), nil @@ -165,8 +168,9 @@ func normalizeTaskTemplatePatch(patch TaskTemplatePatch) (TaskTemplatePatch, *st } if patch.Remark != nil { remark := strings.TrimSpace(*patch.Remark) - if utf8.RuneCountInString(remark) > MaxTaskTemplateTextRunes { - return patch, nil, fmt.Errorf("%w: remark exceeds %d characters", ErrTaskTemplateInvalid, MaxTaskTemplateTextRunes) + const maxTemplateRemarkRunes = 2000 + if utf8.RuneCountInString(remark) > maxTemplateRemarkRunes { + return patch, nil, fmt.Errorf("%w: remark exceeds %d characters", ErrTaskTemplateInvalid, maxTemplateRemarkRunes) } patch.Remark = &remark } diff --git a/server/task_templates.go b/server/task_templates.go index dbbe990..ce5f1aa 100644 --- a/server/task_templates.go +++ b/server/task_templates.go @@ -67,7 +67,7 @@ func validateTaskTemplateRequest(req taskTemplateRequest) error { {name: "name", value: req.Name, limit: db.MaxTaskTemplateNameRunes}, {name: "description", value: req.Description, limit: db.MaxTaskTemplateTextRunes}, {name: "goal", value: req.Goal, limit: db.MaxTaskTemplateTextRunes}, - {name: "remark", value: req.Remark, limit: db.MaxTaskTemplateTextRunes}, + {name: "remark", value: req.Remark, limit: 2000}, // 与任务备注 normalizeRemark 上限一致 } for _, check := range checks { if check.value == nil {