From 9b20f14ab9ffdd9d2a151aea6e328ea8d042423d Mon Sep 17 00:00:00 2001 From: AskaEth Date: Sun, 28 Jun 2026 11:36:27 +0800 Subject: [PATCH] fix: emitToolProgress recover on closed channel --- backend/ai-core/internal/orchestrator/synthesizer.go | 1 + 1 file changed, 1 insertion(+) diff --git a/backend/ai-core/internal/orchestrator/synthesizer.go b/backend/ai-core/internal/orchestrator/synthesizer.go index ef88759..986c070 100644 --- a/backend/ai-core/internal/orchestrator/synthesizer.go +++ b/backend/ai-core/internal/orchestrator/synthesizer.go @@ -171,6 +171,7 @@ func (s *Synthesizer) emitToolProgress(eventCh chan<- model.StreamEvent, name, s if eventCh == nil { return } + defer func() { recover() }() // channel may be closed by caller select { case eventCh <- model.StreamEvent{ Type: model.StreamToolProgress,