Как известно, на Пикабу есть два родственных механизма: редактирование тегов и слияние тегов. Если кто не помнит, слияние позволяет переименовывать один тег в другой.
Двигаемся к сути. Сегодня я попробовал отредактировать пост и добавить ему тег "ideer". Всё шло хорошо, было у поста два тега, появился третий. Можно нажимать большую кнопку?
Загадка: что пошло не так? Ответ очень прост: я не добавил новый тег, о чём и сообщает пикабу. «Но ведь в интерфейсе он появился!» — сказали бы вы, если бы заинтересовались хоть капельку. И вот, наконец, суть предложения.
Интерфейс редактирования имеет более примитивную логику, нежели механизм где-то на сервере (CC: @SupportTech, я считаю это багом)
1. Он тупо не учитывает тот факт, что тег "ideer" был переименован в "Подслушано";
2. Он никак не позволяет это узнать. Сообщение об ошибке не облегчает задачу.
Решение просто:
1. после выбора добавленного тега показывать сообщение о том, что этот тег был переименован. Т.е. сразу после выбора моего тега хочется видеть плашку сверху "ideer" переименован в "Подслушано". Самый важный пункт.
2. В списке отображать теги не как я их написал, а так, как они будут отображаться в конце-концов, после всех переименований.
3. Если появился дубль, то не отображать его
Сравнение моего предложения с альтернативами.
1. Указывать прямо в поиске, что тег слит в другой. Решение очень хорошо, но нагружает и интерфейс, и сервера. Учитывая то, сколько усилий уделяется Редактированию, лучше об этом и не мечтать (бонус в комментариях).
2. Компромиссный вариант — я ввожу "Ideer", а мне выпадает "Подслушано", без каких-либо пометок о слиянии. Немного путает, но вполне терпимо. Так это реализовано при создании поста, кстати:
3. Не давать вообще выбирать тег, который уже присутствует в посте, независимо от его написания. Так, например, в поиске не отображаются присутствующие в "каноническом" написании. Это внесёт лишь больше путаницы, поскольку будет совершенно непонятно почему тег "ideer" не ищется в поиске, и даже не даёт его создать. Выглядит как бага, которую хочется репортить. Пример ниже:
4. Сделать существующее сообщение об ошибке более информативным и писать там, что теги конфликтуют. Весьма неплохо, но что если конфликтов несколько? Также эта ошибка появляется только при нажатии "отправить", что несколько поздно. Из хорошего — реализация максимально простая, даже не нужно менять фронт.