fix: update checker — proper badge logic for missing hash baseline
When no .update_hash exists, compare VERSION strings to distinguish fresh installs (same version = save baseline, no badge) from old installs pre-hash-support (different version = show badge).
This commit is contained in:
18
conduit.sh
18
conduit.sh
@@ -8756,10 +8756,24 @@ SVCEOF
|
|||||||
local _stored_hash=""
|
local _stored_hash=""
|
||||||
[ -f "$INSTALL_DIR/.update_hash" ] && _stored_hash=$(<"$INSTALL_DIR/.update_hash")
|
[ -f "$INSTALL_DIR/.update_hash" ] && _stored_hash=$(<"$INSTALL_DIR/.update_hash")
|
||||||
if [ -z "$_stored_hash" ]; then
|
if [ -z "$_stored_hash" ]; then
|
||||||
# No stored hash (curl|bash install) — save baseline, no badge
|
# No stored hash — check version to distinguish fresh vs old install
|
||||||
|
local _rv=$(grep -m1 '^VERSION=' "$_utmp" | cut -d'"' -f2)
|
||||||
|
if [ -n "$_rv" ] && [ "$_rv" = "$VERSION" ]; then
|
||||||
|
# Same version = likely fresh install — save baseline, no badge
|
||||||
echo "$_remote_hash" > "$INSTALL_DIR/.update_hash" 2>/dev/null || true
|
echo "$_remote_hash" > "$INSTALL_DIR/.update_hash" 2>/dev/null || true
|
||||||
rm -f /tmp/.conduit_update_available
|
rm -f /tmp/.conduit_update_available
|
||||||
elif [ "$_remote_hash" != "$_stored_hash" ]; then
|
else
|
||||||
|
# Different version = old install without hash — show badge
|
||||||
|
if [ -n "$_rv" ]; then
|
||||||
|
echo "v${_rv}" > /tmp/.conduit_update_available
|
||||||
|
else
|
||||||
|
echo "new" > /tmp/.conduit_update_available
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
rm -f "$_utmp"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
if [ "$_remote_hash" != "$_stored_hash" ]; then
|
||||||
local _rv=$(grep -m1 '^VERSION=' "$_utmp" | cut -d'"' -f2)
|
local _rv=$(grep -m1 '^VERSION=' "$_utmp" | cut -d'"' -f2)
|
||||||
if [ -n "$_rv" ] && [ "$_rv" != "$VERSION" ]; then
|
if [ -n "$_rv" ] && [ "$_rv" != "$VERSION" ]; then
|
||||||
echo "v${_rv}" > /tmp/.conduit_update_available
|
echo "v${_rv}" > /tmp/.conduit_update_available
|
||||||
|
|||||||
Reference in New Issue
Block a user