diff --git a/app/electron/main.js b/app/electron/main.js index ed71d53d9..6ecd667ff 100644 --- a/app/electron/main.js +++ b/app/electron/main.js @@ -55,7 +55,7 @@ const showErrorWindow = (title, content) => { width: screen.getPrimaryDisplay().size.width / 2, height: screen.getPrimaryDisplay().workAreaSize.height / 2, frame: false, - icon: path.join(appDir, 'stage', 'icon.png'), + icon: path.join(appDir, 'stage', 'icon-large.png'), webPreferences: { nativeWindowOpen: true, nodeIntegration: true, @@ -71,7 +71,7 @@ const showErrorWindow = (title, content) => { v: appVer, title: title, content: content, - icon: path.join(appDir, 'stage', 'icon.png'), + icon: path.join(appDir, 'stage', 'icon-large.png'), }, }) errWindow.show() @@ -176,7 +176,7 @@ const boot = () => { }, frame: 'darwin' === process.platform, titleBarStyle: 'hidden', - icon: path.join(appDir, 'stage', 'icon.png'), + icon: path.join(appDir, 'stage', 'icon-large.png'), }) require('@electron/remote/main').enable(mainWindow.webContents) @@ -361,7 +361,7 @@ const boot = () => { if ('win32' === process.platform || 'linux' === process.platform) { // 系统托盘 - tray = new Tray(path.join(appDir, 'stage', 'icon.png')) + tray = new Tray(path.join(appDir, 'stage', 'icon-large.png')) tray.setToolTip('SiYuan') const trayMenuTemplate = [ { @@ -432,7 +432,7 @@ const initKernel = (initData) => { width: screen.getPrimaryDisplay().size.width / 2, height: screen.getPrimaryDisplay().workAreaSize.height / 2, frame: false, - icon: path.join(appDir, 'stage', 'icon.png'), + icon: path.join(appDir, 'stage', 'icon-large.png'), transparent: 'linux' !== process.platform, webPreferences: { nativeWindowOpen: true, @@ -586,7 +586,7 @@ app.whenReady().then(() => { width: screen.getPrimaryDisplay().size.width / 2, height: screen.getPrimaryDisplay().workAreaSize.height / 2, frame: false, - icon: path.join(appDir, 'stage', 'icon.png'), + icon: path.join(appDir, 'stage', 'icon-large.png'), transparent: 'linux' !== process.platform, webPreferences: { nativeWindowOpen: true, @@ -606,7 +606,7 @@ app.whenReady().then(() => { query: { home: app.getPath('home'), v: appVer, - icon: path.join(appDir, 'stage', 'icon.png'), + icon: path.join(appDir, 'stage', 'icon-large.png'), }, }) firstOpenWindow.show() diff --git a/app/stage/icon-large.png b/app/stage/icon-large.png new file mode 100644 index 000000000..16c056ad7 Binary files /dev/null and b/app/stage/icon-large.png differ diff --git a/kernel/model/index.go b/kernel/model/index.go index 46cd41c5b..18e245b45 100644 --- a/kernel/model/index.go +++ b/kernel/model/index.go @@ -183,7 +183,7 @@ func (box *Box) Index(fullRebuildIndex bool) (treeCount int, treeSize int64) { } } - bootProgressPart = 40.0 / float64(boxLen) / float64(treeCount) + bootProgressPart = 20.0 / float64(boxLen) / float64(treeCount) i = 0 // 块级行级入库,缓存块 diff --git a/kernel/model/repository.go b/kernel/model/repository.go index 69095c8a4..a85c573b0 100644 --- a/kernel/model/repository.go +++ b/kernel/model/repository.go @@ -455,7 +455,7 @@ func syncRepo(boot, exit, byHand bool) { return } - err = indexRepoBeforeCloudSync(repo) + indexBeforeSync, err := indexRepoBeforeCloudSync(repo) if nil != err { syncDownloadErrCount++ planSyncAfter(fixSyncInterval) @@ -467,9 +467,9 @@ func syncRepo(boot, exit, byHand bool) { if nil != err { return } + syncContext := map[string]interface{}{dejavu.CtxPushMsg: dejavu.CtxPushMsgToStatusBar} _, mergeResult, trafficStat, err := repo.Sync(cloudInfo, syncContext) - elapsed := time.Since(start) if nil != err { syncDownloadErrCount++ @@ -526,9 +526,15 @@ func syncRepo(boot, exit, byHand bool) { treenode.InitBlockTree() } - incReindex(upserts, removes) cache.ClearDocsIAL() // 同步后文档树文档图标没有更新 https://github.com/siyuan-note/siyuan/issues/4939 + fullReindex := 0.2 < float64(len(upserts))/float64(len(indexBeforeSync.Files)) + if fullReindex { + RefreshFileTree() + return + } + incReindex(upserts, removes) + if !boot && !exit { util.ReloadUI() } @@ -543,10 +549,10 @@ func syncRepo(boot, exit, byHand bool) { return } -func indexRepoBeforeCloudSync(repo *dejavu.Repo) (err error) { +func indexRepoBeforeCloudSync(repo *dejavu.Repo) (index *entity.Index, err error) { start := time.Now() latest, _ := repo.Latest() - index, err := repo.Index("[Sync] Cloud sync", map[string]interface{}{ + index, err = repo.Index("[Sync] Cloud sync", map[string]interface{}{ dejavu.CtxPushMsg: dejavu.CtxPushMsgToStatusBar, }) if nil != err { @@ -682,7 +688,7 @@ func subscribeEvents() { eventbus.Subscribe(dejavu.EvtCloudBeforeDownloadFiles, func(context map[string]interface{}, ids []string) { msg := fmt.Sprintf(Conf.Language(165), len(ids)) util.SetBootDetails(msg) - bootProgressPart = 20 / float64(len(ids)) + bootProgressPart = 10 / float64(len(ids)) contextPushMsg(context, msg) }) eventbus.Subscribe(dejavu.EvtCloudBeforeDownloadFile, func(context map[string]interface{}, id string) { @@ -696,7 +702,7 @@ func subscribeEvents() { eventbus.Subscribe(dejavu.EvtCloudBeforeDownloadChunks, func(context map[string]interface{}, ids []string) { msg := fmt.Sprintf(Conf.Language(166), len(ids)) util.SetBootDetails(msg) - bootProgressPart = 20 / float64(len(ids)) + bootProgressPart = 10 / float64(len(ids)) contextPushMsg(context, msg) }) eventbus.Subscribe(dejavu.EvtCloudBeforeDownloadChunk, func(context map[string]interface{}, id string) {