chore: apply requested changes

This commit is contained in:
Ralph Khreish
2025-09-26 00:22:35 +02:00
parent 22bdee1892
commit 967335dfcf
2 changed files with 15 additions and 8 deletions

View File

@@ -511,6 +511,14 @@ export class ApiStorage implements IStorage {
}
const oldStatus = existingTask.status;
if (oldStatus === newStatus) {
return {
success: true,
oldStatus,
newStatus,
taskId
};
}
// Update the task/subtask status
await this.retryOperation(() =>
@@ -520,9 +528,8 @@ export class ApiStorage implements IStorage {
})
);
// For subtasks, we might want to auto-adjust parent status
// but in API storage, we'd need to query for the parent and its other subtasks
// This is left as future enhancement since API storage handles relationships differently
// Note: Parent status auto-adjustment is handled by the backend API service
// which has its own business logic for managing task relationships
return {
success: true,

View File

@@ -391,12 +391,12 @@ export class FileStorage implements IStorage {
const subs = parentTask.subtasks;
let parentNewStatus = parentTask.status;
if (subs.length > 0) {
const allDone = subs.every((s) => (s.status || 'pending') === 'done');
const anyInProgress = subs.some(
(s) => (s.status || 'pending') === 'in-progress'
);
const norm = (s: any) => (s.status || 'pending');
const allDone = subs.every((s) => norm(s) === 'done');
const anyInProgress = subs.some((s) => norm(s) === 'in-progress');
const anyDone = subs.some((s) => norm(s) === 'done');
if (allDone) parentNewStatus = 'done';
else if (anyInProgress) parentNewStatus = 'in-progress';
else if (anyInProgress || anyDone) parentNewStatus = 'in-progress';
}
// Always bump updatedAt; update status only if changed