Thanks for the defect report!
Working around the Wordfence defect is at the top of my to-do list.
I’ll take a look at WP-Members and see if I can figure something out.
Thread Starter
islp
(@islp)
The strangest thing of all is the following: when you have a double registration (expecially people who have built websites since the Nineties), you immediately imagine something like a double click, but this happens within less than a second, while here the second registration arrives sometimes 10 minutes (!) later. Another strange thing is WP/Wp-Members doesn’t let you create two users with same name, username, email, etc., while it looks like here the users created are actually two different ones 🙂
Thanks for your help
Weird. This ten-minute thing sounds like the user-registration workflow might depend on transients.
Wild-idea with no actual evidence for it being true: the membership plugin creates a transient saying the new-user registration is in progress. It then does a few things over ten minutes or so to finish the registration. I dunno, maybe it sends a vzlidation email and waits for an answer.
If something goes wrong with the cache for some reason and the transient vanishes, the process starts over, maybe?
At any rate a plugin shouldn’t use a transient to keep track of that kind of state. (I learned that the hard way a couple of years ago.) By the rules of WordPress’s persistent object caches, transients are just that: they can vanish at any time. Want something persistent? Put it in metadata or an option.
The WordPress ecosystem sure has lots of “creative” stuff in it. The internet pioneer of blessed memory Jon Postel spelled it out in his law. Postel’s Law applies to everything we do in that ecosystem. “Be conservative in what you do, be liberal in what you accept from others”.
Thread Starter
islp
(@islp)
I don’t know what caused the problem, but it no longer occurs. At one point I figured something was going wrong with the mail server. Transients never came to my mind.
I’ll let you know if it happens again: in the meantime, thanks for your time, patience and dedication.
Thanks for letting me know this bug is either fixed or hidden. 1.3.5 may help.