diff --git a/app/appearance/langs/en_US.json b/app/appearance/langs/en_US.json index 185de331d..e9a872182 100644 --- a/app/appearance/langs/en_US.json +++ b/app/appearance/langs/en_US.json @@ -1236,7 +1236,8 @@ "task.database.index.embedBlock": "Execute database index embed block", "task.reload.ui": "Execute reload UI", "task.asset.database.index.full": "Execute asset database rebuild index", - "task.asset.database.index.commit": "Execute asset database index commit" + "task.asset.database.index.commit": "Execute asset database index commit", + "task.cache.virtualBlockRef": "Execute cache virtual reference" }, "_trayMenu": { "showWindow": "Show Window", diff --git a/app/appearance/langs/es_ES.json b/app/appearance/langs/es_ES.json index e2cb56716..eb4575ed4 100644 --- a/app/appearance/langs/es_ES.json +++ b/app/appearance/langs/es_ES.json @@ -1236,7 +1236,8 @@ "task.database.index.embedBlock": "Ejecutar bloque de incrustación de índice de base de datos", "task.reload.ui": "IU de recarga de tareas", "task.asset.database.index.full": "Ejecutar índice de reconstrucción de base de datos de activos", - "task.asset.database.index.commit": "Ejecutar confirmación del índice de la base de datos de activos" + "task.asset.database.index.commit": "Ejecutar confirmación del índice de la base de datos de activos", + "task.cache.virtualBlockRef": "Ejecutar referencia virtual de caché" }, "_trayMenu": { "showWindow": "Mostrar ventana", diff --git a/app/appearance/langs/fr_FR.json b/app/appearance/langs/fr_FR.json index e3f511fb6..20b5f6d2f 100644 --- a/app/appearance/langs/fr_FR.json +++ b/app/appearance/langs/fr_FR.json @@ -1236,7 +1236,8 @@ "task.database.index.embedBlock": "Exécuter le bloc d'intégration d'index de base de données", "task.reload.ui": "Interface utilisateur de rechargement de tâche", "task.asset.database.index.full": "Exécuter l'index de reconstruction de la base de données d'actifs", - "task.asset.database.index.commit": "Exécuter la validation de l'index de la base de données des actifs" + "task.asset.database.index.commit": "Exécuter la validation de l'index de la base de données des actifs", + "task.cache.virtualBlockRef": "Effectuer une référence virtuelle du cache" }, "_trayMenu": { "showWindow": "Afficher la fenêtre principale", diff --git a/app/appearance/langs/ja_JP.json b/app/appearance/langs/ja_JP.json index f97314b3e..ac56ff506 100644 --- a/app/appearance/langs/ja_JP.json +++ b/app/appearance/langs/ja_JP.json @@ -1236,7 +1236,8 @@ "task.database.index.embedBlock": "データベースのインデックスを埋め込みブロック中", "task.reload.ui": "UI の再読み込み中", "task.asset.database.index.full": "アセットデータベースのインデックスを再構築中", - "task.asset.database.index.commit": "アセットデータベースのインデックスをコミット中" + "task.asset.database.index.commit": "アセットデータベースのインデックスをコミット中", + "task.cache.virtualBlockRef": "キャッシュ仮想参照を実行" }, "_trayMenu": { "showWindow": "ウィンドウを表示", diff --git a/app/appearance/langs/zh_CHT.json b/app/appearance/langs/zh_CHT.json index 89c152fef..bb81e2732 100644 --- a/app/appearance/langs/zh_CHT.json +++ b/app/appearance/langs/zh_CHT.json @@ -1236,7 +1236,8 @@ "task.database.index.embedBlock": "執行資料庫索引嵌入塊", "task.reload.ui": "執行重載界面", "task.asset.database.index.full": "執行資源文件數據庫重建索引", - "task.asset.database.index.commit": "執行資源文件數據庫索引提交" + "task.asset.database.index.commit": "執行資源文件數據庫索引提交", + "task.cache.virtualBlockRef": "執行快取虛擬引用" }, "_trayMenu": { "showWindow": "顯示主窗口", diff --git a/app/appearance/langs/zh_CN.json b/app/appearance/langs/zh_CN.json index 238f2f4ad..176b1851c 100644 --- a/app/appearance/langs/zh_CN.json +++ b/app/appearance/langs/zh_CN.json @@ -1236,7 +1236,8 @@ "task.database.index.embedBlock": "执行数据库索引嵌入块", "task.reload.ui": "执行重载界面", "task.asset.database.index.full": "执行资源文件数据库重建索引", - "task.asset.database.index.commit": "执行资源文件数据库索引提交" + "task.asset.database.index.commit": "执行资源文件数据库索引提交", + "task.cache.virtualBlockRef": "执行缓存虚拟引用" }, "_trayMenu": { "showWindow": "显示主窗口", diff --git a/kernel/model/index.go b/kernel/model/index.go index d82c9e3b7..9a65a2b95 100644 --- a/kernel/model/index.go +++ b/kernel/model/index.go @@ -112,6 +112,11 @@ func unindex(boxID string) { ids := treenode.RemoveBlockTreesByBoxID(boxID) RemoveRecentDoc(ids) sql.DeleteBoxQueue(boxID) + + go func() { + sql.WaitForWritingDatabase() + ResetVirtualBlockRefCache() + }() } func (box *Box) Index() { diff --git a/kernel/model/virutalref.go b/kernel/model/virutalref.go index 9ff20fbbd..f68b3c7bb 100644 --- a/kernel/model/virutalref.go +++ b/kernel/model/virutalref.go @@ -31,6 +31,7 @@ import ( "github.com/dgraph-io/ristretto" "github.com/siyuan-note/siyuan/kernel/search" "github.com/siyuan-note/siyuan/kernel/sql" + "github.com/siyuan-note/siyuan/kernel/task" "github.com/siyuan-note/siyuan/kernel/treenode" ) @@ -99,6 +100,13 @@ func putBlockVirtualRefKeywords(blockContent string, root *ast.Node) (ret []stri } func CacheVirtualBlockRefJob() { + if !Conf.Editor.VirtualBlockRef { + return + } + task.AppendTask(task.CacheVirtualBlockRef, ResetVirtualBlockRefCache) +} + +func cacheVirtualBlockRef() { virtualBlockRefCache.Del("virtual_ref") if !Conf.Editor.VirtualBlockRef { return @@ -110,7 +118,7 @@ func CacheVirtualBlockRefJob() { func ResetVirtualBlockRefCache() { virtualBlockRefCache.Clear() - CacheVirtualBlockRefJob() + cacheVirtualBlockRef() } func AddVirtualBlockRefInclude(keyword []string) { diff --git a/kernel/task/queue.go b/kernel/task/queue.go index f92244dee..1e6d2e32e 100644 --- a/kernel/task/queue.go +++ b/kernel/task/queue.go @@ -99,6 +99,7 @@ const ( ReloadUI = "task.reload.ui" // 重载 UI AssetContentDatabaseIndexFull = "task.asset.database.index.full" // 资源文件数据库重建索引 AssetContentDatabaseIndexCommit = "task.asset.database.index.commit" // 资源文件数据库索引提交 + CacheVirtualBlockRef = "task.cache.virtualBlockRef" // 缓存虚拟块引用 ) // uniqueActions 描述了唯一的任务,即队列中只能存在一个在执行的任务。