mirror of
https://github.com/siyuan-note/siyuan.git
synced 2026-01-27 18:56:09 +01:00
🎨 Alert users when .sy file or database .json exceed 8MB https://github.com/siyuan-note/siyuan/issues/15451
This commit is contained in:
parent
f3cc641005
commit
eb13c34fe5
22 changed files with 98 additions and 15 deletions
|
|
@ -418,6 +418,7 @@ func setFiletree(c *gin.Context) {
|
|||
model.Conf.Save()
|
||||
|
||||
util.UseSingleLineSave = model.Conf.FileTree.UseSingleLineSave
|
||||
util.LargeFileWarningSize = model.Conf.FileTree.LargeFileWarningSize
|
||||
|
||||
ret.Data = model.Conf.FileTree
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ package av
|
|||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"sort"
|
||||
|
|
@ -543,6 +544,11 @@ func SaveAttributeView(av *AttributeView) (err error) {
|
|||
logging.LogErrorf("save attribute view [%s] failed: %s", av.ID, err)
|
||||
return
|
||||
}
|
||||
|
||||
if util.ExceedLargeFileWarningSize(len(data)) {
|
||||
msg := fmt.Sprintf(util.Langs[util.Lang][268], av.Name+" "+filepath.Base(avJSONPath), util.LargeFileWarningSize)
|
||||
util.PushErrMsg(msg, 7000)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ type FileTree struct {
|
|||
RemoveDocWithoutConfirm bool `json:"removeDocWithoutConfirm"` // 删除文档时是否不需要确认
|
||||
CloseTabsOnStart bool `json:"closeTabsOnStart"` // 启动时关闭所有页签
|
||||
UseSingleLineSave bool `json:"useSingleLineSave"` // 使用单行保存文档 .sy 和属性视图 .json
|
||||
LargeFileWarningSize int `json:"largeFileWarningSize"` // 大文件警告大小(单位:MB)
|
||||
|
||||
Sort int `json:"sort"` // 排序方式
|
||||
}
|
||||
|
|
@ -47,5 +48,6 @@ func NewFileTree() *FileTree {
|
|||
AllowCreateDeeper: false,
|
||||
CloseTabsOnStart: false,
|
||||
UseSingleLineSave: util.UseSingleLineSave,
|
||||
LargeFileWarningSize: util.LargeFileWarningSize,
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -220,6 +220,11 @@ func WriteTree(tree *parse.Tree) (size uint64, err error) {
|
|||
return
|
||||
}
|
||||
|
||||
if util.ExceedLargeFileWarningSize(len(data)) {
|
||||
msg := fmt.Sprintf(util.Langs[util.Lang][268], tree.Root.IALAttr("title")+" "+filepath.Base(filePath), util.LargeFileWarningSize)
|
||||
util.PushErrMsg(msg, 7000)
|
||||
}
|
||||
|
||||
afterWriteTree(tree)
|
||||
return
|
||||
}
|
||||
|
|
|
|||
|
|
@ -218,6 +218,10 @@ func InitConf() {
|
|||
Conf.FileTree.DocCreateSavePath = util.TrimSpaceInPath(Conf.FileTree.DocCreateSavePath)
|
||||
Conf.FileTree.RefCreateSavePath = util.TrimSpaceInPath(Conf.FileTree.RefCreateSavePath)
|
||||
util.UseSingleLineSave = Conf.FileTree.UseSingleLineSave
|
||||
if 2 > Conf.FileTree.LargeFileWarningSize {
|
||||
Conf.FileTree.LargeFileWarningSize = 8
|
||||
}
|
||||
util.LargeFileWarningSize = Conf.FileTree.LargeFileWarningSize
|
||||
|
||||
util.CurrentCloudRegion = Conf.CloudRegion
|
||||
|
||||
|
|
|
|||
|
|
@ -46,8 +46,14 @@ func DisableFeature(feature string) {
|
|||
DisabledFeatures = gulu.Str.RemoveDuplicatedElem(DisabledFeatures)
|
||||
}
|
||||
|
||||
// UseSingleLineSave 是否使用单行保存 .sy 和数据库 .json 文件。
|
||||
var UseSingleLineSave = true
|
||||
var (
|
||||
UseSingleLineSave = true // UseSingleLineSave 是否使用单行保存 .sy 和数据库 .json 文件。
|
||||
LargeFileWarningSize = 8 // LargeFileWarningSize 大文件警告大小,单位:MB
|
||||
)
|
||||
|
||||
func ExceedLargeFileWarningSize(fileSize int) bool {
|
||||
return fileSize > LargeFileWarningSize*1024*1024
|
||||
}
|
||||
|
||||
// IsUILoaded 是否已经加载了 UI。
|
||||
var IsUILoaded = false
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue