| ▲ | mittermayr 3 hours ago | |||||||
I fully agree. It makes no sense. Yet... The only guesses I'm having is that we originally generated UUIDv4s on a user's phone before sending it to the database, and the UUID generated this morning that collided was created on an Ubuntu server. I don't fully know how UUIDv4s are generated and what (if anything) about the machine it's being generated on is part of the algorithm, but that's really the only change I can think of, that it used to generated on-device by users, and for many months now, has moved to being generated on server. | ||||||||
| ▲ | AntiUSAbah 2 hours ago | parent | next [-] | |||||||
You let users generate a UUID? To be honest, the chance that you are doing something weird is probably higher than you experiencing a real UUID conflict. How did your database 'flag' that conflict? | ||||||||
| ||||||||
| ▲ | stubish 3 hours ago | parent | prev | next [-] | |||||||
The UUIDv4 collision is statistically extremely unlikely. What is more likely is both systems used the same seed. This might be just a handful of bytes, increasing the chance of collision to one in billions or even millions. | ||||||||
| ▲ | lazyjones 42 minutes ago | parent | prev [-] | |||||||
Better check what crypto.js is actually doing in your exact setup. Weak polyfills exist... | ||||||||