Retry release asset uploads in CI
The desktop workflow's rolling job failed on main (run 41514226247) with HTTP 408: Upload body timed out while uploading one installer to the staged draft release, although all three platform builds had succeeded. The same single-attempt upload exists in the latest release job of check.yml.
Each upload is now tried up to three times with a growing pause, and --clobber replaces an asset a cut-off attempt left behind instead of refusing it. The size check after the upload is unchanged, so a truncated or missing asset still fails the job.
Verified: both workflow files parse as YAML, and codex and claude reviewed the loop read-only and found nothing wrong under bash -e -o pipefail, including the EXIT trap that deletes the draft after a third failure. The upload paths only run on main, so the retry itself has not been exercised; whether --clobber sees a half-written asset is unconfirmed until a real timeout hits it.
Summary by cubic
Retries GitHub release asset uploads in the desktop and check workflows so a transient HTTP 408: Upload body timed out no longer fails the job even though all builds succeeded. Each upload is tried up to three times with a growing pause, and --clobber replaces an asset a cut-off attempt left behind. The size check that follows still fails the job on a truncated or missing asset.