From e4cf1893f4da41e6b998a2a70f3b169ff19ae9e9 Mon Sep 17 00:00:00 2001 From: ILoveBingLu Date: Wed, 8 Apr 2026 20:54:01 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=AD=A3=20Windows=20=E6=A0=87?= =?UTF-8?q?=E9=A2=98=E6=A0=8F=20overlay=20=E8=AE=A1=E7=AE=97=E8=BF=87?= =?UTF-8?q?=E5=B0=8F=E5=AF=BC=E8=87=B4=E7=9A=84=E6=8E=A7=E4=BB=B6=E9=87=8D?= =?UTF-8?q?=E5=8F=A0=E5=B9=B6=E5=8D=87=E7=BA=A7=E5=88=B0=204.1.7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 8 ++++++++ README.md | 2 +- package-lock.json | 4 ++-- package.json | 2 +- src/utils/windowChrome.ts | 11 +++++++++-- 5 files changed, 21 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c1b709..6117ef7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,14 @@ ### 变更 - 暂无 +## [4.1.7] - 2026-04-08 + +### 修复 +- 修复 Windows 独立窗口标题栏在读取原生 overlay 几何后把右侧保底安全区压缩过小的问题,避免朋友圈右上角按钮再次进入系统窗口控件区域 + +### 变更 +- 调整独立窗口标题栏安全区换算逻辑,改为平台保底值与 overlay 实测值取最大值,避免实测值异常时覆盖默认避让 + ## [4.1.6] - 2026-04-08 ### 修复 diff --git a/README.md b/README.md index aba2910..3cc3e5e 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ **一款现代化的微信聊天记录查看与分析工具** [![License](https://img.shields.io/badge/license-CC--BY--NC--SA--4.0-blue.svg)](LICENSE) -[![Version](https://img.shields.io/badge/version-4.1.6-green.svg)](package.json) +[![Version](https://img.shields.io/badge/version-4.1.7-green.svg)](package.json) [![Platform](https://img.shields.io/badge/platform-Windows-0078D6.svg?logo=windows)]() [![Electron](https://img.shields.io/badge/Electron-39-47848F.svg?logo=electron)]() [![React](https://img.shields.io/badge/React-19-61DAFB.svg?logo=react)]() diff --git a/package-lock.json b/package-lock.json index 2daf99a..340cfed 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ciphertalk", - "version": "4.1.6", + "version": "4.1.7", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "ciphertalk", - "version": "4.1.6", + "version": "4.1.7", "hasInstallScript": true, "license": "CC-BY-NC-SA-4.0", "dependencies": { diff --git a/package.json b/package.json index a44a2c7..0229a65 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ciphertalk", - "version": "4.1.6", + "version": "4.1.7", "description": "密语 - 微信聊天记录查看工具", "author": "ILoveBingLu", "license": "CC-BY-NC-SA-4.0", diff --git a/src/utils/windowChrome.ts b/src/utils/windowChrome.ts index ef792cc..7c204ab 100644 --- a/src/utils/windowChrome.ts +++ b/src/utils/windowChrome.ts @@ -98,11 +98,18 @@ export function syncWindowControlsOverlayToDocument( } const normalizedPlatform = normalizeWindowPlatform(platform) + const fallbackMetrics = getWindowChromeMetrics(normalizedPlatform) const overlayPadding = WINDOW_CONTROLS_OVERLAY_PADDING[normalizedPlatform] const controlsRightWidth = Math.max(0, viewportWidth - titlebarAreaRect.x - titlebarAreaRect.width) const chromeHeight = Math.max(parsePixels(WINDOW_CHROME_HEIGHT), titlebarAreaRect.height) - const controlsLeftSafe = Math.max(overlayPadding.left, titlebarAreaRect.x + overlayPadding.left) - const controlsRightSafe = Math.max(overlayPadding.right, controlsRightWidth + overlayPadding.right) + const controlsLeftSafe = Math.max( + parsePixels(fallbackMetrics.controlsLeftSafe), + titlebarAreaRect.x + overlayPadding.left + ) + const controlsRightSafe = Math.max( + parsePixels(fallbackMetrics.controlsRightSafe), + controlsRightWidth + overlayPadding.right + ) root.style.setProperty('--window-chrome-height', toPixels(chromeHeight)) root.style.setProperty('--window-controls-left-safe', toPixels(controlsLeftSafe))