Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
Vanessa 2024-05-12 23:37:45 +08:00
commit 0dec8802bc
11 changed files with 39 additions and 14 deletions

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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": "ウィンドウを表示",

View file

@ -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": "顯示主窗口",

View file

@ -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": "显示主窗口",

View file

@ -503,6 +503,10 @@ func genTreeID(tree *parse.Tree) {
func FullReindex() {
task.AppendTask(task.DatabaseIndexFull, fullReindex)
task.AppendTask(task.DatabaseIndexRef, IndexRefs)
go func() {
sql.WaitForWritingDatabase()
ResetVirtualBlockRefCache()
}()
task.AppendTaskWithTimeout(task.DatabaseIndexEmbedBlock, 30*time.Second, autoIndexEmbedBlock)
cache.ClearDocsIAL()
cache.ClearBlocksIAL()

View file

@ -106,6 +106,10 @@ func listSyFiles(dir string) (ret []string) {
func (box *Box) Unindex() {
task.AppendTask(task.DatabaseIndex, unindex, box.ID)
go func() {
sql.WaitForWritingDatabase()
ResetVirtualBlockRefCache()
}()
}
func unindex(boxID string) {
@ -118,6 +122,10 @@ func (box *Box) Index() {
task.AppendTask(task.DatabaseIndexRef, removeBoxRefs, box.ID)
task.AppendTask(task.DatabaseIndex, index, box.ID)
task.AppendTask(task.DatabaseIndexRef, IndexRefs)
go func() {
sql.WaitForWritingDatabase()
ResetVirtualBlockRefCache()
}()
}
func removeBoxRefs(boxID string) {
@ -281,8 +289,6 @@ func IndexRefs() {
}
logging.LogInfof("resolved refs [%d] in [%dms]", size, time.Now().Sub(start).Milliseconds())
util.PushStatusBar(fmt.Sprintf(Conf.Language(55), i))
ResetVirtualBlockRefCache()
}
var indexEmbedBlockLock = sync.Mutex{}

View file

@ -51,6 +51,7 @@ import (
"github.com/siyuan-note/logging"
"github.com/siyuan-note/siyuan/kernel/conf"
"github.com/siyuan-note/siyuan/kernel/filesys"
"github.com/siyuan-note/siyuan/kernel/sql"
"github.com/siyuan-note/siyuan/kernel/task"
"github.com/siyuan-note/siyuan/kernel/treenode"
"github.com/siyuan-note/siyuan/kernel/util"
@ -649,6 +650,10 @@ func checkoutRepo(id string) {
task.AppendTask(task.DatabaseIndexFull, fullReindex)
task.AppendTask(task.DatabaseIndexRef, IndexRefs)
go func() {
sql.WaitForWritingDatabase()
ResetVirtualBlockRefCache()
}()
task.AppendTask(task.ReloadUI, util.ReloadUIResetScroll)
if syncEnabled {

View file

@ -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,7 +100,14 @@ func putBlockVirtualRefKeywords(blockContent string, root *ast.Node) (ret []stri
}
func CacheVirtualBlockRefJob() {
virtualBlockRefCache.Del("virtual_ref")
if !Conf.Editor.VirtualBlockRef {
return
}
task.AppendTask(task.CacheVirtualBlockRef, ResetVirtualBlockRefCache)
}
func ResetVirtualBlockRefCache() {
virtualBlockRefCache.Clear()
if !Conf.Editor.VirtualBlockRef {
return
}
@ -108,11 +116,6 @@ func CacheVirtualBlockRefJob() {
virtualBlockRefCache.Set("virtual_ref", keywords, 1)
}
func ResetVirtualBlockRefCache() {
virtualBlockRefCache.Clear()
CacheVirtualBlockRefJob()
}
func AddVirtualBlockRefInclude(keyword []string) {
if 1 > len(keyword) {
return

View file

@ -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 描述了唯一的任务,即队列中只能存在一个在执行的任务。