diff --git a/kernel/model/backlink.go b/kernel/model/backlink.go index 37a3e71d3..877c63817 100644 --- a/kernel/model/backlink.go +++ b/kernel/model/backlink.go @@ -791,10 +791,15 @@ func searchBackmention(mentionKeywords []string, keyword string, excludeBacklink text := textBuf.String() text = strings.ToLower(text) + text = luteEngine.Space(text) var contain bool for _, mentionKeyword := range mentionKeywords { parts := strings.Split(text, " ") for _, part := range parts { + if "" == part { + continue + } + if gulu.Str.IsASCII(mentionKeyword) { if part == mentionKeyword { contain = true diff --git a/kernel/model/search.go b/kernel/model/search.go index b02220a22..57afce85a 100644 --- a/kernel/model/search.go +++ b/kernel/model/search.go @@ -649,8 +649,14 @@ func markReplaceSpan(text string, keywords []string, replacementStart, replaceme for _, k := range keywords { if gulu.Str.IsASCII(k) { - if part == k { - parts[i] = replacementStart + k + replacementEnd + if gulu.Str.IsASCII(part) { + if part == k { + parts[i] = replacementStart + k + replacementEnd + } + } else { + if strings.Contains(part, k) { + parts[i] = strings.ReplaceAll(part, k, replacementStart+k+replacementEnd) + } } } else { if strings.Contains(part, k) { diff --git a/kernel/model/updater.go b/kernel/model/updater.go index a94c083b9..0ba434d08 100644 --- a/kernel/model/updater.go +++ b/kernel/model/updater.go @@ -156,8 +156,10 @@ func downloadInstallPkg(pkgURL, checksum string) { logging.LogInfof("downloading install package [%s]", pkgURL) msgId := util.PushMsg(Conf.Language(103), 60*1000*10) client := req.C().SetTLSHandshakeTimeout(7 * time.Second).SetTimeout(10 * time.Minute) - err = client.NewParallelDownload(pkgURL).SetConcurrency(8).SetSegmentSize(1024 * 1024 * 2). - SetOutputFile(savePath).Do() + callback := func(info req.DownloadInfo) { + //logging.LogDebugf("downloading install package [%s %.2f%%]", pkgURL, float64(info.DownloadedSize)/float64(info.Response.ContentLength)*100.0) + } + _, err = client.R().SetOutputFile(savePath).SetDownloadCallback(callback).Get(pkgURL) if nil != err { logging.LogErrorf("download install package failed: %s", err) util.PushUpdateMsg(msgId, Conf.Language(104), 7000)