🎨 Improve assets data index updating after data sync on mobile https://github.com/siyuan-note/siyuan/issues/16747

Signed-off-by: Daniel <845765@qq.com>
This commit is contained in:
Daniel 2026-01-06 12:17:41 +08:00
parent a3fc8f7483
commit b3a39d74a6
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
2 changed files with 14 additions and 7 deletions

View file

@ -69,6 +69,10 @@ func HandleAssetsRemoveEvent(assetAbsPath string) {
return
}
if ".DS_Store" == filepath.Base(assetAbsPath) {
return
}
removeIndexAssetContent(assetAbsPath)
removeAssetThumbnail(assetAbsPath)
}
@ -78,6 +82,10 @@ func HandleAssetsChangeEvent(assetAbsPath string) {
return
}
if ".DS_Store" == filepath.Base(assetAbsPath) {
return
}
indexAssetContent(assetAbsPath)
removeAssetThumbnail(assetAbsPath)
}

View file

@ -21,6 +21,7 @@ package model
import (
"os"
"path/filepath"
"strings"
"time"
"github.com/88250/gulu"
@ -71,21 +72,19 @@ func watchAssets() {
return
}
if strings.HasSuffix(event.Name, ".tmp") {
continue
}
lastEvent = event
timer.Reset(time.Millisecond * 100)
if lastEvent.Op&fsnotify.Rename == fsnotify.Rename || lastEvent.Op&fsnotify.Write == fsnotify.Write {
HandleAssetsChangeEvent(lastEvent.Name)
} else if lastEvent.Op&fsnotify.Remove == fsnotify.Remove {
HandleAssetsRemoveEvent(lastEvent.Name)
}
case err, ok := <-assetsWatcher.Errors:
if !ok {
return
}
logging.LogErrorf("watch assets failed: %s", err)
case <-timer.C:
//logging.LogInfof("assets changed: %s", lastEvent)
logging.LogInfof("assets changed: %s", lastEvent)
if lastEvent.Op&fsnotify.Write == fsnotify.Write {
IncSync()
}