The Hatchet project is a software platform designed to manage and automate workflows, featuring alerting, metadata handling, and integration with third-party services like Slack. Managed by the Hatchet Dev team, the project is currently in a robust development phase with continuous enhancements and bug fixes. The trajectory remains positive, with consistent updates and improvements being made.
fix: minor docs issue with on failure step page ([#506](https://github.com/hatchet-dev/hatchet/issues/506))
fix: retry deadlocks on semaphore updates ([#505](https://github.com/hatchet-dev/hatchet/issues/505))
fix: error text on timeout ([#504](https://github.com/hatchet-dev/hatchet/issues/504))
fix: typo in docs
fix: throw proper error when return value of function is not a json object
fix: npmrc file for vercel pnpm version diff
feat: make step run replays more intuitive
fix: InvalidArgument errors for badly formatted data
feat: refresh timeout ([#495](https://github.com/hatchet-dev/hatchet/issues/495))
fix: last heartbeat ([#502](https://github.com/hatchet-dev/hatchet/issues/502))
fix: keep alive enforcement policy ([#499](https://github.com/hatchet-dev/hatchet/issues/499))
feat: workflow run cancel ([#489](https://github.com/hatchet-dev/hatchet/issues/489))
feat: improve reassign and timeout behavior and visibility ([#484](https://github.com/hatchet-dev/hatchet/issues/484))
feat: worker semaphore slot resolver ([#477](https://github.com/hatchet-dev/hatchet/issues/477))
chore(tool-versions): add tool-versions with pnpm ([#498](https://github.com/hatchet-dev/hatchet/issues/498))
chore(pre-commit): lint whitespace ([#494](https://github.com/hatchet-dev/hatchet/issues/494))
chore(deps): bump google.golang.org/grpc from 1.63.2 to 1.64.0 ([#500](https://github.com/hatchet-dev/hatchet/issues/500))
maybe fix idk ([#487](https://github.com/hatchet-dev/hatchet/issues/487))
schema.sql
step_run.go
(1374 lines) and controller.go
(1206 lines) can be challenging to maintain.The Hatchet project is actively developing with significant recent activity focused on enhancing functionality, improving user experience, and maintaining dependencies. Key risks include deployment issues and frequent schema changes, which need careful management. Overall, the project is progressing well with a positive trajectory.
Developer | Avatar | Branches | PRs | Commits | Files | Changes |
---|---|---|---|---|---|---|
abelanger5 | ![]() |
6 | 13/11/0 | 17 | 61 | 15885 |
vs. last report | +3 | +5/+5/= | +9 | -70 | +6274 | |
Gabe Ruttner | ![]() |
2 | 11/13/0 | 14 | 63 | 4231 |
vs. last report | -3 | +2/+5/= | -2 | -45 | +150 | |
Luca Steeb | ![]() |
2 | 2/2/0 | 13 | 76 | 1526 |
vs. last report | +1 | +2/+2/= | +9 | +69 | +1200 | |
mavenraven | ![]() |
2 | 1/1/0 | 2 | 5 | 134 |
vs. last report | +1 | =/=/= | +1 | +4 | +132 | |
dependabot[bot] | ![]() |
2 | 6/6/0 | 7 | 5 | 71 |
vs. last report | = | -5/-3/-1 | -3 | = | -47 | |
RomanMIzulin | ![]() |
1 | 2/1/0 | 1 | 1 | 2 |
Simonas Jakubonis (simjak) | 0 | 1/0/0 | 0 | 0 | 0 |
PRs: created by that dev and opened/merged/closed-unmerged during the period
The Hatchet project is a software platform designed to manage and automate workflows, with features such as alerting, metadata handling, and integration with third-party services like Slack. The project is under the stewardship of the Hatchet Dev team. The latest data indicates that the project is in a robust phase of development, with continuous enhancements and bug fixes being implemented. The trajectory remains positive with consistent updates and improvements being made.
fix: minor docs issue with on failure step page ([#506](https://github.com/hatchet-dev/hatchet/issues/506))
fix: retry deadlocks on semaphore updates ([#505](https://github.com/hatchet-dev/hatchet/issues/505))
fix: error text on timeout ([#504](https://github.com/hatchet-dev/hatchet/issues/504))
fix: typo in docs
fix: throw proper error when return value of function is not a json object
fix: npmrc file for vercel pnpm version diff
feat: make step run replays more intuitive
fix: InvalidArgument errors for badly formatted data
feat: refresh timeout ([#495](https://github.com/hatchet-dev/hatchet/issues/495))
fix: last heartbeat ([#502](https://github.com/hatchet-dev/hatchet/issues/502))
fix: keep alive enforcement policy ([#499](https://github.com/hatchet-dev/hatchet/issues/499))
feat: workflow run cancel ([#489](https://github.com/hatchet-dev/hatchet/issues/489))
feat: improve reassign and timeout behavior and visibility ([#484](https://github.com/hatchet-dev/hatchet/issues/484))
feat: worker semaphore slot resolver ([#477](https://github.com/hatchet-dev/hatchet/issues/477))
– Multiple files updated to add semaphore release state and methods.
– Collaborated with Alexander Belanger.chore(tool-versions): add tool-versions with pnpm ([#498](https://github.com/hatchet-dev/hatchet/issues/498))
– Added .tool-versions
file for pnpm version management.
– Collaborations not noted.chore(pre-commit): lint whitespace ([#494](https://github.com/hatchet-dev/hatchet/issues/494))
– Multiple files updated for consistent formatting using a whitespace linter.
– Collaborations not noted.chore(deps): bump google.golang.org/grpc from 1.63.2 to 1.64.0 ([#500](https://github.com/hatchet-dev/hatchet/issues/500))
– Updated dependencies in go.mod and go.sum files.
– Collaborations not noted.maybe fix idk ([#487](https://github.com/hatchet-dev/hatchet/issues/487))
– Minor fix in pkg/client/client.go file.The Hatchet project has seen substantial activity over the past week, focusing on improving timeout mechanisms, enhancing workflow run functionalities, and maintaining dependency updates. Key contributors include Alexander Belanger, Gabe Ruttner, and Luca Steeb, who have been actively collaborating on various features and fixes. The ongoing updates by Dependabot highlight a strong emphasis on keeping dependencies current.
Moving forward, it will be essential to monitor the impact of these changes on system performance and user experience. Continuous integration of feedback into the development process will be vital for sustaining the project's growth and relevance.
Since the previous analysis 8 days ago, there has been significant activity in the hatchet-dev/hatchet repository. Here is a detailed breakdown of the changes and their implications:
InvalidArgument
errors for badly formatted data in GRPC services. This change enhances error handling and makes the system more robust.google.golang.org/grpc
, reflecting ongoing updates to keep dependencies current and secure.The recent activity in the hatchet-dev/hatchet repository includes critical bug fixes and feature enhancements that contribute to system stability and user experience. The quick turnaround on some issues highlights an active and responsive development process. However, ongoing monitoring of open issues, especially those related to core functionalities like workflow execution and error handling, is recommended to ensure continued stability and performance improvements.
Internal
to InvalidArgument
for validation errors provides more accurate feedback to users.github.com/slack-go/slack
ensures compatibility with new features and security patches but requires careful integration due to breaking changes.The hatchet-dev/hatchet repository has seen significant progress over the past 8 days with numerous bug fixes, feature enhancements, and dependency updates. The development team remains responsive and proactive in addressing issues, which bodes well for the project's future stability and usability.
This report captures only activity since the last analysis 8 days ago, focusing on new developments while providing context from previously closed issues where relevant.
This pull request introduces a new feature that modifies the behavior of step run replays in the Hatchet project. The key changes include:
Resetting Subsequent Step Runs: When a step run is replayed, not only is the state of the target step run reset, but all subsequent step runs in the Directed Acyclic Graph (DAG) will also be reset. This ensures that the entire workflow run's state is reset, providing a more intuitive replay mechanism.
Database Schema Updates:
MANUAL_RETRY
to the StepRunEventReason
enum.API and Handler Adjustments:
StepRunService
to handle replays by resetting the workflow run and job run states.Frontend Changes:
MANUAL_RETRY
event reason.Documentation:
.npmrc
file for Vercel configuration.getUpdateParams
and archiveStepRunResult
enhances maintainability by encapsulating specific functionalities.tx
) ensures atomicity in database operations, which is crucial for maintaining data integrity during replays.This PR significantly improves the intuitiveness of step run replays by ensuring that all subsequent steps are reset along with the target step. The changes are well-implemented with attention to detail in error handling and maintainability. Performance implications should be monitored, and thorough testing is essential to validate the new functionality. Overall, this PR enhances the usability of Hatchet's task queue system by providing a more predictable and manageable replay mechanism.
Since the previous analysis conducted 8 days ago, there has been significant activity in the repository with various pull requests being opened and closed. Here's a detailed report on the changes:
PR #510: fix: typo in docs
PR #509: fix: throw proper error when function returns a non-JSON object
PR #508: fix(grpc): InvalidArgument errors for badly formatted data
InvalidArgument
instead of Internal
error codes for common validation errors.PR #507: feat: make step run replays more intuitive
PR #503: chore(deps): bump github.com/slack-go/slack from 0.12.5 to 0.13.0
PR #501: docs: format go snippet
PR #493: docs: Docker compose update
PR #431: Webhooks Controller
PR #506: fix: minor docs issue with on failure step page
PR #505: fix: retry deadlocks on semaphore updates
PR #504: fix: error text on timeout
PR #502: fix: last heartbeat -State Closed Created/Closed 1 day ago Description Fixes incorrect timestamp rendering for last heartbeat on worker view
5.PR #500 chore(deps): bump google.golang.org/grpc from 1.63.2 to 1.64.0 State Closed Created/Closed 1 day ago Description** Updates GRPC dependency to version 1.64.0
6.PR #499 fix: keep alive enforcement policy State Closed Created/Closed 2 days ago Description** Fixes inconsistent GRPC config across SDKs and server instance
7.PR #498 chore(tool-versions): add tool-versions with pnpm State Closed Created/Closed 2 days ago Description** Adds .tool-versions file to track pnpm versions
8.PR #497 chore update versions of protoc,pnpm State Closed Created/Closed 2 days ago Description Bumps versions of protoc and pnpm used
9.PR #495 feat refresh timeout State Closed Created/Closed 2 days ago Description Adds support to increase timeout during step runtime
10.PR #494 chore(pre-commit): lint whitespace State Closed Created/Closed 2 days ago Description Adds whitespace linter to pre-commit hook
11.PR #492 chore(deps): bump github.com/fatih/color from 1.16.0 to 1.17.0 State Closed Created/Closed 2 days ago Description Updates color dependency to version 1.17.0
12.PR #491 feat workflow configuration view State Closed Created/Closed 3 days ago Description Adds crons and schedule timeout config to workflow settings page
13.PR #490 fix hard reload on tenant create State Closed Created/Closed 3 days ago Description Fixes onboarding issue for new tenant
14.PR #489 feat workflow run cancel State Closed Created/Closed 3 days ago Description Adds ability to cancel workflow runs via API and dashboard
15.PR #488 chore(deps): bump google.golang.org/api from 0.179.0 to 0.180.0 State Closed Created/Closed 3 days ago Description Updates Google API dependency to version 0.180.0
16.PR #487 use consistent logger name State Closed Created/Closed 5 days ago Description Uses consistent logger name in client.go file
17.PR #486 fix handle nil input more gracefully State Closed Created/Closed 6 days ago Description Fixes cases where nil input causes issues with concurrency group key runs
18.PR #484 feat improve reassign and timeout behavior and visibility State Closed Created/Closed 6 days ago Description Improves consistency for handling reassignments and retries, adds step run events for reassignments and timeouts
19.PR #482 fix remove input from index State Closed Created/Closed 6 days ago Description Removes input from indexing due to exceeding index row byte limit
20.PR #481 chore(deps): bump google.golang.org/api from 0.178.0 to 0.179.0 State Closed Created/Closed 6 days ago Description Updates Google API dependency to version 0.179.0
21.PR #479 feat events view for step runs State Closed Created/Closed 7 days ago Description Creates an events view for step runs
22.PR #478 Add indexes State Closed Created/Closed 7 days ago Description Adds discussed indexes, manually changed generated SQL to use CONCURRENTLY
23.PR #477 feat worker semaphore slot resolver State Closed Created/Closed 7 days ago Description Adds interval-based query to ensure semaphore values are accurate
24.PR #476 feat client releasable slots State Closed Created/Closed 7 days ago Description Adds support for client SDKs to release a slot manually after use
25.PR #475 chore add semaphore guardrails State Closed Created/Closed 7 days ago Description Adds guardrails for semaphores to prevent negative or over maxRuns values
26.PR #473 fix workflow run relative date State Closed Created/Closed 7 days ago Description Fixes date component swap issue in workflow run relative date display
27.PR #472 fix prevent over-incrementing worker semaphore State Closed Created/Closed
Overall, the repository has seen a mix of bug fixes, dependency updates, and new features aimed at improving functionality, reliability, and user experience within the application system managed by Hatchet.
frontend/docs/pages/home/features/_meta.json
Structure:
Quality:
Concrete Signs:
internal/repository/prisma/step_run.go
Structure:
Quality:
Concrete Signs:
internal/services/controllers/jobs/controller.go
Structure:
Quality:
Concrete Signs:
api-contracts/dispatcher/dispatcher.proto
Structure:
Quality:
Concrete Signs:
internal/repository/prisma/dbsqlc/schema.sql
Structure:
Quality:
Concrete Signs:
frontend/app/src/lib/api/generated/data-contracts.ts
Structure:
Quality:
Concrete Signs:
frontend/docs/pages/home/features/timeouts.mdx
Structure:
Quality:
Concrete Signs:
.pre-commit-config.yaml
Structure:
Quality:
Concrete Signs:
.tool-versions
Structure:
Quality:
Concrete Signs:
frontend/app/src/pages/main/workflow-runs/$run/index.tsx
Structure:
Quality:
Concrete Signs: ```typescript const cancelWorkflowRunMutation = useMutation({ mutationKey: [ 'workflow-run:cancel', runQuery?.data?.tenantId, runQuery?.data?.metadata.id, ], mutationFn: async () => { const tenantId = runQuery?.data?.tenantId; const workflowRunId = runQuery?.data?.metadata.id;
invariant(tenantId, 'has tenantId');
invariant(workflowRunId, 'has tenantId');
const res = await api.workflowRunCancel(tenantId, {
workflowRunIds: [workflowRunId],
});
return res.data;
},
onError: handleApiError,
});
``
This mutation function handles canceling workflow runs by calling an API endpoint with appropriate parameters (tenantId and workflowRunId). Error handling is also included via
handleApiError`.
```typescript
Cancel all running steps ``` This dropdown menu item triggers the cancellation mutation when clicked, provided the workflow run is not in a terminal status (e.g., already canceled or completed).
In conclusion, all analyzed files show thoughtful updates aimed at improving functionality, user experience, or code quality without introducing significant risks or issues based on the provided context and recent commit history.
internal/repository/prisma/step_run.go
has seen multiple significant updates in a short period.