sendou.ink/app/features/comp-analyzer/components
Kalle 806207d34e Fix SecurityError from comp-analyzer slider replaceState spam
Dragging the enemy SubDef / RES sliders on the comp-analyzer page
fired `useSearchParamState`'s setter on every intermediate value,
which calls `window.history.replaceState`. Browsers cap that at
100 calls per 10 seconds, so any sustained drag tripped:

    SecurityError: Attempt to use history.replaceState()
    more than 100 times per 10 seconds

Split the slider state into two cells: a local `useState` that drives
the slider thumb, label, and damage calculations on every change, and
the URL-backed hook value, which is only written on drag-end events
(`onPointerUp`, `onKeyUp`, `onBlur`). The URL now updates once per
interaction instead of once per pixel.
2026-05-13 21:24:02 +03:00
..
DamageComboBar.module.css Migrate to nested CSS 2026-03-28 16:30:28 +02:00
DamageComboBar.tsx Fix SecurityError from comp-analyzer slider replaceState spam 2026-05-13 21:24:02 +03:00
RangeVisualization.module.css Migrate to nested CSS 2026-03-28 16:30:28 +02:00
RangeVisualization.tsx Design refresh + a bunch of stuff (#2864) 2026-03-19 17:51:42 +02:00
SelectedWeapons.browser.test.tsx Drag to reorder weapons in comp analyzer 2026-04-21 08:59:58 +03:00
SelectedWeapons.module.css Drag to reorder weapons in comp analyzer 2026-04-21 08:59:58 +03:00
SelectedWeapons.tsx Drag to reorder weapons in comp analyzer 2026-04-21 08:59:58 +03:00
WeaponCategories.module.css Migrate to nested CSS 2026-03-28 16:30:28 +02:00
WeaponCategories.tsx Comp Analyzer (#2759) 2026-01-20 17:58:50 +02:00
WeaponGrid.browser.test.tsx Comp Analyzer (#2759) 2026-01-20 17:58:50 +02:00
WeaponGrid.module.css Migrate to nested CSS 2026-03-28 16:30:28 +02:00
WeaponGrid.tsx Comp Analyzer (#2759) 2026-01-20 17:58:50 +02:00