🐛 Data sync may cause data loss on Android 14 https://github.com/siyuan-note/siyuan/issues/10205

This commit is contained in:
Daniel 2024-01-21 21:27:50 +08:00
parent dfe8f1317c
commit c00dc1cc5c
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
13 changed files with 36 additions and 33 deletions

View file

@ -98,7 +98,7 @@ func ImportSY(zipPath, boxID, toPath string) (err error) {
defer os.RemoveAll(unzipPath)
var syPaths []string
filepath.Walk(unzipPath, func(path string, info fs.FileInfo, err error) error {
filelock.Walk(unzipPath, func(path string, info fs.FileInfo, err error) error {
if nil != err {
return err
}
@ -206,7 +206,7 @@ func ImportSY(zipPath, boxID, toPath string) (err error) {
renameAvPaths := map[string]string{}
if gulu.File.IsExist(storageAvDir) {
// 重新生成数据库数据
filepath.Walk(storageAvDir, func(path string, info fs.FileInfo, err error) error {
filelock.Walk(storageAvDir, func(path string, info fs.FileInfo, err error) error {
if !strings.HasSuffix(path, ".json") || !ast.IsNodeIDPattern(strings.TrimSuffix(info.Name(), ".json")) {
return nil
}
@ -397,7 +397,7 @@ func ImportSY(zipPath, boxID, toPath string) (err error) {
// 重命名文件路径
renamePaths := map[string]string{}
filepath.Walk(unzipRootPath, func(path string, info fs.FileInfo, err error) error {
filelock.Walk(unzipRootPath, func(path string, info fs.FileInfo, err error) error {
if nil != err {
return err
}
@ -472,7 +472,7 @@ func ImportSY(zipPath, boxID, toPath string) (err error) {
// 将包含的资源文件统一移动到 data/assets/ 下
var assetsDirs []string
filepath.Walk(unzipRootPath, func(path string, info fs.FileInfo, err error) error {
filelock.Walk(unzipRootPath, func(path string, info fs.FileInfo, err error) error {
if strings.Contains(path, "assets") && info.IsDir() {
assetsDirs = append(assetsDirs, path)
}
@ -507,7 +507,7 @@ func ImportSY(zipPath, boxID, toPath string) (err error) {
}
var treePaths []string
filepath.Walk(unzipRootPath, func(path string, info fs.FileInfo, err error) error {
filelock.Walk(unzipRootPath, func(path string, info fs.FileInfo, err error) error {
if info.IsDir() {
if strings.HasPrefix(info.Name(), ".") {
return filepath.SkipDir
@ -632,7 +632,7 @@ func ImportFromLocalPath(boxID, localPath string, toPath string) (err error) {
if gulu.File.IsDir(localPath) {
// 收集所有资源文件
assets := map[string]string{}
filepath.Walk(localPath, func(currentPath string, info os.FileInfo, walkErr error) error {
filelock.Walk(localPath, func(currentPath string, info os.FileInfo, walkErr error) error {
if localPath == currentPath {
return nil
}
@ -654,7 +654,7 @@ func ImportFromLocalPath(boxID, localPath string, toPath string) (err error) {
assetsDone := map[string]string{}
// md 转换 sy
filepath.Walk(localPath, func(currentPath string, info os.FileInfo, walkErr error) error {
filelock.Walk(localPath, func(currentPath string, info os.FileInfo, walkErr error) error {
if strings.HasPrefix(info.Name(), ".") {
if info.IsDir() {
return filepath.SkipDir