- Ya
- 7 Agosti 2026, 05:08 UTC
- Mwandishi
- kamo
- Ahadi ya
- 5baf036
Creating an account from a lead appeared to do nothing. The server was returning a 500 (see the AccountAddress fix in kamo-shared-library), but the only error UI rendered at the top of a form taller than the viewport, roughly a thousand pixels above the button being clicked — inside the page's own overflow:auto container. Failed validation was just as invisible for the same reason. The action bar now sits outside the scrolling region, carries the error and a live ready / fill-required hint, and a rejected submit scrolls and focuses the first field that needs fixing. Also on this flow: - A failed lead link was reported as a creation failure, so the obvious retry created a second account. Creation and linking are now separate outcomes. - Account Type was collected but never sent, and has no backing column anywhere; the dead control is gone rather than pretending to save. - An address typed only on line 2 was dropped, because the "is there an address?" check omitted that field. Payload building and validation moved to app/lib/accountForm.ts and are covered by tests. - Text inputs are capped to the real column widths, so an over-long value can no longer surface as an opaque 500. The account picker no longer offers deleted or merged-away accounts, no longer lets a slow earlier search overwrite a newer one, no longer claims "no accounts found" before it has asked, and no longer silently does nothing when opened without a leadId. Five proxy handlers returned a promise without awaiting it, so their try/catch could never fire; they also threw on an empty or non-JSON upstream body. getCustomerNotes read "notes" where the server sends "orderNotes", so notes always rendered empty — and the Add Note composer could never succeed, because a note must name an order.