String row ids, org-coloured controls, page icon, centred error bar

Fixkamo-internal
Shipped
August 9, 2026 at 8:26 PM UTC
Author
kamo
Commit
3926d1d

Creating a book and selecting it answered "Not found". CockroachDB unique_rowid() ids are 64-bit — a real one is 1200081912680906758 — and JSON.parse rounds anything past Number.MAX_SAFE_INTEGER, so the id held in React state was …906800 and matched no row. Book, group and contact ids are now `string` throughout, including Recipient.contactId / contactBookId, which carried the same lossy numbers into the mail composer. String(someNumber) cannot recover this; the id must never have been a number, so the types enforce it. Also, from feedback on the new page: - Controls were Material's default blue. The app's MUI theme has no palette overlay, so `color="primary"` was never the tenant's colour. ContactsThemeScope repaints the page from --color-primary via component styleOverrides rather than palette.primary.main — MUI runs alpha() over palette values and alpha() throws on a CSS variable, so overriding the painted properties is what keeps a runtime theme swap working. - The header carries the nav's own Contacts glyph at 52px, so the page announces itself at a glance. - The error bar sat clipped in the bottom-left. MUI's Snackbar renders in place, and this page's panes use backdrop-filter, which makes an ancestor the containing block for position:fixed — so it was measured against a pane instead of the viewport. Portalled to the body and anchored bottom-centre.

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