diff options
Diffstat (limited to 'internal/api/server.go')
| -rw-r--r-- | internal/api/server.go | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/internal/api/server.go b/internal/api/server.go index 163f2b8..8290738 100644 --- a/internal/api/server.go +++ b/internal/api/server.go @@ -128,7 +128,16 @@ func (s *Server) forwardResults() { } // processResult broadcasts a task completion event via WebSocket and calls the notifier if set. +// It also parses git diff stats from the execution stdout log and persists them. func (s *Server) processResult(result *executor.Result) { + if result.Execution.StdoutPath != "" { + if stats := parseChangestatFromFile(result.Execution.StdoutPath); stats != nil { + if err := s.store.UpdateExecutionChangestats(result.Execution.ID, stats); err != nil { + s.logger.Error("failed to store changestats", "execID", result.Execution.ID, "error", err) + } + } + } + event := map[string]interface{}{ "type": "task_completed", "task_id": result.TaskID, |
