mirror of
https://github.com/siyuan-note/siyuan.git
synced 2026-02-03 06:01:47 +01:00
♻️ Improve transaction flush
This commit is contained in:
parent
72d1a059ac
commit
8dd0629b9c
23 changed files with 69 additions and 82 deletions
|
|
@ -376,7 +376,7 @@ func getRefText(c *gin.Context) {
|
|||
}
|
||||
|
||||
id := arg["id"].(string)
|
||||
model.WaitForWritingFiles()
|
||||
model.FlushTxQueue()
|
||||
refText := model.GetBlockRefText(id)
|
||||
if "" == refText {
|
||||
// 空块返回 id https://github.com/siyuan-note/siyuan/issues/10259
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ func moveOutlineHeading(c *gin.Context) {
|
|||
}
|
||||
|
||||
model.PerformTransactions(&transactions)
|
||||
model.WaitForWritingFiles()
|
||||
model.FlushTxQueue()
|
||||
|
||||
ret.Data = transactions
|
||||
broadcastTransactions(transactions)
|
||||
|
|
@ -127,7 +127,7 @@ func appendDailyNoteBlock(c *gin.Context) {
|
|||
}
|
||||
|
||||
model.PerformTransactions(&transactions)
|
||||
model.WaitForWritingFiles()
|
||||
model.FlushTxQueue()
|
||||
|
||||
ret.Data = transactions
|
||||
broadcastTransactions(transactions)
|
||||
|
|
@ -180,7 +180,7 @@ func prependDailyNoteBlock(c *gin.Context) {
|
|||
}
|
||||
|
||||
model.PerformTransactions(&transactions)
|
||||
model.WaitForWritingFiles()
|
||||
model.FlushTxQueue()
|
||||
|
||||
ret.Data = transactions
|
||||
broadcastTransactions(transactions)
|
||||
|
|
@ -241,7 +241,7 @@ func unfoldBlock(c *gin.Context) {
|
|||
}
|
||||
|
||||
model.PerformTransactions(&transactions)
|
||||
model.WaitForWritingFiles()
|
||||
model.FlushTxQueue()
|
||||
|
||||
broadcastTransactions(transactions)
|
||||
}
|
||||
|
|
@ -301,7 +301,7 @@ func foldBlock(c *gin.Context) {
|
|||
}
|
||||
|
||||
model.PerformTransactions(&transactions)
|
||||
model.WaitForWritingFiles()
|
||||
model.FlushTxQueue()
|
||||
|
||||
broadcastTransactions(transactions)
|
||||
}
|
||||
|
|
@ -355,7 +355,7 @@ func moveBlock(c *gin.Context) {
|
|||
}
|
||||
|
||||
model.PerformTransactions(&transactions)
|
||||
model.WaitForWritingFiles()
|
||||
model.FlushTxQueue()
|
||||
|
||||
ret.Data = transactions
|
||||
broadcastTransactions(transactions)
|
||||
|
|
@ -400,7 +400,7 @@ func appendBlock(c *gin.Context) {
|
|||
}
|
||||
|
||||
model.PerformTransactions(&transactions)
|
||||
model.WaitForWritingFiles()
|
||||
model.FlushTxQueue()
|
||||
|
||||
ret.Data = transactions
|
||||
broadcastTransactions(transactions)
|
||||
|
|
@ -445,7 +445,7 @@ func prependBlock(c *gin.Context) {
|
|||
}
|
||||
|
||||
model.PerformTransactions(&transactions)
|
||||
model.WaitForWritingFiles()
|
||||
model.FlushTxQueue()
|
||||
|
||||
ret.Data = transactions
|
||||
broadcastTransactions(transactions)
|
||||
|
|
@ -508,7 +508,7 @@ func insertBlock(c *gin.Context) {
|
|||
}
|
||||
|
||||
model.PerformTransactions(&transactions)
|
||||
model.WaitForWritingFiles()
|
||||
model.FlushTxQueue()
|
||||
|
||||
ret.Data = transactions
|
||||
broadcastTransactions(transactions)
|
||||
|
|
@ -599,7 +599,7 @@ func updateBlock(c *gin.Context) {
|
|||
}
|
||||
|
||||
model.PerformTransactions(&transactions)
|
||||
model.WaitForWritingFiles()
|
||||
model.FlushTxQueue()
|
||||
|
||||
ret.Data = transactions
|
||||
broadcastTransactions(transactions)
|
||||
|
|
|
|||
|
|
@ -223,7 +223,7 @@ func heading2Doc(c *gin.Context) {
|
|||
return
|
||||
}
|
||||
|
||||
model.WaitForWritingFiles()
|
||||
model.FlushTxQueue()
|
||||
luteEngine := util.NewLute()
|
||||
tree, err := filesys.LoadTree(targetNotebook, targetPath, luteEngine)
|
||||
if err != nil {
|
||||
|
|
@ -268,7 +268,7 @@ func li2Doc(c *gin.Context) {
|
|||
return
|
||||
}
|
||||
|
||||
model.WaitForWritingFiles()
|
||||
model.FlushTxQueue()
|
||||
luteEngine := util.NewLute()
|
||||
tree, err := filesys.LoadTree(targetNotebook, targetPath, luteEngine)
|
||||
if err != nil {
|
||||
|
|
@ -591,7 +591,7 @@ func createDoc(c *gin.Context) {
|
|||
return
|
||||
}
|
||||
|
||||
model.WaitForWritingFiles()
|
||||
model.FlushTxQueue()
|
||||
box := model.Conf.Box(notebook)
|
||||
pushCreate(box, p, tree.Root.ID, arg)
|
||||
|
||||
|
|
@ -621,7 +621,7 @@ func createDailyNote(c *gin.Context) {
|
|||
return
|
||||
}
|
||||
|
||||
model.WaitForWritingFiles()
|
||||
model.FlushTxQueue()
|
||||
box := model.Conf.Box(notebook)
|
||||
luteEngine := util.NewLute()
|
||||
tree, err := filesys.LoadTree(box.ID, p, luteEngine)
|
||||
|
|
@ -720,7 +720,7 @@ func createDocWithMd(c *gin.Context) {
|
|||
}
|
||||
ret.Data = id
|
||||
|
||||
model.WaitForWritingFiles()
|
||||
model.FlushTxQueue()
|
||||
box := model.Conf.Box(notebook)
|
||||
b, _ := model.GetBlock(id, nil)
|
||||
p := b.Path
|
||||
|
|
|
|||
|
|
@ -325,7 +325,7 @@ func removeRiffCards(c *gin.Context) {
|
|||
}
|
||||
|
||||
model.PerformTransactions(&transactions)
|
||||
model.WaitForWritingFiles()
|
||||
model.FlushTxQueue()
|
||||
|
||||
if "" != deckID {
|
||||
deck := model.Decks[deckID]
|
||||
|
|
@ -363,7 +363,7 @@ func addRiffCards(c *gin.Context) {
|
|||
}
|
||||
|
||||
model.PerformTransactions(&transactions)
|
||||
model.WaitForWritingFiles()
|
||||
model.FlushTxQueue()
|
||||
|
||||
deck := model.Decks[deckID]
|
||||
ret.Data = deckData(deck)
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ func performTransactions(c *gin.Context) {
|
|||
func pushTransactions(app, session string, transactions []*model.Transaction) {
|
||||
pushMode := util.PushModeBroadcastExcludeSelf
|
||||
if 0 < len(transactions) && 0 < len(transactions[0].DoOperations) {
|
||||
model.WaitForWritingFiles() // 等待文件写入完成,后续渲染才能读取到最新的数据
|
||||
model.FlushTxQueue() // 等待文件写入完成,后续渲染才能读取到最新的数据
|
||||
|
||||
action := transactions[0].DoOperations[0].Action
|
||||
isAttrViewTx := strings.Contains(strings.ToLower(action), "attrview")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue