mirror of
https://github.com/siyuan-note/siyuan.git
synced 2026-01-07 17:28:50 +01:00
Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
eacd80493c
26 changed files with 73 additions and 58 deletions
6
.github/CONTRIBUTING.md
vendored
6
.github/CONTRIBUTING.md
vendored
|
|
@ -14,10 +14,10 @@ Install pnpm: `npm install -g pnpm@9.12.1`
|
|||
|
||||
Set the Electron mirror environment variable and install Electron:
|
||||
|
||||
* macOS/Linux: `ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ pnpm install electron@v33.4.0 -D`
|
||||
* macOS/Linux: `ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ pnpm install electron@v33.4.1 -D`
|
||||
* Windows:
|
||||
* `SET ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/`
|
||||
* `pnpm install electron@v33.4.0 -D`
|
||||
* `pnpm install electron@v33.4.1 -D`
|
||||
|
||||
NPM mirror:
|
||||
|
||||
|
|
@ -28,7 +28,7 @@ NPM mirror:
|
|||
|
||||
On the desktop, go to the app folder to run:
|
||||
|
||||
* `pnpm install electron@v33.4.0 -D`
|
||||
* `pnpm install electron@v33.4.1 -D`
|
||||
* `pnpm run dev`
|
||||
* `pnpm run start`
|
||||
|
||||
|
|
|
|||
6
.github/CONTRIBUTING_zh_CN.md
vendored
6
.github/CONTRIBUTING_zh_CN.md
vendored
|
|
@ -16,11 +16,11 @@
|
|||
|
||||
* macOS/Linux:
|
||||
```
|
||||
ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ pnpm install electron@v33.4.0 -D
|
||||
ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ pnpm install electron@v33.4.1 -D
|
||||
```
|
||||
* Windows:
|
||||
* `SET ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/`
|
||||
* `pnpm install electron@v33.4.0 -D`
|
||||
* `pnpm install electron@v33.4.1 -D`
|
||||
|
||||
NPM 镜像:
|
||||
|
||||
|
|
@ -30,7 +30,7 @@ NPM 镜像:
|
|||
|
||||
桌面端进入 app 文件夹运行:
|
||||
|
||||
* `pnpm install electron@v33.4.0 -D`
|
||||
* `pnpm install electron@v33.4.1 -D`
|
||||
* `pnpm run dev`
|
||||
* `pnpm run start`
|
||||
|
||||
|
|
|
|||
|
|
@ -1050,8 +1050,8 @@
|
|||
"md7": "رمز صورة الشبكة",
|
||||
"md8": "بعد التمكين، إذا كانت الصورة ملف ويب (ملف أصول غير محلي)، فستعرض علامة زاوية",
|
||||
"md9": "قائمة إدراج الكلمات المفتاحية المرجعية الافتراضية",
|
||||
"md12": "الإشارات المرجعية والأسماء والأسماء المستعارة والملاحظات وعدد المراجع",
|
||||
"md16": "بعد التمكين، إذا كانت هناك هذه المعلومات، سيتم عرضها على الجانب الأيمن العلوي من الكتلة",
|
||||
"md12": "رمز الزاوية لكتلة المحتوى",
|
||||
"md16": "عرض في الزاوية العلوية اليمنى الإشارات المرجعية والأسماء والأسماء المستعارة والملاحظات واسم قاعدة البيانات المرتبطة وعدد المراجع",
|
||||
"md27": "رقم السطر لكتلة الكود",
|
||||
"md28": "بعد التمكين، ستعرض كتلة الكود رقم السطر (يرجى ملاحظة أن التمكين قد يقلل من أداء المحرر)",
|
||||
"md29": "عدد مسافات لمفتاح Tab",
|
||||
|
|
|
|||
|
|
@ -1050,8 +1050,8 @@
|
|||
"md7": "Netzwerkbildsymbol",
|
||||
"md8": "Nach der Aktivierung wird, wenn das Bild eine Webdatei (kein lokales Asset) ist, ein Eckzeichen angezeigt",
|
||||
"md9": "Virtuelle Referenz-Stichwort-Einschlussliste",
|
||||
"md12": "Lesezeichen, Namen, Aliase, Notizen und Referenzanzahl",
|
||||
"md16": "Nach der Aktivierung wird, wenn solche Informationen vorhanden sind, dies auf der oberen rechten Seite des Blocks angezeigt",
|
||||
"md12": "Ecke-Icon des Inhaltsblocks",
|
||||
"md16": "In der oberen rechten Ecke anzeigen: Lesezeichen, Namen, Aliase, Notizen, den Namen der verbundenen Datenbank und die Referenzanzahl",
|
||||
"md27": "Codeblock-Zeilennummer",
|
||||
"md28": "Nach der Aktivierung zeigt der Codeblock die Zeilennummer an (Bitte beachten Sie, dass die Aktivierung die Leistung des Editors beeinträchtigen kann)",
|
||||
"md29": "Anzahl der Tabulatoren",
|
||||
|
|
|
|||
|
|
@ -1050,8 +1050,8 @@
|
|||
"md7": "Network image icon",
|
||||
"md8": "After enabling, if the image is a web file (non-local asset file), it will display a corner mark",
|
||||
"md9": "Virtual Reference keyword inclusion list",
|
||||
"md12": "Bookmark, name, alias, memo and reference count",
|
||||
"md16": "After enabling, if there is such information, it will be displayed on the upper right side of the block",
|
||||
"md12": "Content block corner icon",
|
||||
"md16": "Display bookmarks, names, aliases, notes, the name of the bound database, and reference count in the top right corner",
|
||||
"md27": "Code block line number",
|
||||
"md28": "After enabling, the code block will display the line number (Please note that enabling may reduce editor performance)",
|
||||
"md29": "Number of Tab Spaces",
|
||||
|
|
|
|||
|
|
@ -1050,8 +1050,8 @@
|
|||
"md7": "Icono de imagen de red",
|
||||
"md8": "Después de habilitarlo, si la imagen es un archivo de red (archivo de activos no locales), mostrará una marca de esquina",
|
||||
"md9": "Lista de inclusión de palabras clave de referencia virtual",
|
||||
"md12": "Marcadores, nombres, alias, notas y recuento de referencias",
|
||||
"md16": "Una vez habilitado, si existe dicha información, se mostrará en la parte superior derecha del bloque",
|
||||
"md12": "Icono de esquina del bloque de contenido",
|
||||
"md16": "Mostrar en la esquina superior derecha los marcadores, nombres, alias, notas, el nombre de la base de datos vinculada y el recuento de referencias",
|
||||
"md27": "Número de línea del bloque de código",
|
||||
"md28": "Tras la habilitación, el bloque de código mostrará el número de línea (Tenga en cuenta que habilitarlo puede reducir el rendimiento del editor)",
|
||||
"md29": "Número de espacios de Tab",
|
||||
|
|
|
|||
|
|
@ -1050,8 +1050,8 @@
|
|||
"md7": "Icône d'image réseau",
|
||||
"md8": "Après l'activation, si l'image est un fichier web (fichier d'actif non local), une marque d'angle apparaîtra.",
|
||||
"md9": "Liste d'inclusion de mots-clés de référence virtuelle",
|
||||
"md12": "Signets, noms, alias, notes et nombre de références",
|
||||
"md16": "Après l'activation, si de telles informations existent, elles seront affichées dans la partie haute à droite du bloc.",
|
||||
"md12": "Icône de coin du bloc de contenu",
|
||||
"md16": "Afficher en haut à droite les signets, noms, alias, notes, le nom de la base de données liée et le nombre de références",
|
||||
"md27": "Numéro de ligne du bloc de code",
|
||||
"md28": "Après l'activation, le bloc de code affichera le numéro de ligne. (Veuillez noter que l'activation peut réduire les performances de l'éditeur)",
|
||||
"md29": "Nombre d'espaces Tab ",
|
||||
|
|
|
|||
|
|
@ -1050,8 +1050,8 @@
|
|||
"md7": "סמל תמונה ברשת",
|
||||
"md8": "לאחר הפעלת אפשרות זו, אם התמונה היא קובץ אינטרנט (קובץ נכס שאינו מקומי), היא תציג סימן פינה",
|
||||
"md9": "רשימת מילות מפתח כלליות של הפניה וירטואלית לכלול",
|
||||
"md12": "סימניות, שמות, כינויים, הערות ומספר הפניות",
|
||||
"md16": "לאחר הפעלת אפשרות זו, אם יש מידע זה, הוא יוצג בצד ימין העליון של הבלוק",
|
||||
"md12": "סמל פינה של בלוק התוכן",
|
||||
"md16": "הצג בפינה העליונה הימנית סימניות, שמות, כינויים, הערות, שם מסד הנתונים הקשור ומספר הפניות",
|
||||
"md27": "מספר שורת הקוד",
|
||||
"md28": "לאחר הפעלת אפשרות זו, בלוק הקוד יציג את מספר השורה (שימו לב, הפעלת אפשרות זו עשויה להוריד את ביצועי העורך)",
|
||||
"md29": "מספר רווחי טאב",
|
||||
|
|
|
|||
|
|
@ -1050,8 +1050,8 @@
|
|||
"md7": "Icona immagine di rete",
|
||||
"md8": "Dopo l'abilitazione, se l'immagine è un file web (non un file di asset locale), verrà mostrato un marchio d'angolo",
|
||||
"md9": "Lista di inclusione delle parole chiave di riferimento virtuale",
|
||||
"md12": "Segnalibri, nomi, alias, note e conteggio dei riferimenti",
|
||||
"md16": "Dopo l'abilitazione, se ci sono tali informazioni, verranno visualizzate sul lato destro del blocco",
|
||||
"md12": "Icona dell'angolo del blocco di contenuto",
|
||||
"md16": "Visualizza in alto a destra segnalibri, nomi, alias, note, nome del database associato e conteggio dei riferimenti",
|
||||
"md27": "Numerazione delle righe del blocco di codice",
|
||||
"md28": "Dopo l'abilitazione, il blocco di codice mostrerà il numero di riga (Nota: l'abilitazione può ridurre le prestazioni dell'editor)",
|
||||
"md29": "Numero di spazi del Tab",
|
||||
|
|
|
|||
|
|
@ -1050,8 +1050,8 @@
|
|||
"md7": "ネットワーク画像アイコン",
|
||||
"md8": "ネットワーク画像 (ローカルのアセットファイル以外) の隅にマークを表示します",
|
||||
"md9": "仮想参照に含めるキーワードのリスト",
|
||||
"md12": "ブックマーク、名前、エイリアス、メモ、および参照数",
|
||||
"md16": "ブックマーク、名前、エイリアス、メモ、参照数をブロックの右上に表示します",
|
||||
"md12": "コンテンツブロックのコーナーアイコン",
|
||||
"md16": "右上にブックマーク、名前、エイリアス、メモ、バインドされたデータベースの名前および参照数を表示する",
|
||||
"md27": "コードブロックの行番号",
|
||||
"md28": "コードブロックに行番号を表示します (エディタのパフォーマンスが低下する可能性があります)",
|
||||
"md29": "Tab スペースの数",
|
||||
|
|
|
|||
|
|
@ -1050,8 +1050,8 @@
|
|||
"md7": "Ikona obrazu sieciowego",
|
||||
"md8": "Po włączeniu, jeśli obraz jest plikiem internetowym (nie lokalnym plikiem zasobu), zostanie wyświetlony znacznik rogu",
|
||||
"md9": "Lista słów kluczowych referencji wirtualnych",
|
||||
"md12": "Zakładki, nazwy, aliasy, notatki i liczba odwołań",
|
||||
"md16": "Po włączeniu, jeśli taka informacja jest dostępna, zostanie wyświetlona w prawym górnym rogu bloku",
|
||||
"md12": "Ikona rogu bloku treści",
|
||||
"md16": "Wyświetlaj w prawym górnym rogu zakładki, nazwy, aliasy, notatki, nazwę powiązanej bazy danych i liczbę odwołań",
|
||||
"md27": "Numer linii bloku kodu",
|
||||
"md28": "Po włączeniu, blok kodu wyświetli numer linii (Proszę pamiętać, że włączenie może obniżyć wydajność edytora)",
|
||||
"md29": "Ilość spacji Tab",
|
||||
|
|
|
|||
|
|
@ -1050,8 +1050,8 @@
|
|||
"md7": "Значок сетевого изображения",
|
||||
"md8": "После включения, если изображение является веб-файлом (не локальный файл ресурса), станет виден угловой знак",
|
||||
"md9": "Список включаемых ключевых слов виртуальной ссылки",
|
||||
"md12": "Закладки, имена, псевдонимы, заметки и количество ссылок",
|
||||
"md16": "После включения, если такая информация есть, она будет отображена в верхней правой части блока",
|
||||
"md12": "Угловая иконка блока контента",
|
||||
"md16": "Отображать в правом верхнем углу закладки, имена, псевдонимы, заметки, имя связанной базы данных и количество ссылок",
|
||||
"md27": "Номер строки блока кода",
|
||||
"md28": "После включения блок кода будет отображать номер строки (пожалуйста, обратите внимание, что включение может снизить производительность редактора)",
|
||||
"md29": "Количество пробелов табуляции",
|
||||
|
|
|
|||
|
|
@ -1050,8 +1050,8 @@
|
|||
"md7": "網路圖片角標",
|
||||
"md8": "啟用後如果圖片是網路檔(非本地資源檔)則會顯示角標",
|
||||
"md9": "虛擬引用關鍵字包含列表",
|
||||
"md12": "書籤、命名、別名、備註和引用計數",
|
||||
"md16": "啟用後如果存在這些資訊則將在塊的右上側進行顯示",
|
||||
"md12": "內容塊角標",
|
||||
"md16": "在右上側顯示書籤、命名、別名、備註、綁定資料庫的名稱和引用計數",
|
||||
"md27": "代碼塊顯示行號",
|
||||
"md28": "啟用後代碼塊會顯示行號(請注意啟用後可能會降低編輯器性能)",
|
||||
"md29": "Tab 空格數",
|
||||
|
|
|
|||
|
|
@ -1050,8 +1050,8 @@
|
|||
"md7": "网络图片角标",
|
||||
"md8": "启用后如果图片是网络文件(非本地资源文件)则会显示角标",
|
||||
"md9": "虚拟引用关键字包含列表",
|
||||
"md12": "书签、命名、别名、备注和引用计数",
|
||||
"md16": "启用后如果存在这些信息则将在块的右上侧进行显示",
|
||||
"md12": "内容块角标",
|
||||
"md16": "在右上侧显示书签、命名、别名、备注、绑定数据库的名称和引用计数",
|
||||
"md27": "代码块显示行号",
|
||||
"md28": "启用后代码块会显示行号(请注意启用后可能会降低编辑器性能)",
|
||||
"md29": "Tab 空格数",
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@
|
|||
"clean-webpack-plugin": "^4.0.0",
|
||||
"css-loader": "^6.7.1",
|
||||
"dayjs": "^1.11.5",
|
||||
"electron": "33.4.0",
|
||||
"electron": "33.4.1",
|
||||
"electron-builder": "25.1.8",
|
||||
"encoding": "^0.1.13",
|
||||
"esbuild-loader": "^3.0.1",
|
||||
|
|
|
|||
16
app/pnpm-lock.yaml
generated
16
app/pnpm-lock.yaml
generated
|
|
@ -10,7 +10,7 @@ importers:
|
|||
dependencies:
|
||||
'@electron/remote':
|
||||
specifier: ^2.1.2
|
||||
version: 2.1.2(electron@33.4.0)
|
||||
version: 2.1.2(electron@33.4.1)
|
||||
devDependencies:
|
||||
'@types/node':
|
||||
specifier: ^18.13.0
|
||||
|
|
@ -34,8 +34,8 @@ importers:
|
|||
specifier: ^1.11.5
|
||||
version: 1.11.5
|
||||
electron:
|
||||
specifier: 33.4.0
|
||||
version: 33.4.0
|
||||
specifier: 33.4.1
|
||||
version: 33.4.1
|
||||
electron-builder:
|
||||
specifier: 25.1.8
|
||||
version: 25.1.8(electron-builder-squirrel-windows@25.0.5)
|
||||
|
|
@ -1145,8 +1145,8 @@ packages:
|
|||
electron-to-chromium@1.5.39:
|
||||
resolution: {integrity: sha512-4xkpSR6CjuiaNyvwiWDI85N9AxsvbPawB8xc7yzLPonYTuP19BVgYweKyUMFtHEZgIcHWMt1ks5Cqx2m+6/Grg==}
|
||||
|
||||
electron@33.4.0:
|
||||
resolution: {integrity: sha512-AO+Q/ygWwKKs+JtNEFgfS5ntjG3TA2HX7s4IEbiYi6lktaocuLP2oScG1/mmKRuUWoOcow2RRsf995L2mM4bvQ==}
|
||||
electron@33.4.1:
|
||||
resolution: {integrity: sha512-ICXI9hw3Ru3XwaZLZdwyARn85GpoF9n4BrrwkHJtsoi4rl3qA7IM/Qu5HlDhqnbH4XuPNmHwoJ8bGJqo0lJ4+A==}
|
||||
engines: {node: '>= 12.20.55'}
|
||||
hasBin: true
|
||||
|
||||
|
|
@ -2834,9 +2834,9 @@ snapshots:
|
|||
- bluebird
|
||||
- supports-color
|
||||
|
||||
'@electron/remote@2.1.2(electron@33.4.0)':
|
||||
'@electron/remote@2.1.2(electron@33.4.1)':
|
||||
dependencies:
|
||||
electron: 33.4.0
|
||||
electron: 33.4.1
|
||||
|
||||
'@electron/universal@2.0.1':
|
||||
dependencies:
|
||||
|
|
@ -4012,7 +4012,7 @@ snapshots:
|
|||
|
||||
electron-to-chromium@1.5.39: {}
|
||||
|
||||
electron@33.4.0:
|
||||
electron@33.4.1:
|
||||
dependencies:
|
||||
'@electron/get': 2.0.2
|
||||
'@types/node': 20.14.5
|
||||
|
|
|
|||
|
|
@ -348,6 +348,7 @@ ${data.shorthandContent}
|
|||
path: pathPosix().join(getDisplayName(toPath[0], false, true), Lute.NewNodeID() + ".sy"),
|
||||
title: replaceFileName(response.data.shorthandTitle),
|
||||
md: md,
|
||||
listDocTree: true,
|
||||
}, () => {
|
||||
this.remove(item);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -22,7 +22,6 @@ import (
|
|||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/88250/gulu"
|
||||
|
|
@ -166,7 +165,7 @@ func getEmojiConf(c *gin.Context) {
|
|||
items := []map[string]interface{}{}
|
||||
custom["items"] = items
|
||||
if gulu.File.IsDir(customConfDir) {
|
||||
model.CustomEmojis = sync.Map{}
|
||||
model.ClearCustomEmojis()
|
||||
customEmojis, err := os.ReadDir(customConfDir)
|
||||
if err != nil {
|
||||
logging.LogErrorf("read custom emojis failed: %s", err)
|
||||
|
|
@ -224,7 +223,7 @@ func addCustomEmoji(name string, items *[]map[string]interface{}) {
|
|||
*items = append(*items, emoji)
|
||||
|
||||
imgSrc := "/emojis/" + name
|
||||
model.CustomEmojis.Store(nameWithoutExt, imgSrc)
|
||||
model.AddCustomEmoji(nameWithoutExt, imgSrc)
|
||||
}
|
||||
|
||||
func checkUpdate(c *gin.Context) {
|
||||
|
|
|
|||
|
|
@ -748,11 +748,11 @@ func buildTreeBackmention(defSQLBlock *sql.Block, refBlocks []*Block, keyword st
|
|||
mentionKeywords = append(mentionKeywords, v.(string))
|
||||
}
|
||||
mentionKeywords = prepareMarkKeywords(mentionKeywords)
|
||||
ret = searchBackmention(mentionKeywords, keyword, excludeBacklinkIDs, rootID, beforeLen)
|
||||
mentionKeywords, ret = searchBackmention(mentionKeywords, keyword, excludeBacklinkIDs, rootID, beforeLen)
|
||||
return
|
||||
}
|
||||
|
||||
func searchBackmention(mentionKeywords []string, keyword string, excludeBacklinkIDs *hashset.Set, rootID string, beforeLen int) (ret []*Block) {
|
||||
func searchBackmention(mentionKeywords []string, keyword string, excludeBacklinkIDs *hashset.Set, rootID string, beforeLen int) (retMentionKeywords []string, ret []*Block) {
|
||||
ret = []*Block{}
|
||||
if 1 > len(mentionKeywords) {
|
||||
return
|
||||
|
|
@ -825,6 +825,9 @@ func searchBackmention(mentionKeywords []string, keyword string, excludeBacklink
|
|||
newText := markReplaceSpanWithSplit(text, mentionKeywords, search.GetMarkSpanStart(search.MarkDataType), search.GetMarkSpanEnd())
|
||||
if text != newText {
|
||||
tmp = append(tmp, b)
|
||||
|
||||
k := gulu.Str.SubstringsBetween(newText, search.GetMarkSpanStart(search.MarkDataType), search.GetMarkSpanEnd())
|
||||
retMentionKeywords = append(retMentionKeywords, k...)
|
||||
} else {
|
||||
// columnFilter 中的命名、别名和备注命中的情况
|
||||
// 反链提及搜索范围增加命名、别名和备注 https://github.com/siyuan-note/siyuan/issues/7639
|
||||
|
|
@ -836,6 +839,8 @@ func searchBackmention(mentionKeywords []string, keyword string, excludeBacklink
|
|||
}
|
||||
}
|
||||
blocks = tmp
|
||||
retMentionKeywords = gulu.Str.RemoveDuplicatedElem(retMentionKeywords)
|
||||
mentionKeywords = retMentionKeywords
|
||||
|
||||
mentionBlockMap := map[string]*Block{}
|
||||
for _, block := range blocks {
|
||||
|
|
|
|||
|
|
@ -468,6 +468,7 @@ func GetCloudShorthand(id string) (ret map[string]interface{}, err error) {
|
|||
luteEngine := NewLute()
|
||||
luteEngine.SetFootnotes(true)
|
||||
tree := parse.Parse("", []byte(md), luteEngine.ParseOptions)
|
||||
luteEngine.RenderOptions.ProtyleMarkNetImg = false
|
||||
content := luteEngine.ProtylePreview(tree, luteEngine.RenderOptions)
|
||||
ret["shorthandContent"] = content
|
||||
return
|
||||
|
|
@ -521,6 +522,7 @@ func GetCloudShorthands(page int) (result map[string]interface{}, err error) {
|
|||
md := shorthand["shorthandContent"].(string)
|
||||
shorthand["shorthandMd"] = md
|
||||
tree := parse.Parse("", []byte(md), luteEngine.ParseOptions)
|
||||
luteEngine.RenderOptions.ProtyleMarkNetImg = false
|
||||
content := luteEngine.ProtylePreview(tree, luteEngine.RenderOptions)
|
||||
shorthand["shorthandContent"] = content
|
||||
}
|
||||
|
|
|
|||
|
|
@ -691,7 +691,15 @@ func Close(force, setCurrentWorkspace bool, execInstallPkg int) (exitCode int) {
|
|||
return
|
||||
}
|
||||
|
||||
var CustomEmojis = sync.Map{}
|
||||
var customEmojis = sync.Map{}
|
||||
|
||||
func AddCustomEmoji(emojiName, imgSrc string) {
|
||||
customEmojis.Store(emojiName, imgSrc)
|
||||
}
|
||||
|
||||
func ClearCustomEmojis() {
|
||||
customEmojis.Clear()
|
||||
}
|
||||
|
||||
func NewLute() (ret *lute.Lute) {
|
||||
ret = util.NewLute()
|
||||
|
|
@ -701,7 +709,7 @@ func NewLute() (ret *lute.Lute) {
|
|||
ret.SetSpellcheck(Conf.Editor.Spellcheck)
|
||||
|
||||
customEmojiMap := map[string]string{}
|
||||
CustomEmojis.Range(func(key, value interface{}) bool {
|
||||
customEmojis.Range(func(key, value interface{}) bool {
|
||||
customEmojiMap[key.(string)] = value.(string)
|
||||
return true
|
||||
})
|
||||
|
|
|
|||
|
|
@ -1601,7 +1601,7 @@ func removeDoc0(tree *parse.Tree, childrenDir string) {
|
|||
if nil != defTree {
|
||||
defNode := treenode.GetNodeInTree(defTree, defID)
|
||||
if nil != defNode {
|
||||
task.AppendAsyncTaskWithDelay(task.SetDefRefCount, 1*time.Second, refreshRefCount, defTree.ID, defNode.ID)
|
||||
task.AppendAsyncTaskWithDelay(task.SetDefRefCount, util.SQLFlushInterval, refreshRefCount, defTree.ID, defNode.ID)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -330,7 +330,7 @@ func RollbackDocHistory(boxID, historyPath string) (err error) {
|
|||
if nil != defTree {
|
||||
defNode := treenode.GetNodeInTree(defTree, defID)
|
||||
if nil != defNode {
|
||||
task.AppendAsyncTaskWithDelay(task.SetDefRefCount, 1*time.Second, refreshRefCount, defTree.ID, defNode.ID)
|
||||
task.AppendAsyncTaskWithDelay(task.SetDefRefCount, util.SQLFlushInterval, refreshRefCount, defTree.ID, defNode.ID)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -866,13 +866,13 @@ func ImportFromLocalPath(boxID, localPath string, toPath string) (err error) {
|
|||
return ast.WalkContinue
|
||||
}
|
||||
|
||||
absolutePath := filepath.Join(localPath, dest)
|
||||
absolutePath := filepath.Join(currentDir, dest)
|
||||
newAbsolutePath := absolutePath
|
||||
|
||||
decodedDest := string(html.DecodeDestination([]byte(dest)))
|
||||
if decodedDest != dest {
|
||||
dest = decodedDest
|
||||
newAbsolutePath = filepath.Join(localPath, dest)
|
||||
newAbsolutePath = filepath.Join(currentDir, dest)
|
||||
gulu.File.Copy(absolutePath, newAbsolutePath)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -381,8 +381,8 @@ func (tx *Transaction) doMove(operation *Operation) (ret *TxErr) {
|
|||
if err = tx.writeTree(targetTree); err != nil {
|
||||
return
|
||||
}
|
||||
task.AppendAsyncTaskWithDelay(task.SetDefRefCount, 1*time.Second, refreshRefCount, srcTree.ID, srcTree.ID)
|
||||
task.AppendAsyncTaskWithDelay(task.SetDefRefCount, 1*time.Second, refreshRefCount, targetTree.ID, srcNode.ID)
|
||||
task.AppendAsyncTaskWithDelay(task.SetDefRefCount, util.SQLFlushInterval, refreshRefCount, srcTree.ID, srcTree.ID)
|
||||
task.AppendAsyncTaskWithDelay(task.SetDefRefCount, util.SQLFlushInterval, refreshRefCount, targetTree.ID, srcNode.ID)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
|
@ -466,8 +466,8 @@ func (tx *Transaction) doMove(operation *Operation) (ret *TxErr) {
|
|||
if err = tx.writeTree(targetTree); err != nil {
|
||||
return &TxErr{code: TxErrCodeWriteTree, msg: err.Error(), id: id}
|
||||
}
|
||||
task.AppendAsyncTaskWithDelay(task.SetDefRefCount, 1*time.Second, refreshRefCount, srcTree.ID, srcTree.ID)
|
||||
task.AppendAsyncTaskWithDelay(task.SetDefRefCount, 1*time.Second, refreshRefCount, targetTree.ID, srcNode.ID)
|
||||
task.AppendAsyncTaskWithDelay(task.SetDefRefCount, util.SQLFlushInterval, refreshRefCount, srcTree.ID, srcTree.ID)
|
||||
task.AppendAsyncTaskWithDelay(task.SetDefRefCount, util.SQLFlushInterval, refreshRefCount, targetTree.ID, srcNode.ID)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
|
@ -779,7 +779,7 @@ func (tx *Transaction) doDelete(operation *Operation) (ret *TxErr) {
|
|||
if nil != defTree {
|
||||
defNode := treenode.GetNodeInTree(defTree, defID)
|
||||
if nil != defNode {
|
||||
task.AppendAsyncTaskWithDelay(task.SetDefRefCount, 1*time.Second, refreshRefCount, defTree.ID, defNode.ID)
|
||||
task.AppendAsyncTaskWithDelay(task.SetDefRefCount, util.SQLFlushInterval, refreshRefCount, defTree.ID, defNode.ID)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1110,7 +1110,7 @@ func (tx *Transaction) doInsert(operation *Operation) (ret *TxErr) {
|
|||
if nil != defTree {
|
||||
defNode := treenode.GetNodeInTree(defTree, defID)
|
||||
if nil != defNode {
|
||||
task.AppendAsyncTaskWithDelay(task.SetDefRefCount, 1*time.Second, refreshRefCount, defTree.ID, defNode.ID)
|
||||
task.AppendAsyncTaskWithDelay(task.SetDefRefCount, util.SQLFlushInterval, refreshRefCount, defTree.ID, defNode.ID)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1221,7 +1221,7 @@ func (tx *Transaction) doUpdate(operation *Operation) (ret *TxErr) {
|
|||
if nil != defTree {
|
||||
defNode := treenode.GetNodeInTree(defTree, defID)
|
||||
if nil != defNode {
|
||||
task.AppendAsyncTaskWithDelay(task.SetDefRefCount, 1*time.Second, refreshRefCount, defTree.ID, defNode.ID)
|
||||
task.AppendAsyncTaskWithDelay(task.SetDefRefCount, util.SQLFlushInterval, refreshRefCount, defTree.ID, defNode.ID)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -179,7 +179,7 @@ func StatusJob() {
|
|||
queueLock.Lock()
|
||||
for _, task := range taskQueue {
|
||||
action := task.Action
|
||||
if c := count[action]; 2 < c {
|
||||
if c := count[action]; 7 < c {
|
||||
logging.LogWarnf("too many tasks [%s], ignore show its status", action)
|
||||
continue
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue