deepseek-harness/apps/web/tests
Chinesezjc c3e9690b2e fix(ui-theme): gate the standard scrollbar properties behind the missing WebKit pseudo-element
A non-`auto` `scrollbar-width` or `scrollbar-color` makes Chromium and Safari
discard every `::-webkit-scrollbar*` rule for that element, including
`::-webkit-scrollbar-thumb:hover`. Declaring both unconditionally left the
hover tokens rendering nowhere: the engines implementing the hover
pseudo-element are exactly the ones the standard properties silence, and
Firefox has no hover pseudo-element to fall back on. Both hover tokens and all
four elevated surfaces' hover rebinds were therefore dead code.

Measured in chromium on probe elements with `scrollbar-gutter: stable`: an 8px
`::-webkit-scrollbar` alone reserved a 30px band, and adding
`scrollbar-width: thin` dropped it to the 10px `thin` reserves.

The standard properties now sit inside `@supports not
selector(::-webkit-scrollbar)`, so Firefox takes them and WebKit-based engines
take the pseudo-elements. The WebKit rules stay ungated: an engine without
those pseudo-elements drops them as unknown selectors, and gating them would
hide them from an engine that implements them without `selector()` — the
pre-16.4 Safari the ungated form serves correctly.

Three unit assertions pin the split by source offset, which the existing
at-rule-flattening parser cannot see. The web e2e now reads the path chromium
actually takes: the `auto` standard properties as the gate's signature, the
pseudo-element sizing and track, the indirection variables resolved per
throwaway probe, and the hover declaration as cascade rule text — chromium
folds the `:hover` rule into `getComputedStyle(el,
'::-webkit-scrollbar-thumb')`, so no computed query separates the states.
2026-07-28 15:02:20 +08:00
..
snapshots Merge remote-tracking branch 'origin/master' into worktree/web-session-model-selector 2026-07-28 00:39:24 +08:00
code-mode-fixture.snapshot.ts fix: code-mode fixture snapshot 2026-07-27 15:49:37 +08:00
code-mode-round.e2e.ts test(web): connect a Workspace in the e2e boot path and refresh goldens 2026-07-27 08:25:00 +08:00
cordis-tool-round.e2e.ts Restore Cordis mount and unmount names 2026-07-27 21:20:06 +08:00
lifecycle-chrome.e2e.ts test(web): connect a Workspace in the e2e boot path and refresh goldens 2026-07-27 08:25:00 +08:00
live-interactions.e2e.ts test(web): connect a Workspace in the e2e boot path and refresh goldens 2026-07-27 08:25:00 +08:00
navigation-panes.e2e.ts test(web): pin every scenario end-state with an aria golden 2026-07-26 12:45:44 +08:00
question-composer.e2e.ts fix(ui-question): stop option rows absorbing the capped card's shortfall 2026-07-27 19:20:33 +08:00
replay-round-trip.e2e.ts Merge remote-tracking branch 'origin/master' into worktree/web-session-model-selector 2026-07-27 12:17:38 +08:00
scaffold.ts Merge remote-tracking branch 'origin/master' into worktree/web-session-model-selector 2026-07-28 00:39:24 +08:00
seeded-history.e2e.ts Merge remote-tracking branch 'origin/master' into worktree/web-session-model-selector 2026-07-26 13:13:53 +08:00
session-title.snapshot.ts feat(web): support reasoning effort selection 2026-07-27 16:12:40 +08:00
settings-chrome.e2e.ts fix(review): harden web replay verification 2026-07-26 22:38:33 +08:00
sidebar-scrollbar.e2e.ts fix(ui-theme): gate the standard scrollbar properties behind the missing WebKit pseudo-element 2026-07-28 15:02:20 +08:00
slash-flow.snapshot.ts feat(gui): add native workspace folder picker 2026-07-27 03:50:22 -07:00
smoke-real.e2e.ts Merge branch 'master' into worktree/web-session-model-selector 2026-07-27 19:36:19 +08:00
steering.e2e.ts test(web): connect a Workspace in the e2e boot path and refresh goldens 2026-07-27 08:25:00 +08:00
support.ts feat(gui): add native workspace folder picker 2026-07-27 03:50:22 -07:00
todo-display.snapshot.ts Merge branch 'master' into fix/todo-tool-ui 2026-07-27 22:22:40 +08:00
workspace-flow.snapshot.ts feat(gui): add native workspace folder picker 2026-07-27 03:50:22 -07:00
workspace-management.e2e.ts feat(gui): add native workspace folder picker 2026-07-27 03:50:22 -07:00