fix(workbench): reuse message facts for session list summary (#1933)

This commit is contained in:
Lyon
2026-06-23 01:23:09 +08:00
committed by GitHub
parent d4275645e9
commit 6a0b59e499
+7 -8
View File
@@ -1238,18 +1238,17 @@ func (s *Server) querySummaryFacts(ctx context.Context, sessions []map[string]an
traceIDs := uniqueStrings(mapSessions(sessions, lastTraceID))
facts := emptyFacts()
type summaryFactsResult struct {
kind string
messageSummaries []any
facts map[string][]any
err error
kind string
facts map[string][]any
err error
}
resultCount := 0
results := make(chan summaryFactsResult, 2)
if len(sessionIDs) > 0 {
resultCount++
go func() {
messageSummaries, err := s.queryMessageSummaries(ctx, sessionIDs)
results <- summaryFactsResult{kind: "messageSummaries", messageSummaries: messageSummaries, err: err}
messageFacts, err := s.queryFacts(ctx, factQuery{SessionIDs: sessionIDs, Families: []string{"messages"}, MessagesOrder: "updated_asc"})
results <- summaryFactsResult{kind: "messageFacts", facts: messageFacts, err: err}
}()
}
if len(traceIDs) > 0 {
@@ -1265,8 +1264,8 @@ func (s *Server) querySummaryFacts(ctx context.Context, sessions []map[string]an
return nil, result.err
}
switch result.kind {
case "messageSummaries":
facts["messageSummaries"] = result.messageSummaries
case "messageFacts":
facts = mergeFacts(facts, result.facts)
case "traceFacts":
facts = mergeFacts(facts, result.facts)
}