Reference creatortrack hover gate postcss
CreatorTrack's mobile scroll-highlight fix is a local PostCSS plugin (postcss-plugins/hover-media-feature.cjs in the repo) that wraps every raw :hover rule in @media (hover: hover) at build time; app/theme.css kills -webkit-tap-highlight-color globally. Two traps:
-
Plugin path must be absolute via
process.cwd()inpostcss.config.mjs. Turbopack (productionnext build) require()s plugin-name strings from inside its build chunks: a relative./postcss-plugins/...fails MODULE_NOT_FOUND, andimport.meta.urlgets rewritten to a.next/chunk path because Turbopack bundles the config itself. Webpack dev resolves relative fine, so this only explodes on deploy. -
After any postcss config change, delete
.next/cache(and the dev slot's dist dir) before trusting output. Webpack's persistent cache serves stale, un-processed CSS chunks; a "fixed" page can ship ungated:hoverrules while freshly-touched files look correct. Verify withgrep -c '@media (hover:hover)'on the served/built chunk , the minifier drops the space, so grep without it.
Related UI landmine fixed the same day: .ws-msheet (shared dialog chrome for Quick Task + intake sheets) was display:none at >=1024px, so sheet-based dialogs silently no-opped on desktop; it now has a scoped desktop modal presentation in app/(suite)/workspace.css.
[[reference_creatortrack_worktree_dev_turbopack_symlink]] [[reference_turbopack_root_widening_bug]]