AlistGo/alist · warning

canceled

Error message

canceled

What it means

Status maps offlineStatusCanceled to status.Err with the bare text "canceled". This means the task was canceled on the provider side (by a user in the GuangYaPan app, by quota policy, or by an earlier DeleteOfflineTasks call) rather than failing on its own. The wrapper cannot distinguish who canceled it.

Source

Thrown at internal/offline_download/guangyapan/guangyapan.go:121

		return nil, errors.New("GuangYaPan offline download only supports GuangYaPan destination storage")
	}
	tasks, err := g.GetTasks(driver, task.GID)
	if err != nil {
		return nil, err
	}
	status := &tool.Status{
		Status: "the task has been deleted",
	}
	for _, t := range tasks {
		if t.TaskID != task.GID {
			continue
		}
		status.Progress = float64(t.Progress)
		status.TotalBytes = t.TotalSize
		status.Completed = t.Status == offlineStatusCompleted || t.Status == offlineStatusPartiallyCompleted
		status.Status = taskStatusText(t)
		if t.Status == offlineStatusFailed || t.Status == offlineStatusCanceled {
			status.Err = errors.New(status.Status)
		}
		return status, nil
	}
	status.Err = errors.New("the task has been deleted")
	return status, nil
}

func init() {
	tool.Tools.Add(&GuangYaPan{})
}

View on GitHub (pinned to 843d9dc814)

Solutions

  1. If the task was intentionally canceled, delete the local task record so polling stops
  2. If canceled by mistake, re-add the URL via AddURL
  3. Avoid calling Remove and Status concurrently for the same GID
Defensive patterns

Strategy: try-catch

Try / catch

if st.Err != nil && st.Status == "canceled" {
    // distinguish cancel from failure for UX
    markTaskCanceled(task) // do not show as error
}

Prevention

When it happens

Trigger: Polling GuangYaPan.Status when t.Status == offlineStatusCanceled — e.g. someone canceled the task in the provider's own UI, or a Remove/retry flow deleted it while the status poller still tracks it.

Common situations: Task canceled in the GuangYaPan app by another session; a concurrent Remove(task) racing a Status poll; provider auto-cancel on duplicate tasks.

Related errors


AI-assisted analysis of AlistGo/alist@843d9dc814 (2026-08-15). Data as JSON: /api/errors/811d79a34bf73868. Report an issue: GitHub.