feat: 增强更新功能,支持开发版本的自我升级检查;优化仪表板和应用日志页面的用户界面

This commit is contained in:
ryan
2026-03-11 22:19:27 +08:00
parent 6140ed1718
commit c240838692
7 changed files with 359 additions and 249 deletions
+3 -2
View File
@@ -124,8 +124,9 @@ func fetchLatestRelease(ctx context.Context) (*githubReleaseResponse, error) {
func buildLatestServerReleaseView(release *githubReleaseResponse) *LatestServerRelease {
currentVersion := strings.TrimSpace(common.Version)
isDevBuild := currentVersion == "" || strings.EqualFold(currentVersion, "dev")
hasUpdate := false
if release != nil {
if release != nil && !isDevBuild {
hasUpdate = isVersionNewer(currentVersion, release.TagName)
}
@@ -136,7 +137,7 @@ func buildLatestServerReleaseView(release *githubReleaseResponse) *LatestServerR
view := &LatestServerRelease{
CurrentVersion: currentVersion,
HasUpdate: hasUpdate,
UpgradeSupported: runtime.GOOS != "windows",
UpgradeSupported: !isDevBuild && runtime.GOOS != "windows",
InProgress: inProgress,
}
if release != nil {
+22
View File
@@ -63,3 +63,25 @@ func TestBuildLatestServerReleaseView(t *testing.T) {
t.Fatalf("unexpected tag name: %s", view.TagName)
}
}
func TestBuildLatestServerReleaseViewDevBuild(t *testing.T) {
originalVersion := common.Version
common.Version = "dev"
t.Cleanup(func() {
common.Version = originalVersion
serverUpgradeState.Lock()
serverUpgradeState.inProgress = false
serverUpgradeState.Unlock()
})
view := buildLatestServerReleaseView(&githubReleaseResponse{
TagName: "v0.5.0",
})
if view.HasUpdate {
t.Fatal("expected dev build not to report update availability")
}
if view.UpgradeSupported {
t.Fatal("expected dev build not to support self-upgrade")
}
}