🎨 文档滚动状态不产生同步冲突 Fix https://github.com/siyuan-note/siyuan/issues/6076

This commit is contained in:
Liang Ding 2022-10-08 00:45:24 +08:00
parent 2dcd27119d
commit 166fdc7e1b
No known key found for this signature in database
GPG key ID: 136F30F901A2231D
6 changed files with 104 additions and 39 deletions

View file

@ -123,9 +123,17 @@ func SetBlockAttrs(id string, nameValues map[string]string) (err error) {
}
}
if err = indexWriteJSONQueue(tree); nil != err {
return
if 1 == len(nameValues) && "" != nameValues["scroll"] {
// 文档滚动状态不产生同步冲突 https://github.com/siyuan-note/siyuan/issues/6076
if err = indexWriteJSONQueueWithoutChangeTime(tree); nil != err {
return
}
} else {
if err = indexWriteJSONQueue(tree); nil != err {
return
}
}
IncSync()
cache.PutBlockIAL(id, parse.IAL2Map(node.KramdownIAL))

View file

@ -932,11 +932,24 @@ func writeJSONQueue(tree *parse.Tree) (err error) {
return
}
func writeJSONQueueWithoutChangeTime(tree *parse.Tree) (err error) {
if err = filesys.WriteTreeWithoutChangeTime(tree); nil != err {
return
}
sql.UpsertTreeQueue(tree)
return
}
func indexWriteJSONQueue(tree *parse.Tree) (err error) {
treenode.ReindexBlockTree(tree)
return writeJSONQueue(tree)
}
func indexWriteJSONQueueWithoutChangeTime(tree *parse.Tree) (err error) {
treenode.ReindexBlockTree(tree)
return writeJSONQueueWithoutChangeTime(tree)
}
func renameWriteJSONQueue(tree *parse.Tree, oldHPath string) (err error) {
if err = filesys.WriteTree(tree); nil != err {
return