Publish row ids as strings — a new book 404'd the moment you selected it

FixEmailService
Ya
9 Agosti 2026, 20:25 UTC
Mwandishi
Kamo
Ahadi ya
0e2f66d

CockroachDB unique_rowid() produces 64-bit ids. A real one from contact_books is 1200081912680906758; JavaScript's JSON.parse rounds anything past Number.MAX_SAFE_INTEGER, so the browser held 1200081912680906800 and every request made with it answered "ContactBook not found" for a book that plainly existed. Only newly created books were affected in practice, because those are the ones unique_rowid() numbers. EmailService deliberately has no global ToStringSerializer for Long — EmailMessage.uid is a number the mailbox relies on — so the ids are declared as String per DTO, the way CorrespondentResolver already does. Bulk request bodies take string ids too; a path variable was always safe, since a URL segment is text either way. ContactIdPrecisionTest pins it: the real id serialises as a quoted string, and survives the round trip the browser actually makes.

Mabadiliko yote

Je, unaona nini kuhusu usafiri?

Kila moja ya hizi updates ardhi katika nafasi yako ya kazi moja kwa moja. Kuanza bure na kuangalia kukua wiki baada ya wiki.

Kuwa Huru MileleMtazamo wa bei