Invision Community 5: A video walkthrough creating a custom theme and homepage By Matt Thursday at 04:02 PM
Como Posted December 22, 2023 Posted December 22, 2023 Hi. About 10 hours ago a member joined our community: there are two instances of the username, with the same email address. I had assumed that the account was duplicated somehow, but each accounts have their own posts and they are not the same. This appears to be a genuine member, so I do not wish either account to be summarily deleted without understanding the consequences of this. I've double-checked the username and email address - they are identical. When I view 'Member History', both accounts appear in the list, with registration actions duplicated for each account. Thanks.
Marc Posted December 22, 2023 Posted December 22, 2023 That shouldnt actually be something possible, however of course it has. Do you use any external methods to register? In terms of what to do with them. You would simply merge them together
Como Posted December 22, 2023 Author Posted December 22, 2023 No external registration systems. Nor have we adapted the registration system. Do you wish to check out the two accounts before I merge them?
Como Posted December 22, 2023 Author Posted December 22, 2023 Hi again @Marc Stridgen Through manual checking, I've found another instance - this time, the same name and email address appears three times! This was nearly four weeks ago. I cannot go through the whole membership manually. Besides, I cannot be certain that all duplicates are contiguous in the list. But I assume you will be able to query the database for duplicates. Please advise. Thanks.
Marc Posted December 22, 2023 Posted December 22, 2023 There are 3 lots in total. I will PM you with them in a second. I would suggest then sorting those ones out, and upgrading to the latest release of the platform. If you then see it happen again, see if you can ask the user if there were any issues when they registered. Como 1
Robert Angle Posted December 25, 2023 Posted December 25, 2023 (edited) I recall @SJ77 experiencing a similar issue.... Edited December 25, 2023 by Robert Angle SJ77 1
Marc Posted December 29, 2023 Posted December 29, 2023 On 12/25/2023 at 1:13 AM, Robert Angle said: I recall @SJ77 experiencing a similar issue.... Indeed. Unfortunately we could not replicate it there either Robert Angle 1
SJ77 Posted January 11 Posted January 11 On 12/22/2023 at 5:22 AM, Como said: Hi again @Marc Stridgen Through manual checking, I've found another instance - this time, the same name and email address appears three times! This was nearly four weeks ago. I cannot go through the whole membership manually. Besides, I cannot be certain that all duplicates are contiguous in the list. But I assume you will be able to query the database for duplicates. Please advise. Thanks. Every time I have been able to replicate it in testing it has involved being impatient during registration and smashing buttons. If you try this enough times it will happen again for you. But I have not yet found a way to consistently reproduce. G17 Media 1
Tripp★ Posted January 12 Posted January 12 I had this too, turns out it was @Aiwa's Steam Integration (v3.0.1) which he released on Github. As soon as I removed it; all of a sudden everything went back to normal. Not sure if you have this or not, but if you do - look into it.
Marc Posted January 12 Posted January 12 The other one I have just seen is people who had stop forum spam as an application previously, and have columns still existing which is causing errors. You would see this in your system logs if this is the case
Como Posted January 12 Author Posted January 12 7 hours ago, Tripp★ said: I had this too, turns out it was @Aiwa's Steam Integration (v3.0.1) which he released on Github. As soon as I removed it; all of a sudden everything went back to normal. Not sure if you have this or not, but if you do - look into it. 6 hours ago, Marc Stridgen said: The other one I have just seen is people who had stop forum spam as an application previously, and have columns still existing which is causing errors. You would see this in your system logs if this is the case Neither apply in my case.
Jim M Posted January 12 Posted January 12 14 minutes ago, Como said: Neither apply in my case. Is it something you're actively able to reproduce?
Como Posted January 12 Author Posted January 12 Hi @Jim M To be frank, I've not tried. What with the holidays, travelling to see family, and other stuff. I'll see if I can replicate this over the weekend. But it occurs to me that since it appears there are several triggers for this, is not a generic fix possible and appropriate? I am not aware of this ever occurring with SMF in my 18 years using that, or any other forum software. I do not mean to suggest that a generic fix would be easy, but given that there appear to be several possible triggers (and, presumably, more in the future), a generic fix seems in order.
Jim M Posted January 12 Posted January 12 1 minute ago, Como said: But it occurs to me that since it appears there are several triggers for this, is not a generic fix possible and appropriate? I am not aware of this ever occurring with SMF in my 18 years using that, or any other forum software. I do not mean to suggest that a generic fix would be easy, but given that there appear to be several possible triggers (and, presumably, more in the future), a generic fix seems in order. Saying that there should be a generic fix is also kind of like saying, "just patch the tire" but we haven't found the leak yet. With the above examples, these were due to third party add-ons. I actually attempted to recreate this for over an hour on default test installations when the first report from SJ77 came in and could not reproduce it via the default software, even while mashing the submit button of the register form like a mad man 😄 . While I don't want to say it's not possible, as there's clearly evidence of it, there may some outside force, some strange action, etc... that we need to know about before we can patch whatever is being caused here.
Como Posted January 12 Author Posted January 12 I suppose, @Jim M, what I am driving at is the common factor in all these cases is Invision. Is there something in the way the user table is locked (or not locked) which is causing this? But what do I know - I'm not a developer. I expect that it way more complicated than I might imagine. Thank you for continuing to investigate this.
Jim M Posted January 12 Posted January 12 Sticking with our car, real-world analogy regarding third party errors, it's a bit like putting a nitrous on your Ford Taurus and then blaming Ford when your engine starts to have issues. It's not Ford's fault because the engine was never meant to have nitrous on it. If it's an issue on our end which is happening, we will certainly fix it. However, if there is a third party add-on or external force causing something to happen in the software which shouldn't. It's not really in our scope of support to apply a fix there. Certainly, the author of the application/plugin could make a recommendation to us though which we may execute if there is an improvement we could make. However, our recommendation to fix the issue would simply be to no longer use nitrous 🙂 .
Aiwa Posted January 15 Posted January 15 @Jim M User shouldn’t be able to create duplicate accounts, or accounts with the same email, so why is the core_members email column not UNIQUE? While there may be an issue with my Steam app, like you, I can’t reproduce it. But it wouldn’t be an issue if the table was set up, IMO, properly. Sticking with car analogies, it IS Fords fault if they let the buyer pick their own serial # as part of the purchase process. You’re bound to run into buyers that pick the same thing. The DMV wouldn’t accept it. Board owners being the DMV, is it acceptable? G17 Media 1
Jim M Posted January 15 Posted January 15 12 minutes ago, Aiwa said: User shouldn’t be able to create duplicate accounts, or accounts with the same email, so why is the core_members email column not UNIQUE? While there may be an issue with my Steam app, like you, I can’t reproduce it. But it wouldn’t be an issue if the table was set up, IMO, properly. You're more than welcome to make this suggestion, as mentioned in my comment above. Please do so in the Feedback forum so it does not get lost. While I get what you're saying that there could be room for improvement (what software doesn't?). If there was a core only issue, we would definitely be seeing a lot more of this. The fact that we aren't, may be specific to any number of factors. We need an example that doesn't go away when we remove third party influences to completely determine the issue. 12 minutes ago, Aiwa said: Sticking with car analogies, it IS Fords fault if they let the buyer pick their own serial # as part of the purchase process. You’re bound to run into buyers that pick the same thing. The DMV wouldn’t accept it. To make the analogy more realistic, it is akin to Ford allowing customers to choose a VIN via a software. The software doesn't allow conflicts. Then an aftermarket source then allows changes to that VIN, which then creates conflicts.
Aiwa Posted January 15 Posted January 15 2 hours ago, Jim M said: The software doesn't allow conflicts. Then an aftermarket source then allows changes to that VIN, which then creates conflicts. This is where your analogy falls short. IPS software does allow conflicts (duplicates), per SQL. I’m not saying there isn’t logic in the software to attempt to stop this, but in this instance those checks fail. Dev rule of thumb, make required logic as close to the DB as possible. MySQL has limitations with regards to foreign keys, but it does allow multiple unique constraints columns in a table. SeNioR- and Como 2
Jim M Posted January 15 Posted January 15 29 minutes ago, Aiwa said: This is where your analogy falls short. IPS software does allow conflicts (duplicates), per SQL. I’m not saying there isn’t logic in the software to attempt to stop this, but in this instance those checks fail. Dev rule of thumb, make required logic as close to the DB as possible. MySQL has limitations with regards to foreign keys, but it does allow multiple unique constraints columns in a table. The software itself, does indeed prevent conflicts. The database configuration, however, is where that falls short. Improvements can indeed be made; we both agree on this. However, in the current state of things, if third party applications/plugins currently don't implement the same validations or prevent/break those from happening, that can create issues that users are seeing. Regardless of what we do, third party providers would still need to resolve their solution or errors would still happen, they won't create conflicts, but they'd still happen. If you want to see improvements that you mention here, please provide them in the Feedback forum as instructed. SeNioR- and Como 2
Daniel F Posted January 22 Posted January 22 On 1/15/2024 at 10:27 PM, Aiwa said: This is where your analogy falls short. IPS software does allow conflicts (duplicates), per SQL. I’m not saying there isn’t logic in the software to attempt to stop this, but in this instance those checks fail. Dev rule of thumb, make required logic as close to the DB as possible. MySQL has limitations with regards to foreign keys, but it does allow multiple unique constraints columns in a table. The reason for this is that accounts created via 3rd party login handlers aren't always completed ( they may be missing an email or name value while the registration isn't completed) so unfortunately we can't use an unique index here. SeNioR- 1
Aiwa Posted January 23 Posted January 23 On 1/22/2024 at 6:04 AM, Daniel F said: The reason for this is that accounts created via 3rd party login handlers aren't always completed ( they may be missing an email or name value while the registration isn't completed) so unfortunately we can't use an unique index here. You can allow NULL on unique columns, multiple NULL values are acceptable. if a user does not complete a registration, thus has no email, all is well. if they register using another method, it works just fine. If they come back to the one they didn’t complete, you can tell them they already have an account, would you like to link this to their existing account. There are dozens of sites I’ve visited that recognize an account exists when trying to link a 3rd party account with the same e-mail. Am I missing something?
Recommended Posts