"Hatchet Project Faces Potential Delays Due to Incomplete Webhooks Controller and Frequent Dispatcher Code Rewrites."
internal/services/dispatcher/server.go
suggest underlying design issues.dependabot[bot]
Alexander Belanger (abelanger5)
Gabe Ruttner (grutt)
Luca Steeb (steebchen)
go.opentelemetry.io/otel
and github.com/goccy/go-json
(#522, #519, #523, #521, #520).internal/services/dispatcher/server.go
(#516).pnpm
on dependencies install in CI workflows (#515).Severity: Medium
Severity: Medium
internal/services/dispatcher/server.go
suggest potential instability or design issues. This file has seen numerous bug fixes and feature additions in a short period.Severity: Low
window.confirm
for tenant member deletion, which is inconsistent with other UI components. This could affect user experience.Outdated Go Demo Example (Issue #513)
Automated Dependency Updates
CI Workflow Improvements
pnpm
ensures consistency in CI builds, reflecting attention to detail in maintaining build environments.The Hatchet project continues to progress with active maintenance, including dependency updates and bug fixes. However, the incomplete Webhooks Controller (#431) and frequent dispatcher code rewrites pose risks that need addressing. Ensuring consistent UI components and updating documentation will further enhance user experience and onboarding.
Developer | Avatar | Branches | PRs | Commits | Files | Changes |
---|---|---|---|---|---|---|
abelanger5 | ![]() |
1 | 9/9/0 | 9 | 39 | 13645 |
vs. last report | -5 | -4/-2/= | -8 | -22 | -2240 | |
Gabe Ruttner | ![]() |
3 | 6/9/0 | 11 | 56 | 4547 |
vs. last report | +1 | -5/-4/= | -3 | -7 | +316 | |
Luca Steeb | ![]() |
3 | 4/4/0 | 23 | 81 | 1706 |
vs. last report | +1 | +2/+2/= | +10 | +5 | +180 | |
dependabot[bot] | ![]() |
1 | 8/8/0 | 8 | 2 | 90 |
vs. last report | -1 | +2/+2/= | +1 | -3 | +19 | |
RomanMIzulin | ![]() |
1 | 1/1/0 | 1 | 1 | 2 |
vs. last report | = | -1/=/= | = | = | = |
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.
updated-dependencies: go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc ([#522](https://github.com/hatchet-dev/hatchet/issues/522))
updated-dependencies: go.opentelemetry.io/otel/exporters/otlp/otlptrace ([#519](https://github.com/hatchet-dev/hatchet/issues/519))
updated-dependencies: go.opentelemetry.io/otel/sdk ([#523](https://github.com/hatchet-dev/hatchet/issues/523))
updated-dependencies: github.com/goccy/go-json ([#521](https://github.com/hatchet-dev/hatchet/issues/521))
updated-dependencies: go.opentelemetry.io/otel ([#520](https://github.com/hatchet-dev/hatchet/issues/520))
chore: remove debug line ([#516](https://github.com/hatchet-dev/hatchet/issues/516))
fix: worker active bug ([#517](https://github.com/hatchet-dev/hatchet/issues/517))
fix: worker stream state ([#514](https://github.com/hatchet-dev/hatchet/issues/514))
ci(workflows): pin pnpm on deps install ([#515](https://github.com/hatchet-dev/hatchet/issues/515))
– Multiple files updated for consistent formatting using a whitespace linter.
– Collaborations not noted.The Hatchet project has seen substantial activity over the past few days, focusing on dependency updates, improving worker mechanisms, and maintaining dependency updates. Key contributors include Alexander Belanger and Gabe Ruttner 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 5 days ago, there has been significant activity in the hatchet-dev/hatchet repository. Here is a detailed breakdown of the changes and their implications:
go.opentelemetry.io/otel/sdk
from 1.26.0 to 1.27.0, reflecting ongoing maintenance and adaptation to new versions of dependencies.go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc
from 1.26.0 to 1.27.0, ensuring compatibility with the latest features and fixes.github.com/goccy/go-json
from 0.10.2 to 0.10.3, which includes various bug fixes and improvements.go.opentelemetry.io/otel
from 1.26.0 to 1.27.0, indicating continuous improvement in observability tools.pnpm
on dependencies install, ensuring consistency in CI builds.google.golang.org/api
from 0.180.0 to 0.181.0, keeping the API client up-to-date.The recent activity in the hatchet-dev/hatchet repository includes critical bug fixes, feature enhancements, and dependency updates that contribute to system stability and user experience. The quick turnaround on some issues highlights an active and responsive development process.
The hatchet-dev/hatchet repository has seen significant progress over the past 5 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 5 days ago, focusing on new developments while providing context from previously closed issues where relevant.
This concludes the analysis of progress since the last report based on the most recent data snapshot provided.
Since the previous analysis conducted 5 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 #518: feat: delete tenant member ui
PR #431: Webhooks Controller
PR #501: docs: format go snippet
PR #493: docs: Docker compose update
PR #523: chore(deps): bump go.opentelemetry.io/otel/sdk from 1.26.0 to 1.27.0
PR #522: chore(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc from 1.26.0 to 1.27.0
PR #521: chore(deps): bump github.com/goccy/go-json from 0.10.2 to 0.10.3
PR #520: chore(deps): bump go.opentelemetry.io/otel from 1.26.0 to 1.27.0
PR #519: chore(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace from 1.26.0 to 1.27.0
PR #517: fix: worker active bug -State Closed Created/Closed 0 days ago Description Fixes an edge case bug where a stream is disconnected after a new stream is already created
7.PR #516 chore remove debug line State Closed Created/Closed 0 days ago Description** Removes debug line
8.PR #515 ci(workflows): pin pnpm on deps install State Closed Created/Closed 1 day ago Description** Fixes current CI as pnpm now errors when the lockfile version doesn't exactly match the full version (including patches)
9.PR #514 fix worker stream state State Closed Created/Closed 1 day ago Description** Fixes the case where a grpc stream is disrupted but heartbeats are still received
10.PR #512 chore(auto-merge): approve PR on auto merge State Closed Created/Closed 4 days ago Description** Auto approves relevant dependabot PRs due to the new required reviewers
11.PR #511 chore(deps): bump google.golang.org/api from 0.180.0 to 0.181.0 State Closed Created/Closed 5 days ago Description** Updates Google API dependency to version 0.181
12.PR #510 fix typo in docs State Closed Created/Closed 5 days ago Description** Fixes a typo in the documentation
13.PR #509 fix throw proper error when function returns a non-JSON object State Closed Created/Closed 5 days ago Description** Throws a better user-facing error if the return value of a step is sent to the engine as a non-JSON object
14.PR #508 fix(grpc): InvalidArgument errors for badly formatted data State Closed Created/Closed 5 days ago Description** Sends common validation errors on the GRPC service as InvalidArgument instead of Internal error codes
15.PR #507 feat make step run replays more intuitive State Closed Created/Closed 5 days ago Description** Modifies step run replays so that all subsequent step runs in the DAG will get reset when the parent step run is replayed
16.PR #503 chore(deps): bump github.com/slack-go/slack from 0.12.5 to 0.13. State Closed Created/Closed 6 days ago Description Updates Slack dependency to version
17.PR #506 fix minor docs issue with on failure step page State Closed Created/Closed 5 days ago Description Fixes small issue with on failure step in sidebar not working in docs*
18.PR #505 fix retry deadlocks on semaphore updates State Closed Created/Closed 5 days ago Description Deadlocks are currently not retried for worker semaphore leading to a high requeue count*
19.PR #504 fix error text on timeout State Closed Created/Closed 5 days ago Description Fixes duplicated error text on timeout*
20.PR #502 fix last heartbeat State Closed Created/Closed 6 days ago Description Rendering incorrect timestamp for last heartbeat on worker view*
21.PR #500 chore(deps): bump google.golang.org/grpc from .63..64.Stateclosedcreatedclosed7daysagoDescriptionUpdatesGRPCdependencytoversion164
22.PR#499fixkeepaliveenforcementpolicyStateclosedcreatedclosed7daysagoDescriptionFixesinconsistentGRPCConfigacrossSDKsandserverinstance
23.PR#498choretoolversionsaddtoolversionswithpnpmStateclosedcreatedclosed7daysagoDescriptionAdds.toolversionsfiletotrackpnpmversions
24.PR#497choreupdateversionsofprotocpnpmStateclosedcreatedclosed7daysagoDescriptionBumpsversionsofprotocandpnpmused
25.PR#495featrefreshtimeoutStateclosedcreatedclosed7daysagoDescriptionAddssupporttoincreasetimeoutduringstepruntime
26.PR#494choreprecommitlintwhitespaceStateclosedcreatedclosed7daysagoDescriptionAddswhitespacelintertoprecommithook
27.PR#492choredepsbumpgithub.comfatihcolorfrom116017Stateclosedcreatedclosed8daysagoDescriptionUpdatescolordependencytoversion117
28.PR#491featworkflowconfigurationviewStateclosedcreatedclosed8daysagoDescriptionAddscronsandscheduletimeoutconfigtoworkflowsettingspage
29.PR#490fixhardreloadontenantcreateStateclosedcreatedclosed8daysagoDescriptionFixesonboardingissuefornewtenant
30.PR#489featworkflowruncancelStateclosedcreatedclosed8daysagoDescriptionAddsabilitytocancelworkflowrunsviaAPIanddashboard
Overall, there has been substantial progress with numerous bug fixes, dependency updates, and new features aimed at enhancing functionality, reliability, and user experience within Hatchet's application system.
This pull request introduces a new feature allowing owners to remove tenant members via the UI. It involves changes to both the backend and frontend, adding a new endpoint and UI elements.
Backend:
TenantMemberDelete
in delete_member.go
to handle the deletion logic.openapi.gen.go
.Frontend:
members-columns.tsx
.useMutation
for handling the deletion process.Endpoint Addition:
openapi.yaml
and tenant.yaml
).TenantMemberDelete
is concise and follows good practices for error handling and response formatting.Error Handling:
Code Generation:
openapi.gen.go
is consistent with existing patterns.UI Integration:
window.confirm
) before performing the delete action, which is a good UX practice.API Integration:
useMutation
, which handles side effects and state management efficiently.useApiError
), ensuring consistency across the application.Code Structure:
members-columns.tsx
).Confirmation Dialog:
window.confirm
. This will provide a better user experience and maintain visual consistency across the application.Testing:
Documentation:
Overall, this PR introduces a valuable feature with well-structured code changes that adhere to good practices. With minor improvements in user experience and thorough testing, this feature will enhance the application's functionality effectively.
go.mod
Analysis:
Structure and Formatting:
go.mod
file is well-structured and follows the standard format for Go modules.Dependencies:
go.opentelemetry.io/otel
, github.com/gorilla/sessions
, and github.com/spf13/viper
.Versioning:
go.opentelemetry.io/otel
to v1.27.0
) suggests that the project is keeping up with the latest improvements and security patches.Comments:
Quality:
go.sum
Analysis:
Structure and Formatting:
go.sum
file is automatically generated and tracks checksums for module versions listed in go.mod
.Content:
go.mod
.Quality:
internal/services/dispatcher/server.go
Analysis:
Structure and Formatting:
Recent Changes:
Code Quality Indicators:
Quality:
internal/repository/prisma/dbsqlc/models.go
Analysis:
Structure and Formatting:
Recent Changes:
Code Quality Indicators:
Quality:
internal/repository/prisma/dbsqlc/schema.sql
Analysis:
Structure and Formatting:
Recent Changes:
Code Quality Indicators:
Quality:
internal/repository/prisma/dbsqlc/workers.sql
Analysis:
Structure and Formatting:
ListWorkersWithStepCount
, GetWorkerForEngine
).Content Analysis:
FILTER
clause) and grouping (GROUP BY
clause).Code Quality Indicators:
Quality: - High quality, well-structured SQL queries that follow best practices.
api/v1/server/oas/gen/openapi.gen.go
Analysis:
Structure and Formatting:
Content Analysis:
Code Quality Indicators:
Quality: - High quality as expected from auto-generated code; ensures consistency between API documentation and implementation.
frontend/app/src/lib/api/generated/data-contracts.ts
Analysis:
Structure and Formatting:
Content Analysis:
Code Quality Indicators:
Quality: - High quality as expected from auto-generated code; ensures consistency between frontend type definitions and backend API contracts.
Overall, the source code files exhibit high quality with proper structure, regular updates, and adherence to best practices. Some large files could benefit from refactoring into smaller modules for improved maintainability.
Severity: Medium (2/3)
Rationale
The Webhooks Controller PR (#431) has been open for 21 days and remains in a draft state with several TODOs, indicating incomplete functionality that could delay the integration of serverless functionalities.
Next Steps
internal/services/dispatcher/server.go
in a short periodSeverity: Medium (2/3)
Rationale
The internal/services/dispatcher/server.go
file has undergone multiple changes recently, including bug fixes and feature additions. This indicates potential instability or design issues in this part of the codebase.
Next Steps
Severity: Low (1/3)
Rationale
The use of window.confirm
for confirmation dialogs in the new tenant member deletion feature (PR #518) is inconsistent with the rest of the application's UI components, potentially affecting user experience.
window.confirm
for delete actions.Next Steps
window.confirm
with a consistent UI component used elsewhere in the application.Severity: Low (1/3)
Rationale
The outdated Go demo example reported in Issue #513 highlights a need for updating documentation and examples to ensure they are in sync with the latest codebase.
Next Steps