The org's year established is optional, and unset renders as absent

Featurekamo-internal
Shipped
August 28, 2026 at 2:14 AM UTC
Author
Kamo
Commit
3a763e4

Nothing on the server ever required it — the column is nullable, the create parser maps an empty value to null, and patchOrganization applies only the keys a PUT body mentions, so "yearEst": null is a deliberate clear. The only gate was this wizard's validateBasics, which blocked the whole Basics step until a year was picked. Plenty of real customers have no answer (a new LLC, a division spun out mid-year, anyone who simply does not know), so the gate just taught them to invent one. Drop it; the field keeps its asterisk-free label and gains the same "Optional." FieldHint every other optional field on the step already has. Fixes the reason nobody noticed the field was already nullable end to end: the org DTO parsed yearEst with a bare **************** and coercion runs BEFORE optionality, so Number(null) === 0 and every org without a year arrived as founded in the year zero. It stayed invisible because display sites guard on truthiness and 0 is falsy — it would have surfaced as "Est. 0" at the first site that checked `!= null` instead. Preprocess null and "" back to undefined, normalize the same way in Organization.fromJSON, and widen the network/theme DTOs to admit the null that actually arrives. The two display sites that used `{org.yearEst && <Fact/>}` become ternaries: a falsy-and render is what would have painted a bare 0 into the drawer. The settings form now routes the save through parseYearEst, so a blank box clears the value on purpose rather than by way of JSON.stringify turning NaN into null.

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