- 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.