🎨 macOS 端对工作空间放置在 iCloud 路径下做检查 https://github.com/siyuan-note/siyuan/issues/7747

This commit is contained in:
Liang Ding 2023-03-22 19:12:51 +08:00
parent 6ef2dde3e9
commit c82e38841c
No known key found for this signature in database
GPG key ID: 136F30F901A2231D

View file

@ -116,7 +116,7 @@ var (
)
var (
thirdPartySyncCheckTicker = time.NewTicker(time.Minute * 10)
thirdPartySyncCheckTicker = time.NewTicker(time.Second * 10)
)
func ReportFileSysFatalError(err error) {
@ -246,6 +246,31 @@ func checkFileSysStatus() {
func IsCloudDrivePath(absPath string) bool {
absPathLower := strings.ToLower(absPath)
if isICloudPath(absPathLower) {
return true
}
return strings.Contains(absPathLower, "onedrive") || strings.Contains(absPathLower, "dropbox") ||
strings.Contains(absPathLower, "google drive") || strings.Contains(absPathLower, "pcloud")
}
func isICloudPath(absPath string) bool {
if !gulu.OS.IsDarwin() {
return false
}
iCloudRoot := "~/Library/Mobile Documents"
err := filepath.Walk(iCloudRoot, func(path string, info os.FileInfo, err error) error {
if nil != err {
return err
}
logging.LogInfof("path: %s", path)
return nil
})
if nil != err {
logging.LogErrorf("walk iCloud dir [%s] failed: %s", iCloudRoot, err)
}
return false
}