Read the new org's id when it arrives quoted

Fixkamo-internal
Shipped
August 23, 2026 at 2:46 AM UTC
Author
kamo
Commit
f240abd

The last step of the wizard appeared to do nothing, and clicking Create a second time answered that the organization already exists — because the first click had in fact created it. createOrganization reads the id out of the RAW response body rather than through JSON.parse, since a 19-digit unique_rowid() does not survive a double. The pattern it used, /"id"\s*:\s*(\d+)/, matches bare digits only. SecurityService's JsSafeLongSerializer (88519a3) quotes a Long by its VALUE — anything past Number.MAX_SAFE_INTEGER leaves as a JSON string — so every real id now arrives as "id":"1104573822587305985" and the pattern matched nothing. orgId came back empty and the wizard threw "Create organization response did not include an id" AFTER the server had committed the org, the owner member, the domain and the role seeding. The retry then hit the alias uniqueness check and reported the org as already taken, by itself. Both shapes now read. The raw scan stays rather than switching to JSON.parse so a rolled-back or older SecurityService sending bare 19-digit numbers still parses exactly. Second half of the same report: a failed create was invisible. The error banner renders at the top of Review, which is a two-column wall of section cards, while Create sits in a sticky footer — so nothing changed anywhere the user was looking, which is what "does nothing" meant. The banner now gets an anchor and role="alert", and a failed submit scrolls it into view. scrollIntoView rather than window.scrollTo: the wizard's content is in its own overflow-y-auto column, so scrolling the window moves nothing on this screen.

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