Hey there! :)
I've recently run into some issues with managing userdisplaynames and wanted to ask for advice:
1.) When a user is changing their displayname, we would like to check the names availability "on the fly" (after the user stopped typing for ~2 seconds or such) rather than waiting for the user to press "submit" first. Unfortunately the only way to "check", is to call UpdateUserTitleDisplayName and see if it returns the NameNotAvailable Errorcode. This method has several flaws (i.e. the old name might get taken away in the meantime, even though we only did a check and the user never submitted the new name).
--> It would be very helpful to have some sort of "CheckUserTitleDisplayNameAvailable" API for this! :)
--> Do you have any suggestions on how to best implement above functionality with the current set of API methods?
2.) We need several forms of validation for Displaynames (like limiting the length, checking it against a blacklist). However UpdateUserTitleDisplayName is not part of the server-api, and it would be a bad idea to trust the client with validation.
(We have somewhat worked our way around this by additionally storing the displayname in userdata and synching it back from there, but we would *really* like to abolish that system, as it's quite ugly and prone to errors.)
--> With the current system, how is one supposed to do any (custom) validation on displaynames? (I'm aware of the addon for profanity-checks, but there are other checks that we need to do)
--> If UpdateUserTitleDisplayName was added to server-api, that'd really save us *a lot* of trouble :)