fix(workbench-runtime): avoid full message scan for sessions (#1946)

This commit is contained in:
Lyon
2026-06-23 03:57:42 +08:00
committed by GitHub
parent 2d3edda3fb
commit cf717a5d49
+3 -3
View File
@@ -1247,8 +1247,8 @@ func (s *Server) querySummaryFacts(ctx context.Context, sessions []map[string]an
if len(sessionIDs) > 0 { if len(sessionIDs) > 0 {
resultCount++ resultCount++
go func() { go func() {
messageFacts, err := s.queryFacts(ctx, factQuery{SessionIDs: sessionIDs, Families: []string{"messages"}, MessagesOrder: "updated_asc"}) messageSummaries, err := s.queryMessageSummaries(ctx, sessionIDs)
results <- summaryFactsResult{kind: "messageFacts", facts: messageFacts, err: err} results <- summaryFactsResult{kind: "messageSummaries", facts: map[string][]any{"messageSummaries": messageSummaries}, err: err}
}() }()
} }
if len(traceIDs) > 0 { if len(traceIDs) > 0 {
@@ -1264,7 +1264,7 @@ func (s *Server) querySummaryFacts(ctx context.Context, sessions []map[string]an
return nil, result.err return nil, result.err
} }
switch result.kind { switch result.kind {
case "messageFacts": case "messageSummaries":
facts = mergeFacts(facts, result.facts) facts = mergeFacts(facts, result.facts)
case "traceFacts": case "traceFacts":
facts = mergeFacts(facts, result.facts) facts = mergeFacts(facts, result.facts)