Conversation
Signed-off-by: Gustavo Carvalho <gustavo.carvalho@container-solutions.com>
There was a problem hiding this comment.
Pull request overview
This pull request adds overdue task tracking functionality to the workflow system. It introduces a configurable grace period mechanism at multiple levels (workflow definitions, step definitions, workflow instances) and provides comprehensive UI support for displaying and managing overdue tasks.
Changes:
- Added 'overdue' status to workflow and step execution types, with corresponding UI badges and visual indicators
- Implemented grace period configuration fields with validation in workflow definitions, step definitions, and workflow instances
- Enhanced MyTasksView with date-based filtering (due before/after) and priority sorting for overdue tasks
Reviewed changes
Copilot reviewed 17 out of 17 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
src/types/workflows.ts |
Added 'overdue' status to execution status types, gracePeriodDays fields to definition/instance interfaces, and overdueAt/dueDate fields to execution interfaces |
src/utils/workflows.ts |
Added grace period parsing utilities (DEFAULT_GRACE_PERIOD_DAYS, parseGracePeriodInput, toGracePeriodInputValue) |
src/views/workflows/partials/WorkflowDefinitionCreateForm.vue |
Added grace period input field with validation for workflow definition creation |
src/views/workflows/WorkflowDefinitionOverviewView.vue |
Added grace period input field for editing workflow definitions |
src/views/workflows/partials/StepDefinitionForm.vue |
Added grace period input field for step definitions (uses different validation approach than other forms) |
src/views/workflow-instances/partials/WorkflowInstanceCreateForm.vue |
Added grace period input field with auto-population from workflow definition |
src/views/workflow-instances/WorkflowInstanceOverviewView.vue |
Added grace period input field for editing workflow instances |
src/views/workflow-instances/WorkflowInstanceExecutionsView.vue |
Added 'overdue' status severity mapping |
src/views/workflow-executions/WorkflowExecutionView.vue |
Added overdue badges, failure reason display, overdue step counter, and retry button for overdue executions |
src/views/workflow-executions/partials/StepExecutionPanel.vue |
Added overdue date display, refactored permission checking watchers, and enabled completion notes for overdue steps |
src/views/workflow-executions/partials/StepExecutionList.vue |
Added overdue badges and due date display in step list |
src/views/workflow-executions/partials/ExecutionDAGView.vue |
Added orange visual styling for overdue steps in DAG view |
src/views/MyTasksView.vue |
Added date filters, overdue status option, visual highlighting for overdue tasks, and priority sorting |
src/composables/workflows/useWorkflowDefinitions.ts |
Added buildDefinitionPayload function to transform gracePeriodDays to kebab-case for API |
src/composables/workflows/useWorkflowInstances.ts |
Added buildInstancePayload function to transform gracePeriodDays to kebab-case for API |
src/composables/workflows/useStepPermissions.ts |
Extended permissions logic to treat overdue steps like in_progress for transitions and evidence submission |
src/composables/workflows/useMyAssignments.ts |
Added overdue status to assignment count query |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: Gustavo Carvalho <gustavo.carvalho@container-solutions.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 17 out of 17 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: Gustavo Carvalho <gustavo.carvalho@container-solutions.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 18 out of 18 changed files in this pull request and generated 5 comments.
Comments suppressed due to low confidence (1)
src/views/workflow-executions/WorkflowExecutionView.vue:83
retryExecution()is documented/implemented as “Retry a failed workflow execution” (POST/executions/:id/retry), but the UI also shows “Retry Execution” whenexecution.status === 'overdue'. Unless the backend explicitly supports retrying overdue executions, this will likely error and is confusing. Consider limiting the retry button tofailed(and keep cancel forin_progress/overdue).
<SecondaryButton
v-if="execution.status === 'failed' || execution.status === 'overdue'"
@click="handleRetry"
>
Retry Execution
</SecondaryButton>
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
src/views/workflow-instances/partials/WorkflowInstanceCreateForm.vue
Outdated
Show resolved
Hide resolved
Signed-off-by: Gustavo Carvalho <gustavo.carvalho@container-solutions.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 18 out of 18 changed files in this pull request and generated 10 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: Gustavo Carvalho <gustavo.carvalho@container-solutions.com>
Signed-off-by: Gustavo Carvalho <gustavo.carvalho@container-solutions.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 23 out of 23 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: Gustavo Carvalho <gustavo.carvalho@container-solutions.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 24 out of 24 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: Gustavo Carvalho <gustavo.carvalho@container-solutions.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 24 out of 24 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| // Step-level default comes from the parent workflow model when provided. | ||
| const effectiveDefaultGracePeriodDays = | ||
| props.defaultGracePeriodDays ?? DEFAULT_GRACE_PERIOD_DAYS; | ||
|
|
There was a problem hiding this comment.
effectiveDefaultGracePeriodDays is computed once from props.defaultGracePeriodDays, so if the parent updates the workflow definition grace period while this component is mounted (e.g., store updates after an edit/save), new steps and “empty input uses default” behavior will keep using the stale initial value. Make this default reactive (e.g., a computed based on the prop) and re-run initForm() / reset gracePeriodDaysInput when it changes (especially when creating a new step).
No description provided.