You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
sort-filter-lens leaks 61 unnamespaced classes — .error/.row/.muted collide with 16/19/14 other surfaces today #103
sort-filter-lens declares five, three of which chat does not — margin, padding, border-radius.
Specificity decides border and color (chat wins at 0,3,0). But specificity never arises for the other three, because only one rule declares them. So every chat error bubble gains 0.8rem 1rem margin, 0.5rem 0.7rem padding and a 6px radius whenever sort-filter-lens happens to be mounted, and loses them when it isn't.
A member's appearance depends on which sibling is on screen. Under independent deploys that is not debuggable by the team that owns the broken surface.
Read the debt rating carefully
This member is rated debt: critical, and the instinct is "badly built". The sweep found the opposite. It has the best a11y labelling of its cluster (5 aria-label, role="toolbar", role="menu", aria-expanded, a real <label for>) and owns the most capable single control in the product — a persisted 3-key sort with rank badges, direction toggles and a grouped column picker.
Packaging failure, not craft failure. The sort toolbar is the organ most worth promoting out of it — not the member most worth rewriting.
Work
Contain — prefix all 61 or wrap under .sort-filter-lens. Mechanical. Verify: F3 goes 100 → 0 findings. Screenshot chat's error bubble with the lens mounted and unmounted, before and after — the bug is invisible unless two specific remotes are on screen together, which is why it survived.
Decompose — 729 lines, zero components, so there was nowhere for scoped <style> to live. Extract the sort toolbar first.
@keyframes pending-spin runs infinite with no prefers-reduced-motion guard; <span role="button" tabindex="0"> nested inside a <button>.
Bounded
The other four members in the sweep are fully contained — search-and-add 47/47, search-results 76/76, org-workbench 131/131, person-enrichment 110/110. Zero leaks. One member, one file.
Activity