From 95b0758a884ab6f40c9c8bc7c99f34da2381bd9d Mon Sep 17 00:00:00 2001 From: Talmaj Marinc Date: Tue, 30 Jun 2026 10:12:06 +0200 Subject: [PATCH] Clear error when the job leaves a failure state. --- app/model_downloader/engine/job.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/model_downloader/engine/job.py b/app/model_downloader/engine/job.py index 5195423c7..ef1d5552f 100644 --- a/app/model_downloader/engine/job.py +++ b/app/model_downloader/engine/job.py @@ -461,12 +461,12 @@ class DownloadJob: ) def _set_status(self, status: str, error: Optional[str] = None) -> None: + # ``error`` is authoritative: passing None clears any prior failure + # text so transitions out of a failure state (retry/success) don't + # leave stale messages on RuntimeState or in the persisted row. self.state.status = status - if error is not None: - self.state.error = error - fields = {"status": status, "bytes_done": self.state.bytes_done} - if error is not None: - fields["error"] = error + self.state.error = error + fields = {"status": status, "bytes_done": self.state.bytes_done, "error": error} if status == DownloadStatus.QUEUED: fields["attempts"] = self.spec.attempts + 1 self.spec.attempts += 1