From a6cd1c12b283771b0434b77551e575f297c89a39 Mon Sep 17 00:00:00 2001 From: jim800121chen Date: Wed, 15 Apr 2026 23:20:33 +0800 Subject: [PATCH] =?UTF-8?q?fix(local-tool):=20Wails=20=E6=8E=A7=E5=88=B6?= =?UTF-8?q?=E5=8F=B0=E4=B8=80=E6=89=93=E9=96=8B=E5=B0=B1=E7=9C=8B=E5=88=B0?= =?UTF-8?q?=20modal=20=E2=80=94=20CSS=20specificity=20bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 使用者回報:Windows 乾淨環境安裝後,一打開 app 就看到「Settings modal + shutdown-modal「正在停止伺服器…」+ 紅 banner「伺服器無法啟動」」三個應該 hidden 的 element 同時可見。 前面幾個 commit 一直往 Go 端找為什麼 ctrl.Stop 會被意外呼叫,全都沒對。 真正的 bug 是 CSS specificity: .modal-backdrop { display: flex; ... } /* L587,specificity (0,1,0) */ .error-banner { display: flex; ... } /* L488,specificity (0,1,0) */ 這兩個 class 的 `display: flex` 規則和 user agent stylesheet 內建的 `[hidden] { display: none }` specificity 相同,但因為我們的 CSS 寫在 cascade 後段勝出——結果是即使 DOM 裡元素有 `hidden` 屬性,瀏覽器依然 渲染成 `display: flex` 可見。 三個受害元素: