AlistGo/alist · warning

the task has been deleted

Error message

the task has been deleted

What it means

Thunder.Status() returns a status pre-seeded with 'the task has been deleted' and s.Err set; it is only replaced when task.GID is found among the remote Thunder tasks. A fall-through return therefore marks the task as terminally failed because it no longer exists on Thunder's side.

Source

Thrown at internal/offline_download/thunder/thunder.go:137

		Status:    "the task has been deleted",
		Err:       nil,
	}
	for _, t := range tasks {
		if t.ID == task.GID {
			s.Progress = float64(t.Progress)
			s.Status = t.Message
			s.Completed = (t.Phase == "PHASE_TYPE_COMPLETE")
			s.TotalBytes, err = strconv.ParseInt(t.FileSize, 10, 64)
			if err != nil {
				s.TotalBytes = 0
			}
			if t.Phase == "PHASE_TYPE_ERROR" {
				s.Err = errors.New(t.Message)
			}
			return s, nil
		}
	}
	s.Err = fmt.Errorf("the task has been deleted")
	return s, nil
}

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

View on GitHub (pinned to 843d9dc814)

Solutions

  1. Treat the terminal status as final and remove the local task record
  2. Re-add the URL if the content is still required
  3. Clear stale task records after re-authenticating the Thunder storage

Example fix

s, err := t.Status(task)
if err == nil && s.Err != nil && strings.Contains(s.Err.Error(), "has been deleted") {
    _ = deleteLocalTask(task.ID) // remote task gone, stop polling
}
Defensive patterns

Strategy: fallback

Try / catch

s, err := t.Status(task)
if err != nil {
    return err
}
if s.Err != nil && strings.Contains(s.Err.Error(), "has been deleted") {
    markCompletedAndCleanup(task)
}

Prevention

When it happens

Trigger: The Thunder offline task was deleted remotely (app/web cleanup), expired, or belongs to a re-linked account whose task IDs no longer match task.GID.

Common situations: Users deleting downloads from the Xunlei app; account re-login invalidating old task IDs; the platform pruning completed tasks after retention.

Related errors


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