From 6a0b59e49994fde067d8f36ca725d52c827fe287 Mon Sep 17 00:00:00 2001 From: Lyon <88232613+pikasTech@users.noreply.github.com> Date: Tue, 23 Jun 2026 01:23:09 +0800 Subject: [PATCH] fix(workbench): reuse message facts for session list summary (#1933) --- internal/workbenchruntime/service.go | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/internal/workbenchruntime/service.go b/internal/workbenchruntime/service.go index ca1ef8d3..06c2542e 100644 --- a/internal/workbenchruntime/service.go +++ b/internal/workbenchruntime/service.go @@ -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) }