🐛 Multiple workspace access authentication error https://github.com/siyuan-note/siyuan/issues/16786

Signed-off-by: Daniel <845765@qq.com>
This commit is contained in:
Daniel 2026-01-06 17:37:51 +08:00
parent 0f8bfe0132
commit 549e1faa09
No known key found for this signature in database
GPG key ID: 86211BA83DF03017

View file

@ -587,8 +587,13 @@ func InitConf() {
Conf.DataIndexState = 0
if "" == Conf.CookieKey {
Conf.CookieKey = gulu.Rand.String(16)
if cookieKey := readCookieKey(); "" != cookieKey {
Conf.CookieKey = cookieKey
} else {
if "" == Conf.CookieKey {
Conf.CookieKey = gulu.Rand.String(16)
}
writeCookieKey(Conf.CookieKey)
}
Conf.Save()
@ -600,6 +605,33 @@ func InitConf() {
go util.InitTesseract()
}
func readCookieKey() (cookieKey string) {
cookieKeyPath := filepath.Join(util.HomeDir, ".config", "siyuan", "cookie.key")
if !gulu.File.IsExist(cookieKeyPath) {
return
}
data, err := os.ReadFile(cookieKeyPath)
if err != nil {
logging.LogErrorf("read cookie key file [%s] failed: %s", cookieKeyPath, err)
return
}
cookieKey = string(bytes.TrimSpace(data))
return
}
func writeCookieKey(cookieKey string) {
cookieKeyPath := filepath.Join(util.HomeDir, ".config", "siyuan", "cookie.key")
if gulu.File.IsExist(cookieKeyPath) {
return
}
if err := os.WriteFile(cookieKeyPath, []byte(cookieKey), 0644); err != nil {
logging.LogErrorf("save cookie key file [%s] failed: %s", cookieKeyPath, err)
}
}
func initLang() {
p := filepath.Join(util.WorkingDir, "appearance", "langs")
dir, err := os.Open(p)