Make @ mentions unique to user_id, not just username

If someone changes their username, all @ mentions are “broken” and no longer point to the user.

Also, if someone changes their username or deletes their account, someone else can make a new account using that old username. All previous @ mentions will now point to the wrong person (eek).

If someone does delete their account, the @ mentions should change to render as plaintext or something (rather than anonymize like @deleteduser).

I do find it very odd that iNat users can change their user name at any time. I assume other websites don’t allow that for the above reasons!


For what it’s worth, MusicBrainz (the site I work for) for example allows it but only if they ask support to make the change (which means we can limit random “I felt like it” changes). We do still use ID everywhere though, otherwise too much would break :)


I see no reason to not agree with this.

1 Like

This functionality would probably require us to keep mentions in our database permanently (they currently get removed after 3 months), which our developers say is not trivial. So it’s possible but unlikely.

1 Like

I suppose just a global search-replace on the @ mention text in appropriate table columns, when somebody changes their username (hopefully a fairly rare occurrence) would be even less feasible…?

1 Like