diff --git a/CHANGELOG.md b/CHANGELOG.md index dd18294..2e597b5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,20 @@ +## :tada: 2.8.2 (2024-04-11) + + +### :bug: Bug Fixes + +* **custom:** exclude gif from format convert ([715f662](https://github.com/Kuingsmile/piclist/commit/715f662)) +* **custom:** fix rename window bug ([45fae30](https://github.com/Kuingsmile/piclist/commit/45fae30)), closes [#186](https://github.com/Kuingsmile/piclist/issues/186) [#117](https://github.com/Kuingsmile/piclist/issues/117) +* **custom:** fix rename window position bug ([1798220](https://github.com/Kuingsmile/piclist/commit/1798220)) +* **custom:** fix watermark bug ([a6e3542](https://github.com/Kuingsmile/piclist/commit/a6e3542)), closes [#188](https://github.com/Kuingsmile/piclist/issues/188) + + +### :pencil: Documentation + +* **custom:** prepare for 2.8.2 ([ef9d34c](https://github.com/Kuingsmile/piclist/commit/ef9d34c)) + + + ## :tada: 2.8.1 (2024-04-09) diff --git a/currentVersion.md b/currentVersion.md index 6ea379e..20f1277 100644 --- a/currentVersion.md +++ b/currentVersion.md @@ -1,22 +1,9 @@ ✨ Features -- 图床功能优化 - - 优化了github等图床路径设置为`/`时的处理 - - 现在会自动对上传路径开始和结尾的`/`进行处理,大部分图床不再强制要求路径以`/`结尾 - - 优化了对自定义网站的处理,现在会自动去除最后多余的`/` -- 上传服务器 - - 现在来自本机的上传请求不再进行鉴权 - - 现在浏览器访问36677端口会显示API文档(支持`/`和`/upload`路径) - - 现在`heartbeat`接口支持`GET`请求 -- 新增内置web服务支持,默认在37777端口开启一个简易web服务器,类似`EasyWebSvr` -- 现在不再对`svg`图片进行水印处理 -- 现在内置高级重命名中`{md5}`使用文件内容而非文件名字符串计算 -- 现在相册URL修改功能的正则匹配增加了`u`修饰符 -- 现在设置界面的弹出窗口支持拖拽调整位置 -- 现在图片处理过程会记录错误日志 +- 现在不再对gif图片进行格式转换 🐛 Bug Fixes -- 修复了设置了服务器鉴权密钥后,Typora上传失败的问题 -- 修复了未设置水印文字时,图片水印功能无法生效的bug -- 修复了server端口被占用时,端口探测功能没有正常发挥作用的问题 +- 修复了重新保存配置后图片水印功能失效的问题 +- 修复了同时打开主界面和mini窗口时,重命名窗口定位错误的问题 +- 修复了特殊情况下软件界面异常退出并导致后台CPU占用过高的问题 diff --git a/currentVersion_en.md b/currentVersion_en.md index 0f2b858..735ae34 100644 --- a/currentVersion_en.md +++ b/currentVersion_en.md @@ -1,22 +1,9 @@ ✨ Features -- Picture bed function optimization - - Optimized the processing of the path set to `/` for github and other picture beds - - Now it will automatically process the `/` at the beginning and end of the upload path, and most picture beds no longer require the path to end with `/` - - Optimized the processing of custom websites, now it will automatically remove the extra `/` at the end -- Upload server - - Now the upload requests from the local machine no longer require authentication - - Now browsing port 36677 will display the API document (support `/` and `/upload` paths) - - Now the `heartbeat` interface supports `GET` requests -- Added built-in web service support, a simple web server is opened by default on port 37777, similar to `EasyWebSvr` -- Now no longer watermark `svg` images -- Now the `{md5}` in the advanced rename uses the file content instead of the file name string for calculation -- The regular expression matching of the album URL modification function now adds the `u` modifier -- Now the pop-up window in the settings interface supports dragging to adjust the position -- Now the image processing process will record error logs +- Now no longer convert gif images 🐛 Bug Fixes -- Fix the problem of Typora upload failure after setting the server authentication key -- Fixed the bug that the image watermark function does not take effect when the watermark text is not set -- Fixed the problem that the port detection function does not work properly when the server port is occupied +- Fix the problem that the image watermark function is invalid after re-saving the configuration +- Fix the problem that the rename window is positioned incorrectly when the main interface and mini window are opened at the same time +- Fix the problem that the software interface exits abnormally under special circumstances and causes high CPU usage in the background diff --git a/package.json b/package.json index 5d128d4..cd8a04d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "piclist", - "version": "2.8.1", + "version": "2.8.2", "author": { "name": "Kuingsmile", "email": "pkukuing@gmail.com" @@ -68,7 +68,7 @@ "multer": "^1.4.5-lts.1", "node-ssh-no-cpu-features": "^1.0.1", "nodejs-file-downloader": "^4.12.1", - "piclist": "^1.8.3", + "piclist": "^1.8.4", "pinia": "^2.1.7", "pinia-plugin-persistedstate": "^3.2.0", "proxy-agent": "^5.0.0", diff --git a/src/main/apis/app/uploader/index.ts b/src/main/apis/app/uploader/index.ts index c50d142..c27a81e 100644 --- a/src/main/apis/app/uploader/index.ts +++ b/src/main/apis/app/uploader/index.ts @@ -106,9 +106,13 @@ class Uploader { const window = windowManager.create(IWindowList.RENAME_WINDOW)! logger.info('create rename window') ipcMain.on(GET_RENAME_FILE_NAME, (evt) => { - if (evt.sender.id === window.webContents.id) { - logger.info('rename window ready, wait for rename...') - window.webContents.send(RENAME_FILE_NAME, fileName, item.fileName, window.webContents.id) + try { + if (evt.sender.id === window.webContents.id) { + logger.info('rename window ready, wait for rename...') + window.webContents.send(RENAME_FILE_NAME, fileName, item.fileName, window.webContents.id) + } + } catch (e: any) { + logger.error(e) } }) name = await waitForRename(window, window.webContents.id) diff --git a/src/main/apis/app/window/windowList.ts b/src/main/apis/app/window/windowList.ts index 91d4e21..78bbb56 100644 --- a/src/main/apis/app/window/windowList.ts +++ b/src/main/apis/app/window/windowList.ts @@ -236,7 +236,7 @@ windowList.set(IWindowList.RENAME_WINDOW, { options: () => renameWindowOptions, async callback (window, windowManager) { window.loadURL(handleWindowParams(RENAME_WINDOW_URL)) - const currentWindow = windowManager.getAvailableWindow() + const currentWindow = windowManager.getAvailableWindow(true) if (currentWindow && currentWindow.isVisible()) { // bounds: { x: 821, y: 75, width: 800, height: 450 } const bounds = currentWindow.getBounds() @@ -259,7 +259,7 @@ windowList.set(IWindowList.TOOLBOX_WINDOW, { options: () => toolboxWindowOptions, async callback (window, windowManager) { window.loadURL(TOOLBOX_WINDOW_URL) - const currentWindow = windowManager.getAvailableWindow() + const currentWindow = windowManager.getAvailableWindow(true) if (currentWindow && currentWindow.isVisible()) { const bounds = currentWindow.getBounds() const positionX = bounds.x + bounds.width / 2 - 400 diff --git a/src/main/apis/app/window/windowManager.ts b/src/main/apis/app/window/windowManager.ts index 5fdebf7..195ba2c 100644 --- a/src/main/apis/app/window/windowManager.ts +++ b/src/main/apis/app/window/windowManager.ts @@ -58,9 +58,9 @@ class WindowManager implements IWindowManager { } } - getAvailableWindow () { + getAvailableWindow (isSkipMiniWindow = false) { const miniWindow = this.windowMap.get(IWindowList.MINI_WINDOW) - if (miniWindow && miniWindow.isVisible()) { + if (miniWindow && miniWindow.isVisible() && !isSkipMiniWindow) { return miniWindow } else { const settingWindow = this.windowMap.get(IWindowList.SETTING_WINDOW) diff --git a/src/universal/types/electron.d.ts b/src/universal/types/electron.d.ts index d04caeb..eb3e35a 100644 --- a/src/universal/types/electron.d.ts +++ b/src/universal/types/electron.d.ts @@ -15,7 +15,7 @@ declare interface IWindowManager { has: (name: IWindowList) => boolean // delete: (name: IWindowList) => void deleteById: (id: number) => void - getAvailableWindow: () => BrowserWindow + getAvailableWindow: (isSkipMiniWindow?: boolean) => BrowserWindow } type IpcRendererListener = (event: import('electron').IpcRendererEvent, ...args: any[]) => void diff --git a/src/universal/utils/configPaths.ts b/src/universal/utils/configPaths.ts index c6cb624..d430f58 100644 --- a/src/universal/utils/configPaths.ts +++ b/src/universal/utils/configPaths.ts @@ -94,7 +94,7 @@ export interface IConfigStruct { uploader: IUploaderConfig buildIn: { compress: IBuildInCompressOptions - waterMark: IBuildInWaterMarkOptions + watermark: IBuildInWaterMarkOptions rename: { enable: boolean format: string @@ -249,7 +249,7 @@ export const configPaths: IConfigPaths = { uploader: 'uploader', buildIn: { compress: 'buildIn.compress', - watermark: 'buildIn.waterMark', + watermark: 'buildIn.watermark', rename: 'buildIn.rename' }, debug: 'debug', diff --git a/yarn.lock b/yarn.lock index 40af689..4893987 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12397,10 +12397,10 @@ performance-now@^2.1.0: resolved "https://registry.npmmirror.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== -piclist@^1.8.3: - version "1.8.3" - resolved "https://registry.yarnpkg.com/piclist/-/piclist-1.8.3.tgz#611cab63cdd65f3549a7c11cdfe809357f81b474" - integrity sha512-Gi7J/trUrGDy6ARL8N76eToFWvOxWRLPUl7c6Bf4xJBVGVt6nG7TMIjPh9qzlpT2y2Z9qTmjQ+UOQBsSN5qONg== +piclist@^1.8.4: + version "1.8.4" + resolved "https://registry.yarnpkg.com/piclist/-/piclist-1.8.4.tgz#a76b1e433c8c5cf9acd5786536883a73db6bd5ae" + integrity sha512-1GKJJzdV+YrdVWr5OEPh6ePqmSBeVdLv3GEqsXkLMrc4H6/odRb66aKhE4oFREZmtzJks/pPawTzldKmScc9Gg== dependencies: "@aws-sdk/client-s3" "3.421.0" "@aws-sdk/lib-storage" "3.421.0"