From 08bd6a085f7ec8969ad4b1b80f9a4c7e468dcae9 Mon Sep 17 00:00:00 2001 From: edenliu Date: Fri, 14 Aug 2026 14:44:50 +0800 Subject: [PATCH] =?UTF-8?q?=E9=99=8D=E4=BD=8E=E8=AE=BE=E7=BD=AE=E7=AA=97?= =?UTF-8?q?=E5=8F=A3=E7=8E=BB=E7=92=83=E9=80=8F=E6=98=8E=E5=BA=A6=E5=B9=B6?= =?UTF-8?q?=E5=8F=91=E5=B8=83=201.2.4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 6 +++++ Cargo.lock | 2 +- apps/desktop/native-backend/Cargo.toml | 2 +- apps/desktop/package-lock.json | 4 ++-- apps/desktop/package.json | 2 +- apps/desktop/src-tauri/Cargo.lock | 2 +- apps/desktop/src-tauri/Cargo.toml | 2 +- apps/desktop/src-tauri/tauri.conf.json | 2 +- .../features/settings/SettingsPanel.test.tsx | 6 ++--- .../src/features/settings/SettingsPanel.tsx | 11 +++++---- apps/desktop/src/index.css | 23 +++++++++++++++++++ 11 files changed, 46 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 63e00f89..abd99ac0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,6 +32,12 @@ refactors, dependency updates, CI changes, and code cleanup do not belong here. --- +## [1.2.4] - 2026-08-14 + +### Fixed + +- Reduced wallpaper bleed-through in the standalone Settings title bar and navigation sidebar with dedicated high-coverage glass tints, keeping text clear while preserving a subtle native material effect. + ## [1.2.3] - 2026-08-14 ### Fixed diff --git a/Cargo.lock b/Cargo.lock index ba2ac6a0..154ace00 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1845,7 +1845,7 @@ dependencies = [ [[package]] name = "neverwrite-native-backend" -version = "1.2.3" +version = "1.2.4" dependencies = [ "agent-client-protocol", "agent-client-protocol-legacy", diff --git a/apps/desktop/native-backend/Cargo.toml b/apps/desktop/native-backend/Cargo.toml index 3754c172..e736a88e 100644 --- a/apps/desktop/native-backend/Cargo.toml +++ b/apps/desktop/native-backend/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "neverwrite-native-backend" -version = "1.2.3" +version = "1.2.4" edition = "2021" [dependencies] diff --git a/apps/desktop/package-lock.json b/apps/desktop/package-lock.json index 4907f64e..96fcabb2 100644 --- a/apps/desktop/package-lock.json +++ b/apps/desktop/package-lock.json @@ -1,12 +1,12 @@ { "name": "bifrostwrite-desktop", - "version": "1.2.3", + "version": "1.2.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "bifrostwrite-desktop", - "version": "1.2.3", + "version": "1.2.4", "hasInstallScript": true, "dependencies": { "@codemirror/commands": "^6.10.3", diff --git a/apps/desktop/package.json b/apps/desktop/package.json index d55414d1..31cc4580 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -1,7 +1,7 @@ { "name": "bifrostwrite-desktop", "private": true, - "version": "1.2.3", + "version": "1.2.4", "homepage": "https://github.com/bifrost-proxy/BifrostWrite", "type": "module", "engines": { diff --git a/apps/desktop/src-tauri/Cargo.lock b/apps/desktop/src-tauri/Cargo.lock index 677f5fce..610d6c69 100644 --- a/apps/desktop/src-tauri/Cargo.lock +++ b/apps/desktop/src-tauri/Cargo.lock @@ -250,7 +250,7 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "bifrostwrite-desktop" -version = "1.2.3" +version = "1.2.4" dependencies = [ "arboard", "base64 0.22.1", diff --git a/apps/desktop/src-tauri/Cargo.toml b/apps/desktop/src-tauri/Cargo.toml index e30a443f..6356b5fb 100644 --- a/apps/desktop/src-tauri/Cargo.toml +++ b/apps/desktop/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bifrostwrite-desktop" -version = "1.2.3" +version = "1.2.4" edition = "2021" description = "Tauri desktop shell for BifrostWrite" license = "Apache-2.0" diff --git a/apps/desktop/src-tauri/tauri.conf.json b/apps/desktop/src-tauri/tauri.conf.json index b0607a1e..8c0f7280 100644 --- a/apps/desktop/src-tauri/tauri.conf.json +++ b/apps/desktop/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "BifrostWrite", - "version": "1.2.3", + "version": "1.2.4", "identifier": "com.bifrostwrite.desktop", "build": { "beforeDevCommand": "npm run renderer:dev", diff --git a/apps/desktop/src/features/settings/SettingsPanel.test.tsx b/apps/desktop/src/features/settings/SettingsPanel.test.tsx index 7fa88487..3c9d5cc5 100644 --- a/apps/desktop/src/features/settings/SettingsPanel.test.tsx +++ b/apps/desktop/src/features/settings/SettingsPanel.test.tsx @@ -1093,7 +1093,7 @@ describe("SettingsPanel", () => { }); }); - it("uses the main window glass surfaces in standalone settings", async () => { + it("uses stronger dedicated glass surfaces in standalone settings", async () => { setNavigatorIdentity( "Mozilla/5.0 (Macintosh; Intel Mac OS X 15_0) AppleWebKit/605.1.15", "MacIntel", @@ -1108,14 +1108,14 @@ describe("SettingsPanel", () => { await waitFor(() => { expect((chromeRoot as HTMLElement).style.background).toBe( - "var(--window-glass-chrome, var(--bg-secondary))", + "var(--settings-window-glass-chrome, var(--bg-secondary))", ); expect((chromeRoot as HTMLElement).style.backdropFilter).toBe( "blur(28px) saturate(150%)", ); expect(screen.getByTestId("settings-sidebar")).toHaveStyle({ backgroundColor: - "var(--window-glass-panel, var(--bg-secondary))", + "var(--settings-window-glass-panel, var(--bg-secondary))", }); }); }); diff --git a/apps/desktop/src/features/settings/SettingsPanel.tsx b/apps/desktop/src/features/settings/SettingsPanel.tsx index 0ace6e67..b87d8ad6 100644 --- a/apps/desktop/src/features/settings/SettingsPanel.tsx +++ b/apps/desktop/src/features/settings/SettingsPanel.tsx @@ -5671,9 +5671,10 @@ export function SettingsPanel({ const isStandaloneNativeTitlebarOverlay = standalone && (desktopPlatform === "windows" || desktopPlatform === "linux"); - // Standalone Settings uses the same native glass surfaces as the main - // window. The outer shell stays transparent so the material shows - // through, while the content pane re-anchors to a solid background. + // Standalone Settings keeps the native glass material, but its broad, + // text-heavy chrome uses stronger dedicated tints than the main window so + // wallpaper detail cannot compete with the title or navigation labels. + // The content pane remains fully opaque. const useWindowMaterial = standalone && (desktopPlatform === "macos" || desktopPlatform === "windows"); @@ -5681,10 +5682,10 @@ export function SettingsPanel({ ? "transparent" : "var(--bg-primary)"; const chromeBackground = useWindowMaterial - ? "var(--window-glass-chrome, var(--bg-secondary))" + ? "var(--settings-window-glass-chrome, var(--bg-secondary))" : "var(--bg-secondary)"; const sidebarBackground = useWindowMaterial - ? "var(--window-glass-panel, var(--bg-secondary))" + ? "var(--settings-window-glass-panel, var(--bg-secondary))" : "var(--bg-secondary)"; const [active, setActive] = useState(resolvedInitialCategory); const [search, setSearch] = useState(""); diff --git a/apps/desktop/src/index.css b/apps/desktop/src/index.css index 10cc2dbe..78587efc 100644 --- a/apps/desktop/src/index.css +++ b/apps/desktop/src/index.css @@ -498,6 +498,19 @@ html[data-desktop-platform="windows"] { var(--bg-secondary) 72%, transparent ); + /* Settings uses broad, text-heavy glass surfaces. Keep only a restrained + trace of the native material so wallpaper detail cannot compete with + the title or navigation labels. */ + --settings-window-glass-panel: color-mix( + in srgb, + var(--bg-secondary) 94%, + transparent + ); + --settings-window-glass-chrome: color-mix( + in srgb, + var(--bg-secondary) 96%, + transparent + ); --window-glass-hairline: color-mix( in srgb, var(--border) 58%, @@ -531,6 +544,16 @@ html[data-desktop-platform="windows"].dark { var(--bg-secondary) 76%, transparent ); + --settings-window-glass-panel: color-mix( + in srgb, + var(--bg-secondary) 94%, + transparent + ); + --settings-window-glass-chrome: color-mix( + in srgb, + var(--bg-secondary) 96%, + transparent + ); --window-glass-hairline: color-mix( in srgb, var(--border) 64%,