refactor(publish): collapse pending_review/unknown task states into failed
Treat ambiguous terminal states as failures end-to-end: server normalizes unknown desktop task completions and views to failed, drops the pending_review aggregate branch, and remaps pending_review to failed in publish record conversion. admin-web removes the pending_review status option from article list filters, pushes pending_review through the failed tone, and folds lingering publishing/pending entries under the publishing bucket. desktop-client relabels unknown as 发送失败 in PublishManagement/TasksView, rewrites the scaffold adapter result to a proper failed error envelope, and sanitises legacy scaffold-only error messages to a user-friendly note. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1013,15 +1013,9 @@ func aggregatePublishStatuses(statuses []string) string {
|
||||
if counts["success"] == len(statuses) {
|
||||
return "success"
|
||||
}
|
||||
if counts["pending_review"] == len(statuses) {
|
||||
return "pending_review"
|
||||
}
|
||||
if counts["failed"] > 0 && (counts["success"] > 0 || counts["pending_review"] > 0) {
|
||||
if counts["failed"] > 0 && counts["success"] > 0 {
|
||||
return "partial_success"
|
||||
}
|
||||
if counts["pending_review"] > 0 {
|
||||
return "pending_review"
|
||||
}
|
||||
if counts["success"] > 0 {
|
||||
return "success"
|
||||
}
|
||||
@@ -1036,10 +1030,8 @@ func normalizePublishStatus(status string) string {
|
||||
return "publishing"
|
||||
case "success", "published", "publish_success":
|
||||
return "success"
|
||||
case "failed", "publish_failed":
|
||||
case "failed", "publish_failed", "pending_review":
|
||||
return "failed"
|
||||
case "pending_review":
|
||||
return "pending_review"
|
||||
default:
|
||||
return "failed"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user