From 1888b70cf4981cabaef0b6e33e0ae9982d3a788e Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Mon, 22 Jun 2026 09:21:06 +0300 Subject: fix task export timeout for lq0 --- internal/ui/table.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'internal/ui/table.go') diff --git a/internal/ui/table.go b/internal/ui/table.go index 14b5c52..9aeeda1 100644 --- a/internal/ui/table.go +++ b/internal/ui/table.go @@ -1,6 +1,7 @@ package ui import ( + "context" "fmt" "os" "os/exec" @@ -24,6 +25,8 @@ import ( var priorityOptions = []string{"H", "M", "L", ""} +const taskExportTimeout = 30 * time.Second + var ( urlRegex = regexp.MustCompile(`https?://\S+`) searchRegexCache = make(map[string]*regexp.Regexp, 16) @@ -259,6 +262,10 @@ type reloadData struct { ultraFilterIDs []int } +func taskExportContext() (context.Context, context.CancelFunc) { + return context.WithTimeout(context.Background(), taskExportTimeout) +} + // blinkInterval controls how quickly the row flashes when a task changes. // A shorter interval results in a faster blink. const blinkInterval = 150 * time.Millisecond @@ -484,7 +491,10 @@ func (m *Model) fetchTasks() (reloadData, error) { // Always show only pending tasks by default. filters := append([]string(nil), m.filters...) filters = append(filters, "status:pending") - tasks, err := task.Export(filters...) + ctx, cancel := taskExportContext() + defer cancel() + + tasks, err := task.Export(ctx, filters...) if err != nil { return reloadData{}, err } -- cgit v1.2.3