Skip to content

Conflict between new and existing Topics prevents adding some Topics through the web interface

Summary

When attributing "Topics" to a project through the web interface (not the API), you can either add an existing Topic, or create and add a new one if no existing topic is suggested. This condition is causing issues described below.

Steps to reproduce

Try to add the Topics ".NE" or ".NET 6" to any project on Gitlab.com. You won't be able to as existing but different topics are already suggested.

What is the current bug behavior?

Impossible to create some Topics with the web interface because different existing Topics conflict. This happens when:

  • your topic is one word long, strictly longer than 2 characters and fully match with an existing, longer Topic. Ex: you can create "." and ".N" but not ".NE" if you already have the ".NET" Topic
  • your topic contains multiple words (more precisely any characters separated by spaces) and all words strictly longer than 2 characters match with an existing topic. Ex: If you have the ".NET 5" topic, you can't create ".NET 6" nor ".NET 6." but you can create ".NET 6.0". Note that the length of words in the existing Topic doesn't matter; this example also works if you replace ".NET 5" with ".NET Core".

What is the expected correct behavior?

The option to 'Add "topic"' should be available as long as no existing topic match perfectly with the one entered.

Relevant logs and/or screenshots

Not able to add ".NET 6": no-add

What appears when you can add a Topic: add

Output of checks

This bug happens on GitLab.com

Edited by Christina Lohr