diff --git a/muxplex/frontend/style.css b/muxplex/frontend/style.css index a56861b..24cc1d0 100644 --- a/muxplex/frontend/style.css +++ b/muxplex/frontend/style.css @@ -469,6 +469,7 @@ body { .sidebar-item { height: 120px; + flex-shrink: 0; /* prevent flex from compressing cards to fit */ background: var(--bg-secondary); cursor: pointer; overflow: hidden; diff --git a/muxplex/tests/test_frontend_css.py b/muxplex/tests/test_frontend_css.py index f92d81b..f5aba74 100644 --- a/muxplex/tests/test_frontend_css.py +++ b/muxplex/tests/test_frontend_css.py @@ -604,3 +604,12 @@ def test_sidebar_list_has_touch_action_pan_y(): assert "overscroll-behavior: contain" in block, ( ".sidebar-list must have overscroll-behavior:contain to prevent scroll chaining" ) + + +def test_sidebar_item_has_flex_shrink_zero(): + """Regression: without flex-shrink:0 cards shrink to fit, eliminating scroll overflow.""" + css = read_css() + block = _extract_rule_block(css, ".sidebar-item {") + assert "flex-shrink: 0" in block, ( + ".sidebar-item must have flex-shrink:0 to prevent compression" + )