From 5c54f4e19535ebda29097be6a4cf3413179b922b Mon Sep 17 00:00:00 2001 From: "M.V. Hutz" Date: Wed, 14 Jan 2026 00:35:02 +0000 Subject: [PATCH] fix: correct event handler registration in plugins (#29) ## Description This PR fixes incorrect event handler registration in two plugins that were introduced in the refactoring. The bugs prevented the plugins from functioning as intended. Fixed issues: - Statistics plugin was registering `plugin.Step` for `StopEvent` instead of `plugin.Stop`, preventing statistics from being printed at the end of execution. - Logs plugin was listening to `StopEvent` instead of `StepEvent`, causing it to log only once at the end instead of on each reduction step. ## Benefits Statistics are now correctly printed at the end of execution. Debug logs now correctly show each reduction step instead of just the final state. Plugins now work as originally intended before the refactoring. ## Checklist - [x] Code follows conventional commit format. - [x] Branch follows naming convention (`/`). - [x] Tests pass (if applicable). - [x] Documentation updated (if applicable). Reviewed-on: https://git.maximhutz.com/mvhutz/lambda/pulls/29 Co-authored-by: M.V. Hutz Co-committed-by: M.V. Hutz --- internal/plugins/debug.go | 2 +- internal/plugins/statistics.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/plugins/debug.go b/internal/plugins/debug.go index 77bd4c6..15fe54b 100644 --- a/internal/plugins/debug.go +++ b/internal/plugins/debug.go @@ -14,7 +14,7 @@ type Logs struct { func NewLogs(logger *slog.Logger, process *engine.Engine) *Logs { plugin := &Logs{logger, process} - process.On(engine.StopEvent, plugin.Step) + process.On(engine.StepEvent, plugin.Step) return plugin } diff --git a/internal/plugins/statistics.go b/internal/plugins/statistics.go index 00bf5c4..62223e4 100644 --- a/internal/plugins/statistics.go +++ b/internal/plugins/statistics.go @@ -20,7 +20,7 @@ func NewStatistics(process *engine.Engine) *Statistics { plugin := &Statistics{} process.On(engine.StartEvent, plugin.Start) process.On(engine.StepEvent, plugin.Step) - process.On(engine.StopEvent, plugin.Step) + process.On(engine.StopEvent, plugin.Stop) return plugin }