fix: 模板备注上限与任务备注对齐为 2000 字

This commit is contained in:
RuoJi6 committed 2026-10-23 19:05:01 +08:00
1 parent 45d4e4e67b
commit 3b2887f349
2 files changed
+9 -5

No files matched your search

+8 -4
View File
@@ -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
}
+1 -1
View File
@@ -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 {