From 665907592e748418c9085ffc1c03bd24b9aef959 Mon Sep 17 00:00:00 2001 From: "CanbiZ (MickLesk)" <47820557+MickLesk@users.noreply.github.com> Date: Wed, 21 Jan 2026 15:59:06 +0100 Subject: [PATCH] fix(tools): add codeload.github.com fallback for complex tag names - Primary URL github.com/archive/refs/tags/ tried first - Fallback to codeload.github.com for tags with special chars (@scope/pkg@ver) - Only encode @ in fallback URL, keep / unencoded for codeload compatibility --- misc/tools.func | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/misc/tools.func b/misc/tools.func index 2b3e6fc17..15842c5fb 100644 --- a/misc/tools.func +++ b/misc/tools.func @@ -1778,8 +1778,9 @@ function fetch_and_deploy_gh_release() { # Try primary URL first, fallback to codeload.github.com for complex tag names if ! curl $download_timeout -fsSL -o "$tmpdir/$filename" "$direct_tarball_url" 2>/dev/null; then - # Fallback: codeload.github.com handles special chars like @scope/package@version better - local codeload_url="https://codeload.github.com/$repo/tar.gz/refs/tags/$encoded_tag_name" + # Fallback: codeload.github.com - only encode @ not / in tag names + local codeload_encoded="${tag_name//@/%40}" + local codeload_url="https://codeload.github.com/$repo/tar.gz/refs/tags/$codeload_encoded" curl $download_timeout -fsSL -o "$tmpdir/$filename" "$codeload_url" || { msg_error "Download failed: $direct_tarball_url (and fallback $codeload_url)" rm -rf "$tmpdir"