diff --git a/kernel/api/attr.go b/kernel/api/attr.go index af996f660..0c1d2dbcc 100644 --- a/kernel/api/attr.go +++ b/kernel/api/attr.go @@ -58,7 +58,11 @@ func setBlockAttrs(c *gin.Context) { attrs := arg["attrs"].(map[string]interface{}) nameValues := map[string]string{} for name, value := range attrs { - nameValues[name] = value.(string) + if nil == value { // API `setBlockAttrs` 中如果存在属性值设置为 `null` 时移除该属性 https://github.com/siyuan-note/siyuan/issues/5577 + nameValues[name] = "" + } else { + nameValues[name] = value.(string) + } } err := model.SetBlockAttrs(id, nameValues) if nil != err { diff --git a/kernel/model/assets_watcher.go b/kernel/model/assets_watcher.go index ef2ebad03..b12e08da8 100644 --- a/kernel/model/assets_watcher.go +++ b/kernel/model/assets_watcher.go @@ -53,7 +53,7 @@ func watchAssets() { } go func() { - logging.Recover() + defer logging.Recover() var ( timer *time.Timer