This is indeed how the platform functions. There is a security rule in the System module that prevents users from seeing the ‘System.User.Name’ attribute of Users other than themselves. You can check the System domain model to see this rule for yourself. Of course, you can’t modify the System module security rules, so how can you manage other Users?
There is a special setting when configuring User Roles from the project settings called ‘Manage other users.’ This will grant another User the ability to see the Usernames of others. here is more information
Be aware that this setting will grant a User the ability to change details about all other users with the selected roles, and depending on what you are trying to do that might not be what you want. Perhaps you just want a user to be able to select another user in order to assign a work item and not change that user’s information. In that case, I recommend you use the Account entity itself, not the System.user, to store information like ‘display name’ for use when assigning tasks or looking co-workers up in a directory etc.
How would I implement the fix you are describing? Thanks for the tips