[taskboard] clear stale dispatch errors on retry

This commit is contained in:
2026-03-07 12:28:55 -08:00
parent 85841a67da
commit e20b0ba55c

View File

@@ -303,6 +303,9 @@ export async function updateTask(id: number, input: Partial<TaskRecord>) {
return null;
}
const hasField = <K extends keyof TaskRecord>(field: K) =>
Object.prototype.hasOwnProperty.call(input, field);
const mergedTags = Array.isArray(input.tags) ? input.tags.filter((tag) => typeof tag === "string") : existing.tags;
const nextStatus = input.status ?? existing.status;
const nextDispatchState = deriveDispatchState({ ...existing, ...input, tags: mergedTags }, existing);
@@ -334,9 +337,9 @@ export async function updateTask(id: number, input: Partial<TaskRecord>) {
input.priority ?? existing.priority,
nextStatus,
JSON.stringify(mergedTags),
input.last_dispatch_at ?? existing.last_dispatch_at,
hasField("last_dispatch_at") ? input.last_dispatch_at ?? null : existing.last_dispatch_at,
acknowledgedAt,
input.last_error ?? existing.last_error,
hasField("last_error") ? input.last_error ?? null : existing.last_error,
completedAt,
id,
],