From c789f59b67961f4646e7faa1b34d5f2b4a2eb470 Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Fri, 27 Jan 2023 15:25:34 +0800 Subject: [PATCH 1/9] =?UTF-8?q?:art:=20=E6=9B=B4=E6=94=B9=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96=E7=95=8C=E9=9D=A2=E5=A4=A7=E5=B0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/electron/main.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/electron/main.js b/app/electron/main.js index 847b39bda..47105e224 100644 --- a/app/electron/main.js +++ b/app/electron/main.js @@ -131,8 +131,8 @@ const boot = () => { let defaultHeight let workArea try { - defaultWidth = screen.getPrimaryDisplay().size.width * 4 / 5 - defaultHeight = screen.getPrimaryDisplay().workAreaSize.height * 4 / 5 + defaultWidth = screen.getPrimaryDisplay().size.width + defaultHeight = screen.getPrimaryDisplay().workAreaSize.height workArea = screen.getPrimaryDisplay().workArea } catch (e) { console.error(e) @@ -807,8 +807,8 @@ app.whenReady().then(() => { if (firstOpen) { const firstOpenWindow = new BrowserWindow({ - width: screen.getPrimaryDisplay().size.width / 2, - height: screen.getPrimaryDisplay().workAreaSize.height / 2, + width: screen.getPrimaryDisplay().size.width * 0.6, + height: screen.getPrimaryDisplay().workAreaSize.height * 0.8, frame: false, icon: path.join(appDir, 'stage', 'icon-large.png'), transparent: 'linux' !== process.platform, From 98230a6f90d013c8afce5888a6873062450af067 Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Fri, 27 Jan 2023 15:30:14 +0800 Subject: [PATCH 2/9] =?UTF-8?q?:art:=20=E6=94=B9=E8=BF=9B=20ocr=20?= =?UTF-8?q?=E5=90=8E=E5=8F=B0=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/model/ocr.go | 55 ++++++++++++++++++++++++--------------------- 1 file changed, 29 insertions(+), 26 deletions(-) diff --git a/kernel/model/ocr.go b/kernel/model/ocr.go index 899029274..e45318261 100644 --- a/kernel/model/ocr.go +++ b/kernel/model/ocr.go @@ -32,34 +32,37 @@ func autoOCRAssets() { assetsPath := util.GetDataAssetsAbsPath() assets := getUnOCRAssetsAbsPaths() - - poolSize := runtime.NumCPU() - if 4 < poolSize { - poolSize = 4 - } - waitGroup := &sync.WaitGroup{} - p, _ := ants.NewPoolWithFunc(poolSize, func(arg interface{}) { - defer waitGroup.Done() - - assetAbsPath := arg.(string) - text := util.Tesseract(assetAbsPath) - p := strings.TrimPrefix(assetAbsPath, assetsPath) - p = "assets" + filepath.ToSlash(p) - util.AssetsTextsLock.Lock() - util.AssetsTexts[p] = text - util.AssetsTextsLock.Unlock() - util.AssetsTextsChanged = true - }) - for i, assetAbsPath := range assets { - waitGroup.Add(1) - p.Invoke(assetAbsPath) - - if 63 <= i { // 一次任务中最多处理 64 张图片,防止卡顿 - break + if 0 < len(assets) { + poolSize := runtime.NumCPU() + if 4 < poolSize { + poolSize = 4 } + waitGroup := &sync.WaitGroup{} + p, _ := ants.NewPoolWithFunc(poolSize, func(arg interface{}) { + defer waitGroup.Done() + + assetAbsPath := arg.(string) + text := util.Tesseract(assetAbsPath) + p := strings.TrimPrefix(assetAbsPath, assetsPath) + p = "assets" + filepath.ToSlash(p) + util.AssetsTextsLock.Lock() + util.AssetsTexts[p] = text + util.AssetsTextsLock.Unlock() + util.AssetsTextsChanged = true + }) + + for i, assetAbsPath := range assets { + waitGroup.Add(1) + p.Invoke(assetAbsPath) + + if 63 <= i { // 一次任务中最多处理 64 张图片,防止卡顿 + break + } + } + + waitGroup.Wait() + p.Release() } - waitGroup.Wait() - p.Release() cleanNotExistAssetsTexts() } From 6e56393ab904bf7a52f96985c8d58cddd6c76ce4 Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Fri, 27 Jan 2023 15:35:30 +0800 Subject: [PATCH 3/9] =?UTF-8?q?:art:=20=E6=94=B9=E8=BF=9B=E6=A1=8C?= =?UTF-8?q?=E9=9D=A2=E7=AB=AF=E9=80=80=E5=87=BA=E7=9B=91=E6=8E=A7=E5=90=8E?= =?UTF-8?q?=E5=8F=B0=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/model/process.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/kernel/model/process.go b/kernel/model/process.go index 5225ddd38..53dd2c831 100644 --- a/kernel/model/process.go +++ b/kernel/model/process.go @@ -51,8 +51,13 @@ func HookDesktopUIProcJob() { return } + if 0 < util.CountSessions() { + return + } + uiProcNames := []string{"siyuan", "electron"} existUIProc := false + util.UIProcessIDs.Range(func(uiProcIDArg, _ interface{}) bool { uiProcID, err := strconv.Atoi(uiProcIDArg.(string)) if nil != err { From 95ef384cde2413134a131c33f3b20472bda33c0d Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Fri, 27 Jan 2023 15:35:37 +0800 Subject: [PATCH 4/9] =?UTF-8?q?:art:=20=E6=94=B9=E8=BF=9B=E6=A1=8C?= =?UTF-8?q?=E9=9D=A2=E7=AB=AF=E9=80=80=E5=87=BA=E7=9B=91=E6=8E=A7=E5=90=8E?= =?UTF-8?q?=E5=8F=B0=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/model/process.go | 1 - 1 file changed, 1 deletion(-) diff --git a/kernel/model/process.go b/kernel/model/process.go index 53dd2c831..983b742a3 100644 --- a/kernel/model/process.go +++ b/kernel/model/process.go @@ -57,7 +57,6 @@ func HookDesktopUIProcJob() { uiProcNames := []string{"siyuan", "electron"} existUIProc := false - util.UIProcessIDs.Range(func(uiProcIDArg, _ interface{}) bool { uiProcID, err := strconv.Atoi(uiProcIDArg.(string)) if nil != err { From f3547465c15521b21ea35f779dfc1facea12b9a4 Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Fri, 27 Jan 2023 15:36:43 +0800 Subject: [PATCH 5/9] =?UTF-8?q?:art:=20=E6=94=B9=E8=BF=9B=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E5=90=8E=E5=8F=B0=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/model/sync.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/kernel/model/sync.go b/kernel/model/sync.go index f1a0d16ca..59c0bbc6d 100644 --- a/kernel/model/sync.go +++ b/kernel/model/sync.go @@ -47,9 +47,11 @@ var ( ) func SyncDataJob() { - if time.Now().After(syncPlanTime) { - SyncData(false, false, false) + if time.Now().Before(syncPlanTime) { + return } + + SyncData(false, false, false) } func BootSyncData() { From 8d64ae614983601df40751c213a96c3073e66d89 Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Fri, 27 Jan 2023 15:49:55 +0800 Subject: [PATCH 6/9] =?UTF-8?q?:art:=20=E6=94=B9=E8=BF=9B=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E5=90=8E=E5=8F=B0=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/task/queue.go | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/kernel/task/queue.go b/kernel/task/queue.go index 20baf72c0..df5536341 100644 --- a/kernel/task/queue.go +++ b/kernel/task/queue.go @@ -97,21 +97,23 @@ func StatusJob() { tasks := taskQueue data := map[string]interface{}{} var items []map[string]interface{} + count := map[string]int{} for _, task := range tasks { - if OCRImage == task.Action || DatabaseIndexEmbedBlock == task.Action { - continue - } - actionLangs := util.TaskActionLangs[util.Lang] action := task.Action + if c := count[action]; 3 < c { + logging.LogWarnf("too many tasks [%s], ignore show its status", action) + continue + } + count[action]++ + if nil != actionLangs { if label := actionLangs[task.Action]; nil != label { action = label.(string) } } - item := map[string]interface{}{ - "action": action, - } + + item := map[string]interface{}{"action": action} items = append(items, item) } if 1 > len(items) { From d51d231efa617e2ab6634ea48dad0a35e8426903 Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Fri, 27 Jan 2023 15:51:12 +0800 Subject: [PATCH 7/9] =?UTF-8?q?:art:=20=E6=94=B9=E8=BF=9B=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E5=90=8E=E5=8F=B0=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/sql/queue.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/sql/queue.go b/kernel/sql/queue.go index ecafee0b1..72e29c55e 100644 --- a/kernel/sql/queue.go +++ b/kernel/sql/queue.go @@ -135,7 +135,7 @@ func FlushQueue() { } elapsed := time.Now().Sub(start).Milliseconds() - if 5000 < elapsed { + if 7000 < elapsed { logging.LogInfof("op tx [%dms]", elapsed) } } From d0e15500df140899a65761fb8b5b8049acede42e Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Fri, 27 Jan 2023 15:51:51 +0800 Subject: [PATCH 8/9] :art: logging --- kernel/sql/queue.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/sql/queue.go b/kernel/sql/queue.go index 72e29c55e..7952bbc24 100644 --- a/kernel/sql/queue.go +++ b/kernel/sql/queue.go @@ -136,7 +136,7 @@ func FlushQueue() { elapsed := time.Now().Sub(start).Milliseconds() if 7000 < elapsed { - logging.LogInfof("op tx [%dms]", elapsed) + logging.LogInfof("database op tx [%dms]", elapsed) } } From 90c5d5b6b7f2470234d3c4a541f287f193159d61 Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Fri, 27 Jan 2023 16:23:00 +0800 Subject: [PATCH 9/9] =?UTF-8?q?:art:=20=E5=90=AF=E5=8A=A8=E5=90=8E?= =?UTF-8?q?=E5=8F=B0=E4=BB=BB=E5=8A=A1=E6=97=B6=E5=BB=B6=E8=BF=9F=2050-200?= =?UTF-8?q?=20=E6=AF=AB=E7=A7=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/job/cron.go | 1 + 1 file changed, 1 insertion(+) diff --git a/kernel/job/cron.go b/kernel/job/cron.go index 1b7ce5dde..a2ed36d30 100644 --- a/kernel/job/cron.go +++ b/kernel/job/cron.go @@ -45,6 +45,7 @@ func StartCron() { } func every(interval time.Duration, f func()) { + util.RandomSleep(50, 200) for { func() { defer logging.Recover()