fix(programmer): reassignment while paused must not open new segment
Capture whether segment was running before reassignment, and only reopen for new assignee if it was. A paused task that gets reassigned should not start accruing time for the new assignee until explicitly resumed. Also add test: reassignment while paused does not open segment. Co-Authored-By: claude-flow <ruv@ruv.net>
This commit is contained in:
@@ -88,6 +88,7 @@ List<WorkedInterval> workedIntervals({
|
||||
break;
|
||||
|
||||
case 'reassigned':
|
||||
final wasRunning = segmentStart != null;
|
||||
if (segmentStart != null) {
|
||||
// Close segment for old assignee
|
||||
intervals.add((
|
||||
@@ -95,11 +96,14 @@ List<WorkedInterval> workedIntervals({
|
||||
start: segmentStart,
|
||||
end: log.createdAt,
|
||||
));
|
||||
segmentStart = null;
|
||||
}
|
||||
// Update assignee and reopen segment
|
||||
// Update assignee and reopen segment only if it was running
|
||||
if (log.meta?['assignee_id'] != null) {
|
||||
currentAssignee = log.meta!['assignee_id'] as String;
|
||||
segmentStart = log.createdAt;
|
||||
if (wasRunning) {
|
||||
segmentStart = log.createdAt;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user