mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-05-04 05:29:12 +08:00
🐛 Can't switch workspaces on mobile app Fix https://github.com/siyuan-note/siyuan/issues/10654
This commit is contained in:
parent
71a7a71b3a
commit
b72b832007
@ -490,7 +490,7 @@ func exit(c *gin.Context) {
|
|||||||
execInstallPkg = int(execInstallPkgArg.(float64))
|
execInstallPkg = int(execInstallPkgArg.(float64))
|
||||||
}
|
}
|
||||||
|
|
||||||
exitCode := model.Close(force, execInstallPkg)
|
exitCode := model.Close(force, true, execInstallPkg)
|
||||||
ret.Code = exitCode
|
ret.Code = exitCode
|
||||||
switch exitCode {
|
switch exitCode {
|
||||||
case 0:
|
case 0:
|
||||||
|
@ -312,7 +312,7 @@ func setWorkspaceDir(c *gin.Context) {
|
|||||||
if util.ContainerAndroid == util.Container || util.ContainerIOS == util.Container {
|
if util.ContainerAndroid == util.Container || util.ContainerIOS == util.Container {
|
||||||
util.PushMsg(model.Conf.Language(42), 1000*15)
|
util.PushMsg(model.Conf.Language(42), 1000*15)
|
||||||
time.Sleep(time.Second * 2)
|
time.Sleep(time.Second * 2)
|
||||||
model.Close(false, 1)
|
model.Close(false, false, 1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -527,6 +527,8 @@ var exitLock = sync.Mutex{}
|
|||||||
//
|
//
|
||||||
// force:是否不执行同步过程而直接退出
|
// force:是否不执行同步过程而直接退出
|
||||||
//
|
//
|
||||||
|
// setCurrentWorkspace:是否将当前工作空间放到工作空间列表的最后一个
|
||||||
|
//
|
||||||
// execInstallPkg:是否执行新版本安装包
|
// execInstallPkg:是否执行新版本安装包
|
||||||
//
|
//
|
||||||
// 0:默认按照设置项 System.DownloadInstallPkg 检查并推送提示
|
// 0:默认按照设置项 System.DownloadInstallPkg 检查并推送提示
|
||||||
@ -540,7 +542,7 @@ var exitLock = sync.Mutex{}
|
|||||||
// 2:提示新安装包
|
// 2:提示新安装包
|
||||||
//
|
//
|
||||||
// 当 force 为 true(强制退出)并且 execInstallPkg 为 0(默认检查更新)并且同步失败并且新版本安装版已经准备就绪时,执行新版本安装 https://github.com/siyuan-note/siyuan/issues/10288
|
// 当 force 为 true(强制退出)并且 execInstallPkg 为 0(默认检查更新)并且同步失败并且新版本安装版已经准备就绪时,执行新版本安装 https://github.com/siyuan-note/siyuan/issues/10288
|
||||||
func Close(force bool, execInstallPkg int) (exitCode int) {
|
func Close(force, setCurrentWorkspace bool, execInstallPkg int) (exitCode int) {
|
||||||
exitLock.Lock()
|
exitLock.Lock()
|
||||||
defer exitLock.Unlock()
|
defer exitLock.Unlock()
|
||||||
|
|
||||||
@ -588,15 +590,17 @@ func Close(force bool, execInstallPkg int) (exitCode int) {
|
|||||||
clearCorruptedNotebooks()
|
clearCorruptedNotebooks()
|
||||||
clearPortJSON()
|
clearPortJSON()
|
||||||
|
|
||||||
// 将当前工作空间放到工作空间列表的最后一个
|
if setCurrentWorkspace {
|
||||||
// Open the last workspace by default https://github.com/siyuan-note/siyuan/issues/10570
|
// 将当前工作空间放到工作空间列表的最后一个
|
||||||
workspacePaths, err := util.ReadWorkspacePaths()
|
// Open the last workspace by default https://github.com/siyuan-note/siyuan/issues/10570
|
||||||
if nil != err {
|
workspacePaths, err := util.ReadWorkspacePaths()
|
||||||
logging.LogErrorf("read workspace paths failed: %s", err)
|
if nil != err {
|
||||||
} else {
|
logging.LogErrorf("read workspace paths failed: %s", err)
|
||||||
workspacePaths = gulu.Str.RemoveElem(workspacePaths, util.WorkspaceDir)
|
} else {
|
||||||
workspacePaths = append(workspacePaths, util.WorkspaceDir)
|
workspacePaths = gulu.Str.RemoveElem(workspacePaths, util.WorkspaceDir)
|
||||||
util.WriteWorkspacePaths(workspacePaths)
|
workspacePaths = append(workspacePaths, util.WorkspaceDir)
|
||||||
|
util.WriteWorkspacePaths(workspacePaths)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
util.UnlockWorkspace()
|
util.UnlockWorkspace()
|
||||||
|
@ -34,7 +34,7 @@ func HandleSignal() {
|
|||||||
signal.Notify(c, syscall.SIGINT, syscall.SIGQUIT, syscall.SIGTERM)
|
signal.Notify(c, syscall.SIGINT, syscall.SIGQUIT, syscall.SIGTERM)
|
||||||
s := <-c
|
s := <-c
|
||||||
logging.LogInfof("received os signal [%s], exit kernel process now", s)
|
logging.LogInfof("received os signal [%s], exit kernel process now", s)
|
||||||
Close(false, 1)
|
Close(false, true, 1)
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -78,7 +78,7 @@ func HookDesktopUIProcJob() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
logging.LogWarnf("confirmed no active UI proc, exit kernel process now")
|
logging.LogWarnf("confirmed no active UI proc, exit kernel process now")
|
||||||
Close(false, 1)
|
Close(false, true, 1)
|
||||||
}
|
}
|
||||||
|
|
||||||
var uiProcNames = []string{"siyuan", "electron"}
|
var uiProcNames = []string{"siyuan", "electron"}
|
||||||
|
Loading…
Reference in New Issue
Block a user