From 1c475ee856915183b94f5f63c3bf990d2eb4ebb3 Mon Sep 17 00:00:00 2001 From: Bulk Renamer Date: Fri, 3 Jul 2026 17:36:58 -0500 Subject: [PATCH] Release v1.0.7: unique AppImage sizes for Gear Lever updates. Forgejo compares release asset size only; v1.0.5 and v1.0.6 were identical at 62933496 bytes. Co-authored-by: Cursor --- VERSION | 2 +- build_appimage.sh | 10 ++++++++++ docs/GEARLEVER.md | 8 ++++++-- packaging/release-stamp-1.0.7.txt | 3 +++ 4 files changed, 20 insertions(+), 3 deletions(-) create mode 100644 packaging/release-stamp-1.0.7.txt diff --git a/VERSION b/VERSION index af0b7dd..238d6e8 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.0.6 +1.0.7 diff --git a/build_appimage.sh b/build_appimage.sh index 8dca188..c4dc3b4 100755 --- a/build_appimage.sh +++ b/build_appimage.sh @@ -37,6 +37,16 @@ echo "$VERSION" > "$APPDIR/usr/share/hsrename/VERSION" if [[ -f "packaging/release-stamp-${VERSION}.txt" ]]; then cp "packaging/release-stamp-${VERSION}.txt" "$APPDIR/usr/share/hsrename/release-stamp.txt" fi +# Gear Lever (Forgejo) treats same-size AppImages as "no update". Version-scoped +# padding keeps each release a unique download size without affecting the app. +VER_MAJOR="${VERSION%%.*}" +VER_REST="${VERSION#*.}" +VER_MINOR="${VER_REST%%.*}" +VER_PATCH="${VER_REST#*.}" +VER_PATCH="${VER_PATCH%%.*}" +PAD_KB=$((300 + 10#${VER_MAJOR:-0} * 100 + 10#${VER_MINOR:-0} * 20 + 10#${VER_PATCH:-0} * 10)) +dd if=/dev/urandom of="$APPDIR/usr/share/hsrename/.release-pad" bs=1024 count="$PAD_KB" status=none +echo "Release padding: ${PAD_KB} KiB (Gear Lever update detection)" cat > "$APPDIR/AppRun" << EOF #!/bin/sh diff --git a/docs/GEARLEVER.md b/docs/GEARLEVER.md index d5c1d95..553e032 100644 --- a/docs/GEARLEVER.md +++ b/docs/GEARLEVER.md @@ -28,7 +28,11 @@ If the fields validate (no error), Gear Lever queries: `https://git.hisora.dev/api/v1/repos/Dawnsorrow/HS-Rename/releases/latest` -and compares the release asset size with your local AppImage. +and compares the release asset **file size** with your local AppImage. + +Gear Lever does **not** compare version numbers or file contents. If two releases compress to the same byte size (common with AppImages), it will say “No updates available” even when the app changed. HSRename releases from v1.0.7 onward include a small version-specific padding file so each release has a unique size. + +To see which version you have without updating: open the AppImage mount folder `usr/share/hsrename/VERSION`, or check **X-AppImage-Version** in Gear Lever metadata after **Reload metadata**. ## Direct download URL pattern @@ -60,7 +64,7 @@ Gear Lever 4 may use different CLI options than older docs. Prefer the GUI Forge | Symptom | Likely cause | |---------|----------------| -| No update offered | Source is still **Default**, or local file is already the latest release (same size as `releases/latest`). | +| No update offered | Source is still **Default**; local file size matches `releases/latest` (Gear Lever ignores version/content); or wrong Forgejo repo URL. | | URL looks truncated in Website | Website is cosmetic only; configure **Forgejo** fields instead. | | Update never finds newer builds | Wrong repo URL, wrong filename, or release has no `HSRename.AppImage` asset attached. | diff --git a/packaging/release-stamp-1.0.7.txt b/packaging/release-stamp-1.0.7.txt new file mode 100644 index 0000000..b53b707 --- /dev/null +++ b/packaging/release-stamp-1.0.7.txt @@ -0,0 +1,3 @@ +HSRename 1.0.7 +- Same features as 1.0.6; unique AppImage size so Gear Lever detects updates +- Gear Lever compares file size only; v1.0.5 and v1.0.6 were identical bytes