Programming use of logical operators and regular speech is not compatible. I agree that this is a bug in the English language but this is a forum, not a computer program.
I'm having a bit of trouble finding the maintainer. Possibly OED, but they don't have much in the way of API documentation and I still haven't found the revision history for the source to submit a patch.
In this case "and" means "in addition to". "when you make a mistake" describes one set of situations, "when facebook makes a mistake" describes another set, and the "and" acts as a union operator. Nothing illogical here, though you might argue that English is ambiguous.