Improve runtime error messages
build-push / docker (push) Has been cancelled

This commit is contained in:
AI Assistant
2026-03-13 10:44:00 +09:00
parent 189802b2f0
commit d0fca7374d
3 changed files with 30 additions and 15 deletions
+19 -5
View File
@@ -196,13 +196,13 @@ func (a *App) previewDownload(c *gin.Context) {
cmd := exec.Command("python3", a.WorkerScript, "--mode", "probe", "--url", req.URL)
output, err := cmd.CombinedOutput()
if err != nil {
c.JSON(http.StatusBadGateway, gin.H{"error": strings.TrimSpace(string(output))})
c.JSON(http.StatusBadGateway, gin.H{"error": summarizeOutput("download preview probe failed", output, err)})
return
}
var preview PreviewResponse
if err := json.Unmarshal(output, &preview); err != nil {
c.JSON(http.StatusBadGateway, gin.H{"error": "invalid probe response"})
c.JSON(http.StatusBadGateway, gin.H{"error": summarizeOutput("download preview returned invalid JSON", output, err)})
return
}
c.JSON(http.StatusOK, preview)
@@ -272,7 +272,7 @@ func (a *App) searchMedia(c *gin.Context) {
if len(results) == 0 {
warning := "SearXNG returned no renderable results."
if expandErr != nil {
warning += " Query expansion fallback was used."
warning += " Query expansion failed: " + expandErr.Error()
}
c.JSON(http.StatusOK, gin.H{"results": []services.AIRecommendation{}, "warning": warning})
return
@@ -295,7 +295,7 @@ func (a *App) searchMedia(c *gin.Context) {
}
warning := err.Error()
if expandErr != nil {
warning = warning + " Query expansion fallback was used."
warning = warning + " Query expansion failed: " + expandErr.Error()
}
c.JSON(http.StatusOK, gin.H{"results": fallback, "warning": warning, "queries": queryVariants})
return
@@ -303,7 +303,7 @@ func (a *App) searchMedia(c *gin.Context) {
response := gin.H{"results": mergeRecommendations(recommended, scored, 20), "queries": queryVariants}
if expandErr != nil {
response["warning"] = "Gemini query expansion failed, using the original query only."
response["warning"] = "Gemini query expansion failed: " + expandErr.Error() + ". Using the original query only."
}
c.JSON(http.StatusOK, response)
}
@@ -423,3 +423,17 @@ func EnsurePaths(downloadsDir, workerScript string) error {
}
return nil
}
func summarizeOutput(prefix string, output []byte, err error) string {
trimmed := strings.TrimSpace(string(output))
if trimmed == "" && err != nil {
return prefix + ": " + err.Error()
}
if trimmed == "" {
return prefix
}
if len(trimmed) > 1200 {
trimmed = trimmed[:1200] + "..."
}
return prefix + ": " + trimmed
}