Fixup version handling

This commit is contained in:
Justin Hawkins 2025-05-03 12:14:59 +09:30
parent ade0b748e9
commit a7c37ad7c5
2 changed files with 20 additions and 6 deletions

View File

@ -3,6 +3,7 @@ package version
import (
"context"
"fmt"
"log"
"strings"
"sync"
@ -10,7 +11,7 @@ import (
"golang.org/x/mod/semver"
)
var version string
var version string // populated by goreleaser, without leading 'v'
var commit string
var date string
@ -18,7 +19,7 @@ var VersionInfo Info
func init() {
VersionInfo.Remote.Valid = false
VersionInfo.Local.Version = version
VersionInfo.Local.Version = "v" + version
}
type Info struct {
@ -39,12 +40,25 @@ func (vi *Info) UpgradeAvailable() bool {
if !vi.Remote.Valid {
return false
}
if semver.Compare(vi.Local.Version, vi.Remote.Tag) < 0 {
return true
log.Printf("checking if upgrade available - local %s remote %s", vi.Local.Version, vi.Remote.Tag)
localValid := semver.IsValid(vi.Local.Version)
remoteValid := semver.IsValid(vi.Remote.Tag)
if !localValid {
log.Printf("version %s invalid", vi.Local.Version)
}
if !remoteValid {
log.Printf("version %s invalid", vi.Remote.Tag)
}
if !localValid || !remoteValid {
return false
}
return semver.Compare(vi.Local.Version, vi.Remote.Tag) < 0
}
func (vi *Info) UpdateVersionInfo() {
client := github.NewClient(nil)

View File

@ -26,7 +26,7 @@
<a href="https://github.com/tardisx/linkwallet/releases/tag/{{ version.Remote.Tag }}">
{{ version.Remote.Tag }}
</a>
(you have {{ version.Local.Tag }}).
(you have {{ version.Local.Version }}).
</p>
{{ markdown version.UpgradeReleaseNotes }}