Reported by Ropecon 2026 in their post-con feedback: several program hosts ended up with exactly -2 meal tickets in their perks. Most likely user error, but the UI permits it.
The perk override number input (src/components/involvement/PerksForm.tsx, <input type="number">) has no min attribute and no clamping. A plausible mechanism for accidental changes: some browsers adjust a focused number input's value on mouse wheel scroll.
Fix:
min={0} on the number input and clamp on change.
- Validate non-negative perk counts in the backend override mutation as well.
Reported by Ropecon 2026 in their post-con feedback: several program hosts ended up with exactly -2 meal tickets in their perks. Most likely user error, but the UI permits it.
The perk override number input (
src/components/involvement/PerksForm.tsx,<input type="number">) has nominattribute and no clamping. A plausible mechanism for accidental changes: some browsers adjust a focused number input's value on mouse wheel scroll.Fix:
min={0}on the number input and clamp on change.