Carry lead ids as strings — a JS number silently corrupts them

Fixkamo-shared-library
Shipped
August 4, 2026 at 11:00 PM UTC
Author
Kamo
Commit
8c43853

Lead ids are CockroachDB unique_rowid() values above Number.MAX_SAFE_INTEGER: 1189175700550025222 becomes 1189175700550025200 the moment it touches a JS number. Every quote raised from the lead view was therefore stored against a lead that does not exist, so the addressee lookup found nothing and the document printed no client details. leadId now travels as a String in both directions — the request, so a client cannot send a rounded value, and the responses, so reading a quote cannot corrupt it either. The service parses it back to a Long. The codebase already types Lead.uid as a string for exactly this reason; this restores that convention on the quote surface.

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