fix: 服务 changed 状态以本地/云端版本比对为准,不依赖 manifest 的 changed 字段
manifest.changed 是 Jenkins 构建时标记的,表示"本次 release 有改动", 不能反映私有部署是否需要更新。改为 current != latest 比对, 避免 current==latest 时误报"有更新"。 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
这个提交包含在:
父节点
15a1d79d39
当前提交
9580f77b68
@ -310,8 +310,10 @@ public class SystemUpdateService {
|
||||
Object remoteSvc = remoteServices.get(manifestKey);
|
||||
if (remoteSvc instanceof Map) {
|
||||
Map<String, Object> rMap = (Map<String, Object>) remoteSvc;
|
||||
svcInfo.put("latest", rMap.getOrDefault("version", ""));
|
||||
svcInfo.put("changed", rMap.getOrDefault("changed", false));
|
||||
String latestVer = (String) rMap.getOrDefault("version", "");
|
||||
String currentVer = localVersions.get(svc);
|
||||
svcInfo.put("latest", latestVer);
|
||||
svcInfo.put("changed", !latestVer.isEmpty() && !"unknown".equals(latestVer) && !currentVer.equals(latestVer));
|
||||
} else {
|
||||
svcInfo.put("latest", "");
|
||||
svcInfo.put("changed", false);
|
||||
|
||||
正在加载...
在新工单中引用
屏蔽一个用户