diff --git a/backend/src/tasks/task-worker.ts b/backend/src/tasks/task-worker.ts index a59b298d..260bcffe 100644 --- a/backend/src/tasks/task-worker.ts +++ b/backend/src/tasks/task-worker.ts @@ -2249,7 +2249,7 @@ export class TaskWorker { if (result.success) { // Layer 1: Verify DB completion was recorded - const dbVerified = await taskService.completeTask(task.id, { result: result.data }); + const dbVerified = await taskService.completeTask(task.id, result); if (!dbVerified) { console.error(`[TaskWorker] ${this.friendlyName} task ${task.id} DB COMPLETION VERIFICATION FAILED`); await taskService.failTask(task.id, 'DB completion verification failed'); @@ -2313,7 +2313,7 @@ export class TaskWorker { if (result.success) { // Use WorkerSession completion but also verify with taskService - await WorkerSession.completeTask(task.id, this.workerId, { result: result.data }); + await WorkerSession.completeTask(task.id, this.workerId, result); // Verify output exists for payload-creating tasks const outputVerification = await taskService.verifyTaskOutput(task); diff --git a/cannaiq/src/pages/WorkersDashboard.tsx b/cannaiq/src/pages/WorkersDashboard.tsx index 72315776..7a5ae358 100644 --- a/cannaiq/src/pages/WorkersDashboard.tsx +++ b/cannaiq/src/pages/WorkersDashboard.tsx @@ -587,7 +587,8 @@ function StepBadge({ worker }: { worker: Worker }) { } // Format seconds to human readable duration -function formatSecondsToTime(seconds: number): string { +function formatSecondsToTime(seconds: number | null | undefined): string { + if (seconds === null || seconds === undefined) return '-'; if (seconds < 60) return `${seconds}s`; const mins = Math.floor(seconds / 60); const secs = seconds % 60;