mirror of
https://github.com/siyuan-note/siyuan.git
synced 2026-02-11 01:34:20 +01:00
🎨 Improve checking for updates on exit https://github.com/siyuan-note/siyuan/issues/13608
This commit is contained in:
parent
746226054a
commit
e24a462003
5 changed files with 36 additions and 15 deletions
|
|
@ -629,19 +629,17 @@ func Close(force, setCurrentWorkspace bool, execInstallPkg int) (exitCode int) {
|
|||
|
||||
util.IsExiting.Store(true)
|
||||
waitSecondForExecInstallPkg := false
|
||||
if !skipNewVerInstallPkg() {
|
||||
if newVerInstallPkgPath := getNewVerInstallPkgPath(); "" != newVerInstallPkgPath {
|
||||
if 2 == execInstallPkg || (force && 0 == execInstallPkg) { // 执行新版本安装
|
||||
waitSecondForExecInstallPkg = true
|
||||
if gulu.OS.IsWindows() {
|
||||
util.PushMsg(Conf.Language(130), 1000*30)
|
||||
}
|
||||
go execNewVerInstallPkg(newVerInstallPkgPath)
|
||||
} else if 0 == execInstallPkg { // 新版本安装包已经准备就绪
|
||||
exitCode = 2
|
||||
logging.LogInfof("the new version install pkg is ready [%s], waiting for the user's next instruction", newVerInstallPkgPath)
|
||||
return
|
||||
if !skipNewVerInstallPkg() && "" != newVerInstallPkgPath {
|
||||
if 2 == execInstallPkg || (force && 0 == execInstallPkg) { // 执行新版本安装
|
||||
waitSecondForExecInstallPkg = true
|
||||
if gulu.OS.IsWindows() {
|
||||
util.PushMsg(Conf.Language(130), 1000*30)
|
||||
}
|
||||
go execNewVerInstallPkg(newVerInstallPkgPath)
|
||||
} else if 0 == execInstallPkg { // 新版本安装包已经准备就绪
|
||||
exitCode = 2
|
||||
logging.LogInfof("the new version install pkg is ready [%s], waiting for the user's next instruction", newVerInstallPkgPath)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -54,23 +54,28 @@ func execNewVerInstallPkg(newVerInstallPkgPath string) {
|
|||
}
|
||||
}
|
||||
|
||||
var newVerInstallPkgPath string
|
||||
|
||||
func getNewVerInstallPkgPath() string {
|
||||
if skipNewVerInstallPkg() {
|
||||
newVerInstallPkgPath = ""
|
||||
return ""
|
||||
}
|
||||
|
||||
downloadPkgURLs, checksum, err := getUpdatePkg()
|
||||
if err != nil || 1 > len(downloadPkgURLs) || "" == checksum {
|
||||
newVerInstallPkgPath = ""
|
||||
return ""
|
||||
}
|
||||
|
||||
pkg := path.Base(downloadPkgURLs[0])
|
||||
ret := filepath.Join(util.TempDir, "install", pkg)
|
||||
localChecksum, _ := sha256Hash(ret)
|
||||
newVerInstallPkgPath = filepath.Join(util.TempDir, "install", pkg)
|
||||
localChecksum, _ := sha256Hash(newVerInstallPkgPath)
|
||||
if checksum != localChecksum {
|
||||
newVerInstallPkgPath = ""
|
||||
return ""
|
||||
}
|
||||
return ret
|
||||
return newVerInstallPkgPath
|
||||
}
|
||||
|
||||
var checkDownloadInstallPkgLock = sync.Mutex{}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue