mirror of
https://github.com/penpot/penpot.git
synced 2026-07-04 21:35:22 +00:00
The InteractionProxy `delay` setter rejected `0` via `(not (pos? value))`, so an immediate after-delay interaction (`interaction.delay = 0`) was refused. The model allows it: `set-delay` (common/.../shape/interactions.cljc) only asserts `check-safe-int`, with no positivity constraint, and `safe-int` permits 0. Replace the guard with `(or (not (sm/valid-safe-int? value)) (neg? value))`: it allows 0 and positive integers, rejects negatives, and rejects non-integers cleanly (the previous `number?` check let fractional values through, which then failed the model's `check-safe-int` assertion downstream). Adds a regression test (delay round-trips a positive value, then 0). Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Filip Sajdak <filip.sajdak@siili.com>