I’m trying to change my mail address from info@mydomain.ext
to mail@mydomain.ext
but I get the error that the address is in use already. But it’s not… I checked with a lost password link.
Hmm any ideas here @zogstrip ? Is this a staged account?
Ah yes, it must be. I replied from my new address in the last few weeks and got an notification error in the mail of course. But I never got to change the address.
But then again: this is a real case. A user changes address, replies to a Discourse mail before changing the mail address on Discourse and then: you’re stuck.
Solution: when user changes mail to existing TL0 address:
- first have user confirm the new address
- remove TL0 user and replace address
Another solution: don’t create a TL0 user when it’s a reply to a discourse+{key}@domain.ext
address from an unknown sender.
I think staged accounts which are not used (for email replies) should be auto deleted eventually maybe after 30 days of inactivity? What do you think @zogstrip?
The bug here is that it should still allow you to change emails to a staged account email if you confirm it, and then merge the 2. I have seen quite a few “dupe” accounts over the past few weeks.
- Change email
- Confirm new email
- If it belongs to a staged account take over all content
deleting is not ideal cause it does not resolve the case where the staged account actually has content.
Account merging seems like a giant thing to bite off this close to release. Not recommended.
We can wait till next release on this, no rush
Perhaps one obvious thing to do is provide more info in the error in the login dialog @zogstrip, say that it is a staged account matching that user so we have the info in the error message UI versus a “real” user who conflicts. Staged users are basically stubs (or “mocks”, for @sam) of real users
Done
I think it should be simpler here, because the account being merged is guaranteed to have no bio, no avatar, no preferences, just posts, right?