In that case, it seems that you need Fibery to prevent any attempt to create a new tag/entity with the same name as an existing one, which sounds rather like uniqueness constraints (as part of the more generic ‘validation rules’):
My point was, we can’t eliminate the ‘Create’ option if you want users to be allowed to create their own tags (so long as they choose a name not already taken).
If I understand Yuri’s proposed solution:
the visibility of the ‘Create …’ option would need to be determined based on a uniqueness check, the outcome of which could change as a user types each character.
For example, if tags A, ABC, ABC1, ABC12 already existed, then as the user starts typing the letters A…B…C…1…3 the ‘Create…’ option would initially not be present (because A matches), then it would appear (because AB does not match anything) then it would disappear (ABC matches, ABC1 matches) then it would reappear (ABC13) does not match anything.
I’m not saying it’s not possible, I just don’t know if it would be a pleasant experience.
FYI, the current behaviour is that the list of options shrinks as you start typing, and if you press enter, the top match is chosen (in preference to creating a new entity). A user has to actively choose to create a new entity with the same name.
I think it is no doubt possible, but I do not expect it will be done very soon. We don’t have a lot of feedback that this is an issue for a lot of people, and the solution described might not be desirable for all users, implying that there would need to be a setting to enable/disable the uniqueness requirement.
Also, this is likely to only work at the GUI level, and I can imagine we may wish to put in validation rules at the backend level instead.
About my experience, when creating new entities in rich text (text selecting + Ctrl E, I dont know is it existed or not, so sometimes I got duplicated entities.
Also I should recommend alias name for entities like Obsidian when mention some entities. Ex [[Peolple A]] can be mention by [[alias_name|People A]] ⇒ it’ll dislay alias_name as People A in rich text