Cap the send dialog's recipients at the template's declared slots

Fixkamo-internal
Shipped
August 6, 2026 at 1:02 PM UTC
Author
kamo
Commit
6823208

The Send for signature dialog seeds one recipient row and offers an unbounded "Add recipient", but it never fetched the template's signer slots. ESigService rejects an over-supplied send with a 400 — there is no correct slot to bind the extras to, and an unbound recipient is shown zero fields and can press Finish having signed nothing — so staff could type a third recipient onto a two-slot template and only learn about it from a raw error after pressing Send. The dialog now reads GET **************** when it opens and disables "Add recipient" once the rows reach the slot count, with an n/total hint beside the button. Fails open by construction: a failed fetch, a non-array body or zero declared slots leaves the count unknown and the button unbounded, exactly as before. A metadata fetch must never be what stops a document being sent. The hint needs no new translation key — the fraction is rendered from data and the "Max reached" label reuses the existing settingsSignersTab key, since messages/ is sourced from kamo-translation-dictionary and the i18n guard fails the build on a key the dictionary does not define.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing