From ba0c6883e6e800497719ae0a94b553253e5c5cfe Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Sat, 13 Sep 2025 09:20:01 +0800 Subject: [PATCH] :bug: File history cannot load the correct view of database blocks https://github.com/siyuan-note/siyuan/issues/15841 Signed-off-by: Daniel <845765@qq.com> --- kernel/api/av.go | 36 ++++++++++++++++++++++++++- kernel/model/attribute_view_render.go | 4 +-- 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/kernel/api/av.go b/kernel/api/av.go index 1fbd38466..0f1f16571 100644 --- a/kernel/api/av.go +++ b/kernel/api/av.go @@ -675,7 +675,41 @@ func renderHistoryAttributeView(c *gin.Context) { id := arg["id"].(string) created := arg["created"].(string) - view, attrView, err := model.RenderHistoryAttributeView(id, created) + blockIDArg := arg["blockID"] + var blockID string + if nil != blockIDArg { + blockID = blockIDArg.(string) + } + viewIDArg := arg["viewID"] + var viewID string + if nil != viewIDArg { + viewID = viewIDArg.(string) + } + page := 1 + pageArg := arg["page"] + if nil != pageArg { + page = int(pageArg.(float64)) + } + + pageSize := -1 + pageSizeArg := arg["pageSize"] + if nil != pageSizeArg { + pageSize = int(pageSizeArg.(float64)) + } + + query := "" + queryArg := arg["query"] + if nil != queryArg { + query = queryArg.(string) + } + + groupPaging := map[string]interface{}{} + groupPagingArg := arg["groupPaging"] + if nil != groupPagingArg { + groupPaging = groupPagingArg.(map[string]interface{}) + } + + view, attrView, err := model.RenderHistoryAttributeView(blockID, id, viewID, query, page, pageSize, groupPaging, created) if err != nil { ret.Code = -1 ret.Msg = err.Error() diff --git a/kernel/model/attribute_view_render.go b/kernel/model/attribute_view_render.go index 534159c86..0c517e8ba 100644 --- a/kernel/model/attribute_view_render.go +++ b/kernel/model/attribute_view_render.go @@ -486,7 +486,7 @@ func RenderRepoSnapshotAttributeView(indexID, avID string) (viewable av.Viewable return } -func RenderHistoryAttributeView(avID, created string) (viewable av.Viewable, attrView *av.AttributeView, err error) { +func RenderHistoryAttributeView(blockID, avID, viewID, query string, page, pageSize int, groupPaging map[string]interface{}, created string) (viewable av.Viewable, attrView *av.AttributeView, err error) { createdUnix, parseErr := strconv.ParseInt(created, 10, 64) if nil != parseErr { logging.LogErrorf("parse created [%s] failed: %s", created, parseErr) @@ -525,6 +525,6 @@ func RenderHistoryAttributeView(avID, created string) (viewable av.Viewable, att } } - viewable, err = renderAttributeView(attrView, "", "", "", 1, -1, nil) + viewable, err = renderAttributeView(attrView, blockID, viewID, query, page, pageSize, groupPaging) return }