From 189802b2f0dd36913af034d5ade410febe8c8c15 Mon Sep 17 00:00:00 2001 From: AI Assistant Date: Fri, 13 Mar 2026 10:28:04 +0900 Subject: [PATCH] Fix SearXNG fallback and crop sliders --- backend/services/cse.go | 17 ++++++++++++++++- frontend/index.html | 12 +++++++++--- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/backend/services/cse.go b/backend/services/cse.go index 50dcd25..59b9a47 100644 --- a/backend/services/cse.go +++ b/backend/services/cse.go @@ -78,6 +78,7 @@ func (s *SearchService) SearchMedia(queries []string) ([]SearchResult, error) { seen := map[string]bool{} results := make([]SearchResult, 0, 60) + var lastErr error for _, query := range queries { query = strings.TrimSpace(query) if query == "" { @@ -91,6 +92,17 @@ func (s *SearchService) SearchMedia(queries []string) ([]SearchResult, error) { items, err := s.search(searchQuery, source.categories, source.engine, source.name) if err != nil { + lastErr = err + items, err = s.search(searchQuery, source.categories, "", source.name) + } + if err != nil { + lastErr = err + if source.categories != "general" { + items, err = s.search(searchQuery, "general", "", source.name) + } + } + if err != nil { + lastErr = err continue } for _, item := range items { @@ -109,6 +121,9 @@ func (s *SearchService) SearchMedia(queries []string) ([]SearchResult, error) { sort.SliceStable(results, func(i, j int) bool { return sourceWeight(results[i].Source) > sourceWeight(results[j].Source) }) + if len(results) == 0 && lastErr != nil { + return nil, lastErr + } return results, nil } @@ -133,7 +148,7 @@ func (s *SearchService) search(query, categories, engine, source string) ([]Sear defer resp.Body.Close() if resp.StatusCode >= 300 { - return nil, fmt.Errorf("searxng returned status %d", resp.StatusCode) + return nil, fmt.Errorf("searxng returned status %d for query %q", resp.StatusCode, query) } var payload struct { diff --git a/frontend/index.html b/frontend/index.html index 63bf2d5..43fd660 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -95,9 +95,15 @@ Crop Range 00:00:00 - 00:00:00 -
- - +
+ +