What you were expecting to happen, and what actually happened?
Steam PC version. Clicked to buy the first trait for the Ancient Horror. Had to wait several seconds, got the popup that the server could not be contacted. Confirmed the popup, had to wait a few more seconds, found myself staring quite horrified at an Ancient Horror with two traits bought instead of one. Trait stones were deducted, so this really hurts a lot.
What are the steps to make it happen again?
The client seems to be sending a “Buy trait for Ancient Horror” message to the server. In rare situations, this message will get processed by the server, the response won’t make it back in time to the client. The client reacts by displaying the connection popup and automatically resending the request, causing the next trait in line to get bought. Communication should be changed to send a “Buy first trait for Ancient Horror” instead, so that compensation messages can be discarded by the server if the intended result has already been achieved.
Do you have any screenshots or video you want to share with us so we can see the problem? Attach them to your post!