From 5df7309979a406acd7aeae53be66dfc8a0d9532b Mon Sep 17 00:00:00 2001 From: erio Date: Sun, 12 Apr 2026 18:51:34 +0800 Subject: [PATCH] fix(websearch): add 15s timeout for admin test search --- backend/internal/service/websearch_config.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/backend/internal/service/websearch_config.go b/backend/internal/service/websearch_config.go index 99e40275..5658cec3 100644 --- a/backend/internal/service/websearch_config.go +++ b/backend/internal/service/websearch_config.go @@ -254,12 +254,16 @@ type WebSearchTestResult struct { // TestWebSearch executes a test search using the currently configured Manager. // Uses Manager.TestSearch which bypasses quota tracking. +const testSearchTimeout = 15 * time.Second + func TestWebSearch(ctx context.Context, query string) (*WebSearchTestResult, error) { mgr := getWebSearchManager() if mgr == nil { return nil, fmt.Errorf("web search: manager not initialized, save config first") } - resp, providerName, err := mgr.TestSearch(ctx, websearch.SearchRequest{ + testCtx, cancel := context.WithTimeout(ctx, testSearchTimeout) + defer cancel() + resp, providerName, err := mgr.TestSearch(testCtx, websearch.SearchRequest{ Query: query, MaxResults: webSearchDefaultMaxResults, })