-
Notifications
You must be signed in to change notification settings - Fork 1
feat: add workflow error reporting and filtering #837
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this 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 PR adds workflow error reporting and filtering capabilities, along with a breaking change to timestamp formats. The main purpose is to enable users to filter workflows based on whether they have reported errors, while also standardizing timestamp representations across the codebase.
Changes:
- Added
has_reported_errorsfield and filter parameter to enable filtering workflows by error state - Converted all timestamp fields from Unix timestamps (seconds) to ISO 8601 strings with millisecond precision (breaking change)
- Added flexible history format query parameters for workflow history retrieval
- Reverted badge colors to use semantic color approach
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| packages/ui/src/features/facets/WorkflowExecutionsFacetsNav.tsx | Implements "Has Reported Errors" filter UI with Yes/No options and boolean conversion logic |
| packages/ui/src/core/components/Badge.tsx | Reverts badge color styling to semantic text color classes and updates import formatting |
| packages/common/src/store/workflow.ts | Adds has_reported_errors field, converts timestamp types to strings, adds new type definitions for history formats and task types |
| packages/client/src/store/WorkflowsApi.ts | Updates getRunDetails method to support flexible history format options |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| export interface WorkflowRunEvent { | ||
| event_id: number; | ||
| event_time: number; | ||
| event_time: string | null; |
Copilot
AI
Jan 28, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The event_time field type changed from number | null to string | null, but the original type allowed number (non-null timestamps). The new type only allows null or string, which means non-null numeric timestamps are no longer supported. If events can have non-null timestamps, this should be string rather than string | null, or the migration path for existing numeric values needs clarification.
| event_time: string | null; | |
| event_time: string | number | null; |
packages/ui/src/features/facets/WorkflowExecutionsFacetsNav.tsx
Outdated
Show resolved
Hide resolved
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Summary
has_reported_errorsfield toWorkflowRuntype to track workflows with reported problems (TemporalReportedProblems)has_reported_errorsfilter parameter toListWorkflowRunsPayloadfor filtering workflows by error stateTimestamp Format Change
BREAKING CHANGE: All timestamp fields in workflow types now use ISO 8601 strings (with millisecond precision) instead of Unix timestamp numbers (in seconds).
Before:
"started_at": 1678886400(Unix timestamp in seconds)After:
"started_at": "2023-03-15T12:00:00.000Z"(ISO 8601 string with millisecond precision)Changed Types:
WorkflowRun.started_at:number(seconds) →string(ISO 8601 with ms)WorkflowRun.closed_at:number(seconds) →string(ISO 8601 with ms)WorkflowRunEvent.event_time:number | null(seconds) →string | null(ISO 8601 with ms)WorkflowTask.scheduled:number | null(seconds) →string | null(ISO 8601 with ms)WorkflowTask.started:number | null(seconds) →string | null(ISO 8601 with ms)WorkflowTask.completed:number | null(seconds) →string | null(ISO 8601 with ms)WorkflowRunWithDetails.pendingActivities[].lastStartedTime:number(seconds) →string(ISO 8601 with ms)PendingActivity.lastStartedTime:number | null(seconds) →string | null(ISO 8601 with ms)packages/common/src/store/workflow.ts:
stringinstead ofnumberPendingActivitytype export for type consistencyModified Files
has_reported_errorsfield to typesnumbertostringfor ISO 8601 formatPendingActivity.lastStartedTimetypeTest Plan
🤖 Generated with Claude Code