🎨 Improve reference count update after moving heading blocks https://github.com/siyuan-note/siyuan/issues/15322

This commit is contained in:
Daniel 2025-07-17 21:02:25 +08:00
parent d5d6095070
commit 38a7bf03bc
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
2 changed files with 22 additions and 10 deletions

View file

@ -207,8 +207,9 @@ func refreshDynamicRefTexts0(updatedDefNodes map[string]*ast.Node, updatedTrees
// 1. 更新引用的动态锚文本
treeRefNodeIDs := map[string]*hashset.Set{}
var changedNodes []*ast.Node
var refs []*sql.Ref
for _, updateNode := range updatedDefNodes {
refs, parentNodes, childNodes := getRefsCacheByDefNode(updateNode)
refs, changedNodes = getRefsCacheByDefNode(updateNode)
for _, ref := range refs {
if refIDs, ok := treeRefNodeIDs[ref.RootID]; !ok {
refIDs = hashset.New()
@ -218,12 +219,6 @@ func refreshDynamicRefTexts0(updatedDefNodes map[string]*ast.Node, updatedTrees
refIDs.Add(ref.BlockID)
}
}
if 0 < len(parentNodes) {
changedNodes = append(changedNodes, parentNodes...)
}
if 0 < len(childNodes) {
changedNodes = append(changedNodes, childNodes...)
}
}
for _, n := range changedNodes {
updatedDefNodes[n.ID] = n