CLI/TUI for drafting, repeating, and publishing daily standup updates as GitHub issues
github go cli golang management project tui daily
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix: force fresh version check on upgrade command

- Add force parameter to CheckUpdate() to bypass cache
- Regular commands use cached version (respects 24h interval)
- Upgrade command forces fresh check from GitHub API
- Prevents stale cache from hiding new updates during upgrade

+15 -8
+1 -1
cmd/root.go
··· 35 35 } 36 36 37 37 func showUpdateNotice() { 38 - release, hasUpdate := version.CheckUpdate() 38 + release, hasUpdate := version.CheckUpdate(false) 39 39 if !hasUpdate { 40 40 return 41 41 }
+2 -1
cmd/upgrade.go
··· 32 32 33 33 fmt.Println("Checking for updates...") 34 34 35 - release, hasUpdate := version.CheckUpdate() 35 + // Force a fresh check, bypassing the cache 36 + release, hasUpdate := version.CheckUpdate(true) 36 37 if !hasUpdate { 37 38 green := lipgloss.NewStyle().Foreground(lipgloss.Color("#22C55E")) 38 39 fmt.Println(green.Render("You're already on the latest version!"))
+12 -6
internal/version/check.go
··· 44 44 45 45 var currentVersion = "dev" 46 46 47 - func CheckUpdate() (*ReleaseInfo, bool) { 47 + // CheckUpdate checks for available updates. If force is true, it bypasses the cache 48 + // and always fetches the latest release from GitHub. 49 + func CheckUpdate(force bool) (*ReleaseInfo, bool) { 48 50 if currentVersion == "dev" || strings.HasSuffix(currentVersion, "-snapshot") { 49 51 return nil, false 50 52 } 51 53 52 - state, err := loadState() 53 - if err == nil && time.Since(state.LastCheck) < checkInterval { 54 - if state.LatestVersion != "" && isNewer(state.LatestVersion, currentVersion) { 55 - return &ReleaseInfo{TagName: state.LatestVersion}, true 54 + // If not forcing, try to use cached result first 55 + if !force { 56 + state, err := loadState() 57 + if err == nil && time.Since(state.LastCheck) < checkInterval { 58 + if state.LatestVersion != "" && isNewer(state.LatestVersion, currentVersion) { 59 + return &ReleaseInfo{TagName: state.LatestVersion}, true 60 + } 61 + return nil, false 56 62 } 57 - return nil, false 58 63 } 59 64 65 + // Fetch fresh release info 60 66 release, err := fetchLatestRelease() 61 67 if err != nil { 62 68 return nil, false