mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-17 23:20:13 +01:00
🎨 重建索引细节进度推送展现 https://github.com/siyuan-note/siyuan/issues/5890
This commit is contained in:
parent
9a7f61f715
commit
e52883fc3e
9 changed files with 89 additions and 133 deletions
2
app/stage/protyle/js/lute/lute.min.js
vendored
2
app/stage/protyle/js/lute/lute.min.js
vendored
File diff suppressed because one or more lines are too long
|
|
@ -7,7 +7,7 @@ require (
|
|||
github.com/88250/css v0.1.2
|
||||
github.com/88250/flock v0.8.2
|
||||
github.com/88250/gulu v1.2.3-0.20220909041418-fdfa4d7380bf
|
||||
github.com/88250/lute v1.7.5-0.20220915150247-57676b7312e1
|
||||
github.com/88250/lute v1.7.5-0.20220916024833-cf60435b2b33
|
||||
github.com/88250/pdfcpu v0.3.13
|
||||
github.com/88250/vitess-sqlparser v0.0.0-20210205111146-56a2ded2aba1
|
||||
github.com/ConradIrwin/font v0.0.0-20210318200717-ce8d41cc0732
|
||||
|
|
@ -38,9 +38,9 @@ require (
|
|||
github.com/patrickmn/go-cache v2.1.0+incompatible
|
||||
github.com/qiniu/go-sdk/v7 v7.13.0
|
||||
github.com/radovskyb/watcher v1.0.7
|
||||
github.com/siyuan-note/dejavu v0.0.0-20220909042242-acde27589097
|
||||
github.com/siyuan-note/dejavu v0.0.0-20220916030034-b12760230ed4
|
||||
github.com/siyuan-note/encryption v0.0.0-20220713091850-5ecd92177b75
|
||||
github.com/siyuan-note/eventbus v0.0.0-20220624162334-ca7c06dc771f
|
||||
github.com/siyuan-note/eventbus v0.0.0-20220916025349-3ac6e75522da
|
||||
github.com/siyuan-note/filelock v0.0.0-20220720144616-011221f7e128
|
||||
github.com/siyuan-note/httpclient v0.0.0-20220906125021-bb9ddffaea0e
|
||||
github.com/siyuan-note/logging v0.0.0-20220717040626-f796b05ee520
|
||||
|
|
|
|||
|
|
@ -19,8 +19,8 @@ github.com/88250/go-sqlite3 v1.14.13-0.20220714142610-fbbda1ee84f5 h1:8HdZozCsXS
|
|||
github.com/88250/go-sqlite3 v1.14.13-0.20220714142610-fbbda1ee84f5/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
|
||||
github.com/88250/gulu v1.2.3-0.20220909041418-fdfa4d7380bf h1:q+iiBuKjdvUKj5dQQHCRs+g9oChTWkZmm7r1FMvtkfI=
|
||||
github.com/88250/gulu v1.2.3-0.20220909041418-fdfa4d7380bf/go.mod h1:I1qBzsksFL2ciGSuqDE7R3XW4BUMrfDgOvSXEk7FsAI=
|
||||
github.com/88250/lute v1.7.5-0.20220915150247-57676b7312e1 h1:7ZtyePWOCVrW5EpUE7NXFBGKhLhAn7SjkIm8LXw1Kqs=
|
||||
github.com/88250/lute v1.7.5-0.20220915150247-57676b7312e1/go.mod h1:cEoBGi0zArPqAsp0MdG9SKinvH/xxZZWXU7sRx8vHSA=
|
||||
github.com/88250/lute v1.7.5-0.20220916024833-cf60435b2b33 h1:I16AH1C+7b0k/Yzr/BLmOyTYFOta+jpWKstgQ0F8P9M=
|
||||
github.com/88250/lute v1.7.5-0.20220916024833-cf60435b2b33/go.mod h1:cEoBGi0zArPqAsp0MdG9SKinvH/xxZZWXU7sRx8vHSA=
|
||||
github.com/88250/pdfcpu v0.3.13 h1:touMWMZkCGalMIbEg9bxYp7rETM+zwb9hXjwhqi4I7Q=
|
||||
github.com/88250/pdfcpu v0.3.13/go.mod h1:S5YT38L/GCjVjmB4PB84PymA1qfopjEhfhTNQilLpv4=
|
||||
github.com/88250/vitess-sqlparser v0.0.0-20210205111146-56a2ded2aba1 h1:48T899JQDwyyRu9yXHePYlPdHtpJfrJEUGBMH3SMBWY=
|
||||
|
|
@ -348,12 +348,12 @@ github.com/shurcooL/reactions v0.0.0-20181006231557-f2e0b4ca5b82/go.mod h1:TCR1l
|
|||
github.com/shurcooL/sanitized_anchor_name v0.0.0-20170918181015-86672fcb3f95/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
|
||||
github.com/shurcooL/users v0.0.0-20180125191416-49c67e49c537/go.mod h1:QJTqeLYEDaXHZDBsXlPCDqdhQuJkuw4NOtaxYe3xii4=
|
||||
github.com/shurcooL/webdavfs v0.0.0-20170829043945-18c3829fa133/go.mod h1:hKmq5kWdCj2z2KEozexVbfEZIWiTjhE0+UjmZgPqehw=
|
||||
github.com/siyuan-note/dejavu v0.0.0-20220909042242-acde27589097 h1:jCev7f50UVfE0Gt/J26q+0gjcEDjTvYQGDPU93/UGpA=
|
||||
github.com/siyuan-note/dejavu v0.0.0-20220909042242-acde27589097/go.mod h1:5dVd4OEze7ZKm9ol698ILwBFsK6vOXb1GOn/iGYRDBI=
|
||||
github.com/siyuan-note/dejavu v0.0.0-20220916030034-b12760230ed4 h1:bKKUoKMgGfR6uLksVqGrmGyj5q4/nzQHKlzQePZjZJ4=
|
||||
github.com/siyuan-note/dejavu v0.0.0-20220916030034-b12760230ed4/go.mod h1:ou8LG8G+7bjjDB4t+pbMdUik6HmOLyKEM+4LMzbS/d4=
|
||||
github.com/siyuan-note/encryption v0.0.0-20220713091850-5ecd92177b75 h1:Bi7/7f29LW+Fm0cHc0J1NO1cZqyJwljSWVmfOqVZgaE=
|
||||
github.com/siyuan-note/encryption v0.0.0-20220713091850-5ecd92177b75/go.mod h1:H8fyqqAbp9XreANjeSbc72zEdFfKTXYN34tc1TjZwtw=
|
||||
github.com/siyuan-note/eventbus v0.0.0-20220624162334-ca7c06dc771f h1:JMobMNZ7AqaKKyEK+WeWFhix/2TDQXgPZDajU00IybU=
|
||||
github.com/siyuan-note/eventbus v0.0.0-20220624162334-ca7c06dc771f/go.mod h1:Sqo4FYX5lAXu7gWkbEdJF0e6P57tNNVV4WDKYDctokI=
|
||||
github.com/siyuan-note/eventbus v0.0.0-20220916025349-3ac6e75522da h1:/jNhl7LC+9BhkWvNxuJDdsNfA/2wvfuj9mqWx4CbV90=
|
||||
github.com/siyuan-note/eventbus v0.0.0-20220916025349-3ac6e75522da/go.mod h1:Sqo4FYX5lAXu7gWkbEdJF0e6P57tNNVV4WDKYDctokI=
|
||||
github.com/siyuan-note/filelock v0.0.0-20220720144616-011221f7e128 h1:p90RgCJ0BFRY60wOFQ+XHAgI6ey3sUWbqHcQ7T3KWfQ=
|
||||
github.com/siyuan-note/filelock v0.0.0-20220720144616-011221f7e128/go.mod h1:NeC98UUl+U62YScI0qWIjzrK+L4Z6WsBL5bueShjBKs=
|
||||
github.com/siyuan-note/httpclient v0.0.0-20220906125021-bb9ddffaea0e h1:iSjaFQk9v8FEMaKMiS9yg8eqxz4jtKC3oKEd6NLN1aA=
|
||||
|
|
|
|||
|
|
@ -146,7 +146,7 @@ func (box *Box) Index(fullRebuildIndex bool) (treeCount int, treeSize int64) {
|
|||
|
||||
bootProgressPart = 20.0 / float64(boxLen) / float64(treeCount)
|
||||
|
||||
context := map[string]interface{}{sql.CtxPushMsg: sql.CtxPushMsgToStatusBarAndProgress}
|
||||
context := map[string]interface{}{eventbus.CtxPushMsg: eventbus.CtxPushMsgToStatusBarAndProgress}
|
||||
i = 0
|
||||
// 块级行级入库,缓存块
|
||||
// 这里不能并行插入,因为 SQLite 不支持
|
||||
|
|
@ -196,7 +196,7 @@ func IndexRefs() {
|
|||
util.SetBootDetails("Resolving refs...")
|
||||
util.PushEndlessProgress(Conf.Language(54))
|
||||
|
||||
context := map[string]interface{}{sql.CtxPushMsg: sql.CtxPushMsgToStatusBarAndProgress}
|
||||
context := map[string]interface{}{eventbus.CtxPushMsg: eventbus.CtxPushMsgToStatusBarAndProgress}
|
||||
// 解析并更新引用块
|
||||
util.SetBootDetails("Resolving ref block content...")
|
||||
refUnresolvedBlocks := sql.GetRefUnresolvedBlocks() // TODO: v2.2.0 以后移除
|
||||
|
|
@ -357,14 +357,14 @@ func isLegacyDynamicBlockRef(blockRef *ast.Node) bool {
|
|||
}
|
||||
|
||||
func init() {
|
||||
eventbus.Subscribe(sql.EvtSQLInsertBlocks, func(context map[string]interface{}, blockCount int, hash string) {
|
||||
eventbus.Subscribe(eventbus.EvtSQLInsertBlocks, func(context map[string]interface{}, blockCount int, hash string) {
|
||||
msg := fmt.Sprintf(Conf.Language(89), blockCount, hash)
|
||||
util.SetBootDetails(msg)
|
||||
contextPushMsg(context, msg)
|
||||
util.ContextPushMsg(context, msg)
|
||||
})
|
||||
eventbus.Subscribe(sql.EvtSQLInsertBlocksFTS, func(context map[string]interface{}, blockCount int, hash string) {
|
||||
eventbus.Subscribe(eventbus.EvtSQLInsertBlocksFTS, func(context map[string]interface{}, blockCount int, hash string) {
|
||||
msg := fmt.Sprintf(Conf.Language(90), blockCount, hash)
|
||||
util.SetBootDetails(msg)
|
||||
contextPushMsg(context, msg)
|
||||
util.ContextPushMsg(context, msg)
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -234,7 +234,7 @@ func CheckoutRepo(id string) (err error) {
|
|||
Conf.Sync.Enabled = false
|
||||
Conf.Save()
|
||||
|
||||
_, _, err = repo.Checkout(id, map[string]interface{}{dejavu.CtxPushMsg: dejavu.CtxPushMsgToStatusBarAndProgress})
|
||||
_, _, err = repo.Checkout(id, map[string]interface{}{eventbus.CtxPushMsg: eventbus.CtxPushMsgToStatusBarAndProgress})
|
||||
if nil != err {
|
||||
util.PushClearProgress()
|
||||
return
|
||||
|
|
@ -267,7 +267,7 @@ func DownloadCloudSnapshot(tag, id string) (err error) {
|
|||
}
|
||||
|
||||
defer util.PushClearProgress()
|
||||
downloadFileCount, downloadChunkCount, downloadBytes, err := repo.DownloadTagIndex(tag, id, cloudInfo, map[string]interface{}{dejavu.CtxPushMsg: dejavu.CtxPushMsgToStatusBarAndProgress})
|
||||
downloadFileCount, downloadChunkCount, downloadBytes, err := repo.DownloadTagIndex(tag, id, cloudInfo, map[string]interface{}{eventbus.CtxPushMsg: eventbus.CtxPushMsgToStatusBarAndProgress})
|
||||
if nil != err {
|
||||
return
|
||||
}
|
||||
|
|
@ -295,7 +295,7 @@ func UploadCloudSnapshot(tag, id string) (err error) {
|
|||
|
||||
util.PushEndlessProgress(Conf.Language(116))
|
||||
defer util.PushClearProgress()
|
||||
uploadFileCount, uploadChunkCount, uploadBytes, err := repo.UploadTagIndex(tag, id, cloudInfo, map[string]interface{}{dejavu.CtxPushMsg: dejavu.CtxPushMsgToStatusBarAndProgress})
|
||||
uploadFileCount, uploadChunkCount, uploadBytes, err := repo.UploadTagIndex(tag, id, cloudInfo, map[string]interface{}{eventbus.CtxPushMsg: eventbus.CtxPushMsgToStatusBarAndProgress})
|
||||
if nil != err {
|
||||
if errors.Is(err, dejavu.ErrCloudBackupCountExceeded) {
|
||||
err = fmt.Errorf(Conf.Language(84), Conf.Language(154))
|
||||
|
|
@ -331,7 +331,7 @@ func RemoveCloudRepoTag(tag string) (err error) {
|
|||
return
|
||||
}
|
||||
|
||||
err = repo.RemoveCloudRepoTag(tag, cloudInfo, map[string]interface{}{dejavu.CtxPushMsg: dejavu.CtxPushMsgToStatusBar})
|
||||
err = repo.RemoveCloudRepoTag(tag, cloudInfo, map[string]interface{}{eventbus.CtxPushMsg: eventbus.CtxPushMsgToStatusBar})
|
||||
if nil != err {
|
||||
return
|
||||
}
|
||||
|
|
@ -353,7 +353,7 @@ func GetCloudRepoTagSnapshots() (ret []*dejavu.Log, err error) {
|
|||
if nil != err {
|
||||
return
|
||||
}
|
||||
ret, err = repo.GetCloudRepoTagLogs(cloudInfo, map[string]interface{}{dejavu.CtxPushMsg: dejavu.CtxPushMsgToStatusBar})
|
||||
ret, err = repo.GetCloudRepoTagLogs(cloudInfo, map[string]interface{}{eventbus.CtxPushMsg: eventbus.CtxPushMsgToStatusBar})
|
||||
if 1 > len(ret) {
|
||||
ret = []*dejavu.Log{}
|
||||
}
|
||||
|
|
@ -452,7 +452,7 @@ func IndexRepo(memo string) (err error) {
|
|||
WaitForWritingFiles()
|
||||
filelock.ReleaseAllFileLocks()
|
||||
index, err := repo.Index(memo, map[string]interface{}{
|
||||
dejavu.CtxPushMsg: dejavu.CtxPushMsgToStatusBarAndProgress,
|
||||
eventbus.CtxPushMsg: eventbus.CtxPushMsgToStatusBarAndProgress,
|
||||
})
|
||||
if nil != err {
|
||||
util.PushStatusBar("Index data repo failed: " + err.Error())
|
||||
|
|
@ -510,7 +510,7 @@ func syncRepo(boot, exit, byHand bool) (err error) {
|
|||
return
|
||||
}
|
||||
|
||||
syncContext := map[string]interface{}{dejavu.CtxPushMsg: dejavu.CtxPushMsgToStatusBar}
|
||||
syncContext := map[string]interface{}{eventbus.CtxPushMsg: eventbus.CtxPushMsgToStatusBar}
|
||||
_, mergeResult, trafficStat, err := repo.Sync(cloudInfo, syncContext)
|
||||
elapsed := time.Since(start)
|
||||
if nil != err {
|
||||
|
|
@ -684,7 +684,7 @@ func indexRepoBeforeCloudSync(repo *dejavu.Repo) (err error) {
|
|||
start := time.Now()
|
||||
latest, _ := repo.Latest()
|
||||
index, err := repo.Index("[Sync] Cloud sync", map[string]interface{}{
|
||||
dejavu.CtxPushMsg: dejavu.CtxPushMsgToStatusBar,
|
||||
eventbus.CtxPushMsg: eventbus.CtxPushMsgToStatusBar,
|
||||
})
|
||||
if nil != err {
|
||||
msg := fmt.Sprintf(Conf.Language(140), formatErrorMsg(err))
|
||||
|
|
@ -725,189 +725,177 @@ func newRepository() (ret *dejavu.Repo, err error) {
|
|||
}
|
||||
|
||||
func subscribeEvents() {
|
||||
eventbus.Subscribe(dejavu.EvtIndexBeforeWalkData, func(context map[string]interface{}, path string) {
|
||||
eventbus.Subscribe(eventbus.EvtIndexBeforeWalkData, func(context map[string]interface{}, path string) {
|
||||
msg := fmt.Sprintf(Conf.Language(158), path)
|
||||
util.SetBootDetails(msg)
|
||||
contextPushMsg(context, msg)
|
||||
util.ContextPushMsg(context, msg)
|
||||
})
|
||||
|
||||
indexWalkDataCount := 0
|
||||
eventbus.Subscribe(dejavu.EvtIndexWalkData, func(context map[string]interface{}, path string) {
|
||||
eventbus.Subscribe(eventbus.EvtIndexWalkData, func(context map[string]interface{}, path string) {
|
||||
msg := fmt.Sprintf(Conf.Language(158), filepath.Base(path))
|
||||
if 0 == indexWalkDataCount%512 {
|
||||
util.SetBootDetails(msg)
|
||||
contextPushMsg(context, msg)
|
||||
util.ContextPushMsg(context, msg)
|
||||
}
|
||||
indexWalkDataCount++
|
||||
})
|
||||
eventbus.Subscribe(dejavu.EvtIndexBeforeGetLatestFiles, func(context map[string]interface{}, files []string) {
|
||||
eventbus.Subscribe(eventbus.EvtIndexBeforeGetLatestFiles, func(context map[string]interface{}, files []string) {
|
||||
msg := fmt.Sprintf(Conf.Language(159), len(files))
|
||||
util.SetBootDetails(msg)
|
||||
contextPushMsg(context, msg)
|
||||
util.ContextPushMsg(context, msg)
|
||||
})
|
||||
getLatestFileCount := 0
|
||||
eventbus.Subscribe(dejavu.EvtIndexGetLatestFile, func(context map[string]interface{}, id string) {
|
||||
eventbus.Subscribe(eventbus.EvtIndexGetLatestFile, func(context map[string]interface{}, id string) {
|
||||
msg := fmt.Sprintf(Conf.Language(159), id[:7])
|
||||
if 0 == getLatestFileCount%512 {
|
||||
util.SetBootDetails(msg)
|
||||
contextPushMsg(context, msg)
|
||||
util.ContextPushMsg(context, msg)
|
||||
}
|
||||
getLatestFileCount++
|
||||
})
|
||||
eventbus.Subscribe(dejavu.EvtIndexUpsertFiles, func(context map[string]interface{}, files []*entity.File) {
|
||||
eventbus.Subscribe(eventbus.EvtIndexUpsertFiles, func(context map[string]interface{}, files []*entity.File) {
|
||||
msg := fmt.Sprintf(Conf.Language(160), len(files))
|
||||
util.SetBootDetails(msg)
|
||||
contextPushMsg(context, msg)
|
||||
util.ContextPushMsg(context, msg)
|
||||
})
|
||||
indexUpsertFileCount := 0
|
||||
eventbus.Subscribe(dejavu.EvtIndexUpsertFile, func(context map[string]interface{}, path string) {
|
||||
eventbus.Subscribe(eventbus.EvtIndexUpsertFile, func(context map[string]interface{}, path string) {
|
||||
msg := fmt.Sprintf(Conf.Language(160), filepath.Base(path))
|
||||
if 0 == indexUpsertFileCount%128 {
|
||||
util.SetBootDetails(msg)
|
||||
contextPushMsg(context, msg)
|
||||
util.ContextPushMsg(context, msg)
|
||||
}
|
||||
indexUpsertFileCount++
|
||||
})
|
||||
|
||||
eventbus.Subscribe(dejavu.EvtCheckoutBeforeWalkData, func(context map[string]interface{}, path string) {
|
||||
eventbus.Subscribe(eventbus.EvtCheckoutBeforeWalkData, func(context map[string]interface{}, path string) {
|
||||
msg := fmt.Sprintf(Conf.Language(161), path)
|
||||
util.SetBootDetails(msg)
|
||||
contextPushMsg(context, msg)
|
||||
util.ContextPushMsg(context, msg)
|
||||
})
|
||||
coWalkDataCount := 0
|
||||
eventbus.Subscribe(dejavu.EvtCheckoutWalkData, func(context map[string]interface{}, path string) {
|
||||
eventbus.Subscribe(eventbus.EvtCheckoutWalkData, func(context map[string]interface{}, path string) {
|
||||
msg := fmt.Sprintf(Conf.Language(161), filepath.Base(path))
|
||||
if 0 == coWalkDataCount%512 {
|
||||
util.SetBootDetails(msg)
|
||||
contextPushMsg(context, msg)
|
||||
util.ContextPushMsg(context, msg)
|
||||
}
|
||||
coWalkDataCount++
|
||||
})
|
||||
var bootProgressPart float64
|
||||
eventbus.Subscribe(dejavu.EvtCheckoutUpsertFiles, func(context map[string]interface{}, files []*entity.File) {
|
||||
eventbus.Subscribe(eventbus.EvtCheckoutUpsertFiles, func(context map[string]interface{}, files []*entity.File) {
|
||||
msg := fmt.Sprintf(Conf.Language(162), len(files))
|
||||
util.SetBootDetails(msg)
|
||||
bootProgressPart = 10 / float64(len(files))
|
||||
contextPushMsg(context, msg)
|
||||
util.ContextPushMsg(context, msg)
|
||||
})
|
||||
coUpsertFileCount := 0
|
||||
eventbus.Subscribe(dejavu.EvtCheckoutUpsertFile, func(context map[string]interface{}, path string) {
|
||||
eventbus.Subscribe(eventbus.EvtCheckoutUpsertFile, func(context map[string]interface{}, path string) {
|
||||
msg := fmt.Sprintf(Conf.Language(162), filepath.Base(path))
|
||||
util.IncBootProgress(bootProgressPart, msg)
|
||||
if 0 == coUpsertFileCount%128 {
|
||||
contextPushMsg(context, msg)
|
||||
util.ContextPushMsg(context, msg)
|
||||
}
|
||||
coUpsertFileCount++
|
||||
})
|
||||
eventbus.Subscribe(dejavu.EvtCheckoutRemoveFiles, func(context map[string]interface{}, files []*entity.File) {
|
||||
eventbus.Subscribe(eventbus.EvtCheckoutRemoveFiles, func(context map[string]interface{}, files []*entity.File) {
|
||||
msg := fmt.Sprintf(Conf.Language(163), files)
|
||||
util.SetBootDetails(msg)
|
||||
bootProgressPart = 10 / float64(len(files))
|
||||
contextPushMsg(context, msg)
|
||||
util.ContextPushMsg(context, msg)
|
||||
})
|
||||
coRemoveFileCount := 0
|
||||
eventbus.Subscribe(dejavu.EvtCheckoutRemoveFile, func(context map[string]interface{}, path string) {
|
||||
eventbus.Subscribe(eventbus.EvtCheckoutRemoveFile, func(context map[string]interface{}, path string) {
|
||||
msg := fmt.Sprintf(Conf.Language(163), filepath.Base(path))
|
||||
util.IncBootProgress(bootProgressPart, msg)
|
||||
if 0 == coRemoveFileCount%512 {
|
||||
contextPushMsg(context, msg)
|
||||
util.ContextPushMsg(context, msg)
|
||||
}
|
||||
coRemoveFileCount++
|
||||
})
|
||||
|
||||
eventbus.Subscribe(dejavu.EvtCloudBeforeDownloadIndex, func(context map[string]interface{}, id string) {
|
||||
eventbus.Subscribe(eventbus.EvtCloudBeforeDownloadIndex, func(context map[string]interface{}, id string) {
|
||||
msg := fmt.Sprintf(Conf.Language(164), id[:7])
|
||||
util.IncBootProgress(1, msg)
|
||||
contextPushMsg(context, msg)
|
||||
util.ContextPushMsg(context, msg)
|
||||
})
|
||||
|
||||
eventbus.Subscribe(dejavu.EvtCloudBeforeDownloadFiles, func(context map[string]interface{}, ids []string) {
|
||||
eventbus.Subscribe(eventbus.EvtCloudBeforeDownloadFiles, func(context map[string]interface{}, ids []string) {
|
||||
msg := fmt.Sprintf(Conf.Language(165), len(ids))
|
||||
util.SetBootDetails(msg)
|
||||
bootProgressPart = 10 / float64(len(ids))
|
||||
contextPushMsg(context, msg)
|
||||
util.ContextPushMsg(context, msg)
|
||||
})
|
||||
downloadFileCount := 0
|
||||
eventbus.Subscribe(dejavu.EvtCloudBeforeDownloadFile, func(context map[string]interface{}, id string) {
|
||||
eventbus.Subscribe(eventbus.EvtCloudBeforeDownloadFile, func(context map[string]interface{}, id string) {
|
||||
msg := fmt.Sprintf(Conf.Language(165), id[:7])
|
||||
util.IncBootProgress(bootProgressPart, msg)
|
||||
if 0 == downloadFileCount%8 {
|
||||
contextPushMsg(context, msg)
|
||||
util.ContextPushMsg(context, msg)
|
||||
}
|
||||
downloadFileCount++
|
||||
})
|
||||
eventbus.Subscribe(dejavu.EvtCloudBeforeDownloadChunks, func(context map[string]interface{}, ids []string) {
|
||||
eventbus.Subscribe(eventbus.EvtCloudBeforeDownloadChunks, func(context map[string]interface{}, ids []string) {
|
||||
msg := fmt.Sprintf(Conf.Language(166), len(ids))
|
||||
util.SetBootDetails(msg)
|
||||
bootProgressPart = 10 / float64(len(ids))
|
||||
contextPushMsg(context, msg)
|
||||
util.ContextPushMsg(context, msg)
|
||||
})
|
||||
downloadChunkCount := 0
|
||||
eventbus.Subscribe(dejavu.EvtCloudBeforeDownloadChunk, func(context map[string]interface{}, id string) {
|
||||
eventbus.Subscribe(eventbus.EvtCloudBeforeDownloadChunk, func(context map[string]interface{}, id string) {
|
||||
msg := fmt.Sprintf(Conf.Language(166), id[:7])
|
||||
util.IncBootProgress(bootProgressPart, msg)
|
||||
if 0 == downloadChunkCount%8 {
|
||||
contextPushMsg(context, msg)
|
||||
util.ContextPushMsg(context, msg)
|
||||
}
|
||||
downloadChunkCount++
|
||||
})
|
||||
eventbus.Subscribe(dejavu.EvtCloudBeforeDownloadRef, func(context map[string]interface{}, ref string) {
|
||||
eventbus.Subscribe(eventbus.EvtCloudBeforeDownloadRef, func(context map[string]interface{}, ref string) {
|
||||
msg := fmt.Sprintf(Conf.Language(167), ref)
|
||||
util.IncBootProgress(1, msg)
|
||||
contextPushMsg(context, msg)
|
||||
util.ContextPushMsg(context, msg)
|
||||
})
|
||||
eventbus.Subscribe(dejavu.EvtCloudBeforeUploadIndex, func(context map[string]interface{}, id string) {
|
||||
eventbus.Subscribe(eventbus.EvtCloudBeforeUploadIndex, func(context map[string]interface{}, id string) {
|
||||
msg := fmt.Sprintf(Conf.Language(168), id[:7])
|
||||
util.IncBootProgress(1, msg)
|
||||
contextPushMsg(context, msg)
|
||||
util.ContextPushMsg(context, msg)
|
||||
})
|
||||
eventbus.Subscribe(dejavu.EvtCloudBeforeUploadFiles, func(context map[string]interface{}, files []*entity.File) {
|
||||
eventbus.Subscribe(eventbus.EvtCloudBeforeUploadFiles, func(context map[string]interface{}, files []*entity.File) {
|
||||
msg := fmt.Sprintf(Conf.Language(169), len(files))
|
||||
util.SetBootDetails(msg)
|
||||
contextPushMsg(context, msg)
|
||||
util.ContextPushMsg(context, msg)
|
||||
})
|
||||
uploadFileCount := 0
|
||||
eventbus.Subscribe(dejavu.EvtCloudBeforeUploadFile, func(context map[string]interface{}, id string) {
|
||||
eventbus.Subscribe(eventbus.EvtCloudBeforeUploadFile, func(context map[string]interface{}, id string) {
|
||||
msg := fmt.Sprintf(Conf.Language(169), id[:7])
|
||||
if 0 == uploadFileCount%8 {
|
||||
util.SetBootDetails(msg)
|
||||
contextPushMsg(context, msg)
|
||||
util.ContextPushMsg(context, msg)
|
||||
}
|
||||
uploadFileCount++
|
||||
})
|
||||
eventbus.Subscribe(dejavu.EvtCloudBeforeUploadChunks, func(context map[string]interface{}, ids []string) {
|
||||
eventbus.Subscribe(eventbus.EvtCloudBeforeUploadChunks, func(context map[string]interface{}, ids []string) {
|
||||
msg := fmt.Sprintf(Conf.Language(170), len(ids))
|
||||
util.SetBootDetails(msg)
|
||||
contextPushMsg(context, msg)
|
||||
util.ContextPushMsg(context, msg)
|
||||
})
|
||||
uploadChunkCount := 0
|
||||
eventbus.Subscribe(dejavu.EvtCloudBeforeUploadChunk, func(context map[string]interface{}, id string) {
|
||||
eventbus.Subscribe(eventbus.EvtCloudBeforeUploadChunk, func(context map[string]interface{}, id string) {
|
||||
msg := fmt.Sprintf(Conf.Language(170), id[:7])
|
||||
if 0 == uploadChunkCount%8 {
|
||||
util.SetBootDetails(msg)
|
||||
contextPushMsg(context, msg)
|
||||
util.ContextPushMsg(context, msg)
|
||||
}
|
||||
uploadChunkCount++
|
||||
})
|
||||
eventbus.Subscribe(dejavu.EvtCloudBeforeUploadRef, func(context map[string]interface{}, ref string) {
|
||||
eventbus.Subscribe(eventbus.EvtCloudBeforeUploadRef, func(context map[string]interface{}, ref string) {
|
||||
msg := fmt.Sprintf(Conf.Language(171), ref)
|
||||
util.SetBootDetails(msg)
|
||||
contextPushMsg(context, msg)
|
||||
util.ContextPushMsg(context, msg)
|
||||
})
|
||||
}
|
||||
|
||||
func contextPushMsg(context map[string]interface{}, msg string) {
|
||||
switch context[dejavu.CtxPushMsg].(int) {
|
||||
case dejavu.CtxPushMsgToProgress:
|
||||
util.PushEndlessProgress(msg)
|
||||
case dejavu.CtxPushMsgToStatusBar:
|
||||
util.PushStatusBar(msg)
|
||||
case dejavu.CtxPushMsgToStatusBarAndProgress:
|
||||
util.PushStatusBar(msg)
|
||||
util.PushEndlessProgress(msg)
|
||||
}
|
||||
}
|
||||
|
||||
func buildCloudInfo() (ret *dejavu.CloudInfo, err error) {
|
||||
if !IsValidCloudDirName(Conf.Sync.CloudName) {
|
||||
logging.LogWarnf("invalid cloud repo name, rename it to [main]")
|
||||
|
|
|
|||
|
|
@ -1,46 +0,0 @@
|
|||
// SiYuan - Build Your Eternal Digital Garden
|
||||
// Copyright (c) 2020-present, b3log.org
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
package sql
|
||||
|
||||
import (
|
||||
"github.com/siyuan-note/siyuan/kernel/util"
|
||||
)
|
||||
|
||||
const (
|
||||
EvtSQLInsertBlocks = "sql.insert.blocks"
|
||||
EvtSQLInsertBlocksFTS = "sql.insert.blocks_fts"
|
||||
)
|
||||
|
||||
const (
|
||||
CtxPushMsg = "pushMsg"
|
||||
|
||||
CtxPushMsgToProgress = iota
|
||||
CtxPushMsgToStatusBar
|
||||
CtxPushMsgToStatusBarAndProgress
|
||||
)
|
||||
|
||||
func contextPushMsg(context map[string]interface{}, msg string) {
|
||||
switch context[CtxPushMsg].(int) {
|
||||
case CtxPushMsgToProgress:
|
||||
util.PushEndlessProgress(msg)
|
||||
case CtxPushMsgToStatusBar:
|
||||
util.PushStatusBar(msg)
|
||||
case CtxPushMsgToStatusBarAndProgress:
|
||||
util.PushStatusBar(msg)
|
||||
util.PushEndlessProgress(msg)
|
||||
}
|
||||
}
|
||||
|
|
@ -27,6 +27,7 @@ import (
|
|||
|
||||
"github.com/88250/lute/parse"
|
||||
"github.com/emirpasic/gods/sets/hashset"
|
||||
"github.com/siyuan-note/eventbus"
|
||||
"github.com/siyuan-note/logging"
|
||||
"github.com/siyuan-note/siyuan/kernel/util"
|
||||
)
|
||||
|
|
@ -98,7 +99,7 @@ func flushTreeQueue() {
|
|||
return
|
||||
}
|
||||
|
||||
context := map[string]interface{}{CtxPushMsg: CtxPushMsgToStatusBar}
|
||||
context := map[string]interface{}{eventbus.CtxPushMsg: eventbus.CtxPushMsgToStatusBar}
|
||||
boxes := hashset.New()
|
||||
for _, op := range ops {
|
||||
switch op.action {
|
||||
|
|
|
|||
|
|
@ -128,7 +128,7 @@ func insertBlocks0(tx *sql.Tx, bulk []*Block, context map[string]interface{}) (e
|
|||
}
|
||||
hashBuf.WriteString("blocks")
|
||||
evtHash := fmt.Sprintf("%x", sha256.Sum256(hashBuf.Bytes()))[:7]
|
||||
eventbus.Publish(EvtSQLInsertBlocks, context, len(bulk), evtHash)
|
||||
eventbus.Publish(eventbus.EvtSQLInsertBlocks, context, len(bulk), evtHash)
|
||||
|
||||
stmt = fmt.Sprintf(BlocksFTSInsert, strings.Join(valueStrings, ","))
|
||||
if err = prepareExecInsertTx(tx, stmt, valueArgs); nil != err {
|
||||
|
|
@ -143,7 +143,7 @@ func insertBlocks0(tx *sql.Tx, bulk []*Block, context map[string]interface{}) (e
|
|||
}
|
||||
hashBuf.WriteString("fts")
|
||||
evtHash = fmt.Sprintf("%x", sha256.Sum256(hashBuf.Bytes()))[:7]
|
||||
eventbus.Publish(EvtSQLInsertBlocksFTS, context, len(bulk), evtHash)
|
||||
eventbus.Publish(eventbus.EvtSQLInsertBlocksFTS, context, len(bulk), evtHash)
|
||||
return
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ import (
|
|||
|
||||
"github.com/88250/gulu"
|
||||
"github.com/olahol/melody"
|
||||
"github.com/siyuan-note/eventbus"
|
||||
)
|
||||
|
||||
var (
|
||||
|
|
@ -150,6 +151,18 @@ func PushStatusBar(msg string) {
|
|||
BroadcastByType("main", "statusbar", 0, msg, nil)
|
||||
}
|
||||
|
||||
func ContextPushMsg(context map[string]interface{}, msg string) {
|
||||
switch context[eventbus.CtxPushMsg].(int) {
|
||||
case eventbus.CtxPushMsgToProgress:
|
||||
PushEndlessProgress(msg)
|
||||
case eventbus.CtxPushMsgToStatusBar:
|
||||
PushStatusBar(msg)
|
||||
case eventbus.CtxPushMsgToStatusBarAndProgress:
|
||||
PushStatusBar(msg)
|
||||
PushEndlessProgress(msg)
|
||||
}
|
||||
}
|
||||
|
||||
const (
|
||||
PushProgressCodeProgressed = 0 // 有进度
|
||||
PushProgressCodeEndless = 1 // 无进度
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue