From 4d79a558f33f5a8aeeb501d079c361e9e94b829a Mon Sep 17 00:00:00 2001 From: sumit-m <33051892+sumit-m@users.noreply.github.com> Date: Thu, 30 Jul 2026 05:58:50 +0530 Subject: [PATCH] fix(ui): don't gate hover affordances on the hover media query Tailwind v4 wraps `hover:` in `@media (hover: hover)`. WebView2 on some Windows hosts reports `hover: none` with a mouse attached, leaving every hover-revealed control permanently invisible. Signed-off-by: sumit-m <33051892+sumit-m@users.noreply.github.com> --- desktop/src/shared/styles/globals.css | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/desktop/src/shared/styles/globals.css b/desktop/src/shared/styles/globals.css index fd60621933..704f6e542d 100644 --- a/desktop/src/shared/styles/globals.css +++ b/desktop/src/shared/styles/globals.css @@ -1,5 +1,6 @@ @import "tailwindcss"; @import "tw-animate-css"; + @import "./globals/scrollbars.css"; @import "./globals/motion.css"; @import "./globals/animations.css"; @@ -17,3 +18,15 @@ @import "./globals/progress.css"; @config "../../../tailwind.config.js"; + +/* Tailwind v4 gates `hover:` behind `@media (hover: hover)`. Some Windows + hosts answer that query `false` even with a mouse attached — WebView2 here + reports `hover: none`, `any-pointer: fine: false`, `maxTouchPoints: 10` — + which leaves every hover-revealed control permanently `visibility: hidden`: + member row action menus, sidebar row actions, attachment controls. A bare + `&:hover` trusts the actual hover event instead of the capability query; + Chromium only fires :hover when a real pointer is present. + + Must stay below every `@import`: CSS requires `@import` to precede other + at-rules, so placing this above them silently drops the rest of the sheet. */ +@custom-variant hover (&:hover);