summaryrefslogtreecommitdiff
path: root/internal/api/server.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/api/server.go')
-rw-r--r--internal/api/server.go9
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,