diff --git a/package-lock.json b/package-lock.json index 0b382ed95..4e328bf80 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,16 +1,16 @@ { "name": "trilium", - "version": "0.61.2-beta", + "version": "0.61.3-beta", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "trilium", - "version": "0.61.2-beta", + "version": "0.61.3-beta", "hasInstallScript": true, "license": "AGPL-3.0-only", "dependencies": { - "@braintree/sanitize-url": "6.0.2", + "@braintree/sanitize-url": "6.0.4", "@electron/remote": "2.0.10", "@excalidraw/excalidraw": "0.15.2", "archiver": "5.3.1", @@ -32,7 +32,7 @@ "escape-html": "1.0.3", "express": "4.18.2", "express-partial-content": "1.0.2", - "express-rate-limit": "6.8.1", + "express-rate-limit": "6.9.0", "express-session": "1.17.3", "fs-extra": "11.1.1", "helmet": "7.0.0", @@ -47,7 +47,7 @@ "jimp": "0.22.10", "joplin-turndown-plugin-gfm": "1.0.12", "jsdom": "22.1.0", - "marked": "5.1.2", + "marked": "7.0.1", "mime-types": "2.1.35", "multer": "1.4.5-lts.1", "node-abi": "3.45.0", @@ -79,13 +79,13 @@ }, "devDependencies": { "cross-env": "7.0.3", - "electron": "25.3.2", + "electron": "25.4.0", "electron-builder": "24.6.3", "electron-packager": "17.1.1", "electron-rebuild": "3.2.9", "eslint": "8.46.0", "eslint-config-airbnb-base": "15.0.0", - "eslint-config-prettier": "8.9.0", + "eslint-config-prettier": "9.0.0", "eslint-plugin-import": "2.28.0", "eslint-plugin-jsonc": "2.9.0", "eslint-plugin-prettier": "5.0.0", @@ -97,8 +97,8 @@ "lint-staged": "13.2.3", "lorem-ipsum": "2.0.8", "nodemon": "3.0.1", - "prettier": "3.0.0", - "rcedit": "3.0.1", + "prettier": "3.0.1", + "rcedit": "3.1.0", "webpack": "5.88.2", "webpack-cli": "5.1.4" }, @@ -128,9 +128,9 @@ } }, "node_modules/@braintree/sanitize-url": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.2.tgz", - "integrity": "sha512-Tbsj02wXCbqGmzdnXNk0SOF19ChhRU70BsroIi4Pm6Ehp56in6vch94mfbdQ17DozxkL3BAVjbZ4Qc1a0HFRAg==" + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.4.tgz", + "integrity": "sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==" }, "node_modules/@develar/schema-utils": { "version": "2.6.5", @@ -4254,9 +4254,9 @@ } }, "node_modules/electron": { - "version": "25.3.2", - "resolved": "https://registry.npmjs.org/electron/-/electron-25.3.2.tgz", - "integrity": "sha512-xiktJvXraaE/ARf2OVHFyTze1TksSbsbJgOaBtdIiBvUduez6ipATEPIec8Msz1n6eQ+xqYb6YF8tDuIZtJSPw==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/electron/-/electron-25.4.0.tgz", + "integrity": "sha512-VLTRxDhL4UvQbqM7pTNENnJo62cdAPZT92N+B7BZQ5Xfok1wuVPEewIjBot4K7U3EpLUuHn1veeLzho3ihiP+Q==", "hasInstallScript": true, "dependencies": { "@electron/get": "^2.0.0", @@ -5113,9 +5113,9 @@ } }, "node_modules/eslint-config-prettier": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.9.0.tgz", - "integrity": "sha512-+sbni7NfVXnOpnRadUA8S28AUlsZt9GjgFvABIRL9Hkn8KqNzOp+7Lw4QWtrwn20KzU3wqu1QoOj2m+7rKRqkA==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz", + "integrity": "sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==", "dev": true, "bin": { "eslint-config-prettier": "bin/cli.js" @@ -5661,9 +5661,9 @@ } }, "node_modules/express-rate-limit": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-6.8.1.tgz", - "integrity": "sha512-xJyudsE60CsDShK74Ni1MxsldYaIoivmG3ieK2tAckMsYCBewEuGalss6p/jHmFFnqM9xd5ojE0W2VlanxcOKg==", + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-6.9.0.tgz", + "integrity": "sha512-AnISR3V8qy4gpKM62/TzYdoFO9NV84fBx0POXzTryHU/qGUJBWuVGd+JhbvtVmKBv37t8/afmqdnv16xWoQxag==", "engines": { "node": ">= 14.0.0" }, @@ -8821,9 +8821,9 @@ } }, "node_modules/marked": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/marked/-/marked-5.1.2.tgz", - "integrity": "sha512-ahRPGXJpjMjwSOlBoTMZAK7ATXkli5qCPxZ21TG44rx1KEo44bii4ekgTDQPNRQ4Kh7JMb9Ub1PVk1NxRSsorg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/marked/-/marked-7.0.1.tgz", + "integrity": "sha512-m8Aze620Ts62yaciz2DghZGUkUfdgvSNRicS2/XtQkStMNoce3NWjOD2b/jWF32+XXK6udM6pRhv2dKNlneAFA==", "bin": { "marked": "bin/marked.js" }, @@ -10210,9 +10210,9 @@ } }, "node_modules/prettier": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.0.tgz", - "integrity": "sha512-zBf5eHpwHOGPC47h0zrPyNn+eAEIdEzfywMoYn2XPi0P44Zp0tSq64rq0xAREh4auw2cJZHo9QUob+NqCQky4g==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.1.tgz", + "integrity": "sha512-fcOWSnnpCrovBsmFZIGIy9UqK2FaI7Hqax+DIO0A9UxeVoY4iweyaFjS5TavZN97Hfehph0nhsZnjlVKzEQSrQ==", "dev": true, "bin": { "prettier": "bin/prettier.cjs" @@ -10471,9 +10471,9 @@ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" }, "node_modules/rcedit": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/rcedit/-/rcedit-3.0.1.tgz", - "integrity": "sha512-XM0Jv40/y4hVAqj/MO70o/IWs4uOsaSoo2mLyk3klFDW+SStLnCtzuQu+1OBTIMGlM8CvaK9ftlYCp6DJ+cMsw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/rcedit/-/rcedit-3.1.0.tgz", + "integrity": "sha512-WRlRdY1qZbu1L11DklT07KuHfRk42l0NFFJdaExELEu4fEQ982bP5Z6OWGPj/wLLIuKRQDCxZJGAwoFsxhZhNA==", "dev": true, "dependencies": { "cross-spawn-windows-exe": "^1.1.0" @@ -13253,9 +13253,9 @@ "dev": true }, "@braintree/sanitize-url": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.2.tgz", - "integrity": "sha512-Tbsj02wXCbqGmzdnXNk0SOF19ChhRU70BsroIi4Pm6Ehp56in6vch94mfbdQ17DozxkL3BAVjbZ4Qc1a0HFRAg==" + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.4.tgz", + "integrity": "sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==" }, "@develar/schema-utils": { "version": "2.6.5", @@ -16442,9 +16442,9 @@ } }, "electron": { - "version": "25.3.2", - "resolved": "https://registry.npmjs.org/electron/-/electron-25.3.2.tgz", - "integrity": "sha512-xiktJvXraaE/ARf2OVHFyTze1TksSbsbJgOaBtdIiBvUduez6ipATEPIec8Msz1n6eQ+xqYb6YF8tDuIZtJSPw==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/electron/-/electron-25.4.0.tgz", + "integrity": "sha512-VLTRxDhL4UvQbqM7pTNENnJo62cdAPZT92N+B7BZQ5Xfok1wuVPEewIjBot4K7U3EpLUuHn1veeLzho3ihiP+Q==", "requires": { "@electron/get": "^2.0.0", "@types/node": "^18.11.18", @@ -17181,9 +17181,9 @@ } }, "eslint-config-prettier": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.9.0.tgz", - "integrity": "sha512-+sbni7NfVXnOpnRadUA8S28AUlsZt9GjgFvABIRL9Hkn8KqNzOp+7Lw4QWtrwn20KzU3wqu1QoOj2m+7rKRqkA==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz", + "integrity": "sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==", "dev": true, "requires": {} }, @@ -17537,9 +17537,9 @@ "requires": {} }, "express-rate-limit": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-6.8.1.tgz", - "integrity": "sha512-xJyudsE60CsDShK74Ni1MxsldYaIoivmG3ieK2tAckMsYCBewEuGalss6p/jHmFFnqM9xd5ojE0W2VlanxcOKg==", + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-6.9.0.tgz", + "integrity": "sha512-AnISR3V8qy4gpKM62/TzYdoFO9NV84fBx0POXzTryHU/qGUJBWuVGd+JhbvtVmKBv37t8/afmqdnv16xWoQxag==", "requires": {} }, "express-session": { @@ -19842,9 +19842,9 @@ "requires": {} }, "marked": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/marked/-/marked-5.1.2.tgz", - "integrity": "sha512-ahRPGXJpjMjwSOlBoTMZAK7ATXkli5qCPxZ21TG44rx1KEo44bii4ekgTDQPNRQ4Kh7JMb9Ub1PVk1NxRSsorg==" + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/marked/-/marked-7.0.1.tgz", + "integrity": "sha512-m8Aze620Ts62yaciz2DghZGUkUfdgvSNRicS2/XtQkStMNoce3NWjOD2b/jWF32+XXK6udM6pRhv2dKNlneAFA==" }, "matcher": { "version": "3.0.0", @@ -20889,9 +20889,9 @@ "dev": true }, "prettier": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.0.tgz", - "integrity": "sha512-zBf5eHpwHOGPC47h0zrPyNn+eAEIdEzfywMoYn2XPi0P44Zp0tSq64rq0xAREh4auw2cJZHo9QUob+NqCQky4g==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.1.tgz", + "integrity": "sha512-fcOWSnnpCrovBsmFZIGIy9UqK2FaI7Hqax+DIO0A9UxeVoY4iweyaFjS5TavZN97Hfehph0nhsZnjlVKzEQSrQ==", "dev": true }, "prettier-linter-helpers": { @@ -21074,9 +21074,9 @@ } }, "rcedit": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/rcedit/-/rcedit-3.0.1.tgz", - "integrity": "sha512-XM0Jv40/y4hVAqj/MO70o/IWs4uOsaSoo2mLyk3klFDW+SStLnCtzuQu+1OBTIMGlM8CvaK9ftlYCp6DJ+cMsw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/rcedit/-/rcedit-3.1.0.tgz", + "integrity": "sha512-WRlRdY1qZbu1L11DklT07KuHfRk42l0NFFJdaExELEu4fEQ982bP5Z6OWGPj/wLLIuKRQDCxZJGAwoFsxhZhNA==", "dev": true, "requires": { "cross-spawn-windows-exe": "^1.1.0" diff --git a/package.json b/package.json index f462c71fa..60294fe25 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "prepare": "husky install || echo 'Husky install failed, expected on flatpak build'" }, "dependencies": { - "@braintree/sanitize-url": "6.0.2", + "@braintree/sanitize-url": "6.0.4", "@electron/remote": "2.0.10", "@excalidraw/excalidraw": "0.15.2", "archiver": "5.3.1", @@ -53,7 +53,7 @@ "escape-html": "1.0.3", "express": "4.18.2", "express-partial-content": "1.0.2", - "express-rate-limit": "6.8.1", + "express-rate-limit": "6.9.0", "express-session": "1.17.3", "fs-extra": "11.1.1", "helmet": "7.0.0", @@ -68,7 +68,7 @@ "jimp": "0.22.10", "joplin-turndown-plugin-gfm": "1.0.12", "jsdom": "22.1.0", - "marked": "5.1.2", + "marked": "7.0.1", "mime-types": "2.1.35", "multer": "1.4.5-lts.1", "node-abi": "3.45.0", @@ -97,13 +97,13 @@ }, "devDependencies": { "cross-env": "7.0.3", - "electron": "25.3.2", + "electron": "25.4.0", "electron-builder": "24.6.3", "electron-packager": "17.1.1", "electron-rebuild": "3.2.9", "eslint": "8.46.0", "eslint-config-airbnb-base": "15.0.0", - "eslint-config-prettier": "8.9.0", + "eslint-config-prettier": "9.0.0", "eslint-plugin-import": "2.28.0", "eslint-plugin-jsonc": "2.9.0", "eslint-plugin-prettier": "5.0.0", @@ -115,8 +115,8 @@ "lint-staged": "13.2.3", "lorem-ipsum": "2.0.8", "nodemon": "3.0.1", - "prettier": "3.0.0", - "rcedit": "3.0.1", + "prettier": "3.0.1", + "rcedit": "3.1.0", "webpack": "5.88.2", "webpack-cli": "5.1.4" }, diff --git a/src/routes/api/clipper.js b/src/routes/api/clipper.js index 523a7a4fb..c987bd8e7 100644 --- a/src/routes/api/clipper.js +++ b/src/routes/api/clipper.js @@ -127,7 +127,11 @@ function createNote(req) { const existingContent = note.getContent(); const rewrittenContent = processContent(images, note, content); - note.setContent(`${existingContent}${existingContent.trim() ? "
" : ""}${rewrittenContent}`); + const newContent = `${existingContent}${existingContent.trim() ? "
" : ""}${rewrittenContent}`; + note.setContent(newContent); + + const noteService = require("../../services/notes"); + noteService.asyncPostProcessContent(note, newContent); // to mark attachments as used return { noteId: note.noteId @@ -154,7 +158,7 @@ function processContent(images, note, content) { const attachment = imageService.saveImageToAttachment(note.noteId, buffer, filename, true); const sanitizedTitle = attachment.title.replace(/[^a-z0-9-.]/gi, ""); - const url = ``; + const url = `api/attachments/${attachment.attachmentId}/image/${sanitizedTitle}`; log.info(`Replacing '${imageId}' with '${url}' in note '${note.noteId}'`);