Skip to content

feat: overdue tasks#181

Merged
gusfcarvalho merged 8 commits intomainfrom
gc-feat-orverdue-tasks
Feb 18, 2026
Merged

feat: overdue tasks#181
gusfcarvalho merged 8 commits intomainfrom
gc-feat-orverdue-tasks

Conversation

@gusfcarvalho
Copy link
Contributor

No description provided.

Signed-off-by: Gustavo Carvalho <gustavo.carvalho@container-solutions.com>
Copilot AI review requested due to automatic review settings February 17, 2026 13:08
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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>
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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>
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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” when execution.status === 'overdue'. Unless the backend explicitly supports retrying overdue executions, this will likely error and is confusing. Consider limiting the retry button to failed (and keep cancel for in_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.

Signed-off-by: Gustavo Carvalho <gustavo.carvalho@container-solutions.com>
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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>
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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>
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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>
@gusfcarvalho gusfcarvalho requested a review from Copilot February 18, 2026 10:39
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment on lines +263 to 266
// Step-level default comes from the parent workflow model when provided.
const effectiveDefaultGracePeriodDays =
props.defaultGracePeriodDays ?? DEFAULT_GRACE_PERIOD_DAYS;

Copy link

Copilot AI Feb 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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).

Copilot uses AI. Check for mistakes.
@gusfcarvalho gusfcarvalho enabled auto-merge (squash) February 18, 2026 10:48
@gusfcarvalho gusfcarvalho merged commit 4f4fcce into main Feb 18, 2026
9 checks passed
@gusfcarvalho gusfcarvalho deleted the gc-feat-orverdue-tasks branch February 18, 2026 10:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants