mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-29 21:08:49 +01:00
Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
db987d36e8
7 changed files with 30 additions and 19 deletions
|
|
@ -1118,6 +1118,7 @@
|
|||
"192": "Rebuilding historical data index, please wait...",
|
||||
"193": "Please refer to the [Artificial Intelligence] chapter of the User Guide for configuration",
|
||||
"194": "There are restrictions on the Nutstore interface, please use other WebDAV services",
|
||||
"195": "The system time is incorrect, please calibrate the system time and try again"
|
||||
"195": "The system time is incorrect, please calibrate the system time and try again",
|
||||
"196": "Do not set the workspace under the path of a third-party sync disk, otherwise the data will be damaged (OneDrive/Dropbox/Google Drive/Nutstore/Baidu Netdisk/Tencent Weiyun, etc.)"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1118,6 +1118,7 @@
|
|||
"192": "Reconstruyendo el índice de datos históricos, espere...",
|
||||
"193": "Consulte el capítulo [Inteligencia artificial] de la guía del usuario para la configuración",
|
||||
"194": "Existen restricciones en la interfaz de Nutstore, utilice otros servicios WebDAV",
|
||||
"195": "La hora del sistema es incorrecta, calibre la hora del sistema y vuelva a intentarlo"
|
||||
"195": "La hora del sistema es incorrecta, calibre la hora del sistema y vuelva a intentarlo",
|
||||
"196": "No configure el espacio de trabajo bajo la ruta de un disco de sincronización de terceros, de lo contrario, los datos se dañarán (OneDrive/Dropbox/Google Drive/Nutstore/Baidu Netdisk/Tencent Weiyun, etc.)"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1118,6 +1118,7 @@
|
|||
"192": "Reconstruction de l'index des données historiques, veuillez patienter...",
|
||||
"193": "Veuillez vous référer au chapitre [Intelligence Artificielle] du guide de l'utilisateur pour la configuration",
|
||||
"194": "Il existe des restrictions sur l'interface Nutstore, veuillez utiliser d'autres services WebDAV",
|
||||
"195": "L'heure du système est incorrecte, veuillez calibrer l'heure du système et réessayer"
|
||||
"195": "L'heure du système est incorrecte, veuillez calibrer l'heure du système et réessayer",
|
||||
"196": "Ne définissez pas l'espace de travail sous le chemin d'un disque de synchronisation tiers, sinon les données seront endommagées (OneDrive/Dropbox/Google Drive/Nutstore/Baidu Netdisk/Tencent Weiyun, etc.)"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1118,6 +1118,7 @@
|
|||
"192": "正在重建歷史數據索引,請稍等...",
|
||||
"193": "請先參考用戶指南 [人工智能] 章節進行配置",
|
||||
"194": "堅果雲接口存在限制,請使用其他 WebDAV 服務",
|
||||
"195": "系統時間不正確,請校準系統時間後再試"
|
||||
"195": "系統時間不正確,請校準系統時間後再試",
|
||||
"196": "請勿將工作空間設置在第三方同步盤路徑下,否則數據會被損壞(OneDrive/Dropbox/Google Drive/堅果雲/百度網盤/騰訊微雲等)"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1118,6 +1118,7 @@
|
|||
"192": "正在重建历史数据索引,请稍等...",
|
||||
"193": "请先参考用户指南 [人工智能] 章节进行配置",
|
||||
"194": "坚果云接口存在限制,请使用其他 WebDAV 服务",
|
||||
"195": "系统时间不正确,请校准系统时间后再试"
|
||||
"195": "系统时间不正确,请校准系统时间后再试",
|
||||
"196": "请勿将工作空间设置在第三方同步盘路径下,否则数据会被损坏(OneDrive/Dropbox/Google Drive/坚果云/百度网盘/腾讯微云等)"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -197,6 +197,13 @@ func setWorkspaceDir(c *gin.Context) {
|
|||
return
|
||||
}
|
||||
|
||||
if util.IsCloudDrivePath(path) {
|
||||
ret.Code = -1
|
||||
ret.Msg = model.Conf.Language(196)
|
||||
ret.Data = map[string]interface{}{"closeTimeout": 7000}
|
||||
return
|
||||
}
|
||||
|
||||
if gulu.OS.IsWindows() {
|
||||
// 改进判断工作空间路径实现 https://github.com/siyuan-note/siyuan/issues/7569
|
||||
installDirLower := strings.ToLower(filepath.Dir(util.WorkingDir))
|
||||
|
|
|
|||
|
|
@ -127,8 +127,7 @@ var (
|
|||
)
|
||||
|
||||
var (
|
||||
thirdPartySyncCheckTicker = time.NewTicker(time.Minute * 30)
|
||||
firstThirdPartySyncCheck = true
|
||||
thirdPartySyncCheckTicker = time.NewTicker(time.Minute * 10)
|
||||
)
|
||||
|
||||
func CheckFileSysStatus() {
|
||||
|
|
@ -136,11 +135,6 @@ func CheckFileSysStatus() {
|
|||
return
|
||||
}
|
||||
|
||||
if firstThirdPartySyncCheck {
|
||||
firstThirdPartySyncCheck = false
|
||||
time.Sleep(time.Second * 10)
|
||||
}
|
||||
|
||||
reportFileSysFatalError := func(err error) {
|
||||
stack := debug.Stack()
|
||||
logging.LogErrorf("check file system status failed: %s, %s", err, stack)
|
||||
|
|
@ -150,9 +144,9 @@ func CheckFileSysStatus() {
|
|||
const fileSysStatusCheckFile = ".siyuan/filesys_status_check"
|
||||
|
||||
for {
|
||||
workspaceDirLower := strings.ToLower(WorkspaceDir)
|
||||
if strings.Contains(workspaceDirLower, "onedrive") || strings.Contains(workspaceDirLower, "dropbox") ||
|
||||
strings.Contains(workspaceDirLower, "google drive") || strings.Contains(workspaceDirLower, "pcloud") {
|
||||
<-thirdPartySyncCheckTicker.C
|
||||
|
||||
if IsCloudDrivePath(WorkspaceDir) {
|
||||
reportFileSysFatalError(fmt.Errorf("workspace dir [%s] is in third party sync dir", WorkspaceDir))
|
||||
continue
|
||||
}
|
||||
|
|
@ -169,7 +163,7 @@ func CheckFileSysStatus() {
|
|||
}
|
||||
|
||||
for i := 0; i < 32; i++ {
|
||||
tmp := filepath.Join(dir, "check_"+gulu.Rand.String(7))
|
||||
tmp := filepath.Join(dir, "check_consistency")
|
||||
data := make([]byte, 1024*4)
|
||||
_, err := rand.Read(data)
|
||||
if nil != err {
|
||||
|
|
@ -198,13 +192,13 @@ func CheckFileSysStatus() {
|
|||
|
||||
time.Sleep(200 * time.Millisecond)
|
||||
|
||||
if err = os.Rename(tmp, tmp+"_1"); nil != err {
|
||||
if err = os.Rename(tmp, tmp+"_renamed"); nil != err {
|
||||
reportFileSysFatalError(err)
|
||||
break
|
||||
}
|
||||
|
||||
time.Sleep(200 * time.Millisecond)
|
||||
if err = os.Rename(tmp+"_1", tmp); nil != err {
|
||||
if err = os.Rename(tmp+"_renamed", tmp); nil != err {
|
||||
reportFileSysFatalError(err)
|
||||
break
|
||||
}
|
||||
|
|
@ -232,7 +226,12 @@ func CheckFileSysStatus() {
|
|||
break
|
||||
}
|
||||
|
||||
<-thirdPartySyncCheckTicker.C
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func IsCloudDrivePath(absPath string) bool {
|
||||
absPathLower := strings.ToLower(absPath)
|
||||
return strings.Contains(absPathLower, "onedrive") || strings.Contains(absPathLower, "dropbox") ||
|
||||
strings.Contains(absPathLower, "google drive") || strings.Contains(absPathLower, "pcloud")
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue