Добавление упоминания/эмодзи/тега добавляет пробел в конце, но курсор не перемещается

Когда вы добавляете упоминание или эмодзи, вводя @ или :, а затем необходимые символы и нажимая Enter, система автоматически дополняет имя пользователя или эмодзи и ставит пробел. Я предполагаю, что этот пробел нужен для того, чтобы можно было продолжать печатать, но курсор при этом не сдвигается вперёд, чтобы учесть добавленный пробел. В результате вам всё равно приходится нажимать пробел вручную, а в тексте остаётся лишний пробел в конце.

Учитывая, что после упоминания или эмодзи вы, возможно, захотите завершить предложение (или закончить писать сообщение), я склоняюсь к тому, чтобы просто убрать этот автоматический пробел и позволить пользователям нажимать пробел самостоятельно, когда это нужно. Второй вариант — сдвигать курсор на один символ вперёд, чтобы он оказывался после добавленного пробела (было ли это изначально задумано?), но я не вижу в этом особой пользы. Мне проще нажимать пробел, когда он нужен, чем удалять автоматически добавленный пробел, когда он не нужен.

(Я знаю, что это пограничный случай между багом и улучшением, так что смело перемещайте эту тему в разделы Contribute > UX или Contribute > Feature, если это больше подходит туда. Также, пока я писал предыдущее предложение, я осознал, что то же самое происходит с хэштегами / #.)

4 лайка

Это определённо необычно и слегка раздражает. Например, GitHub перемещает курсор, что логичнее.

Я поддерживаю перемещение курсора.

3 лайка

Что-то изменилось с этим за последние пару недель? :thinking:

Я часто добавляю :t2 в конец всех своих эмодзи и всегда ввожу их с клавиатуры.

Например, чтобы получить белый большой палец вверх, я бы ввёл:

:+

Затем нажал бы tab, чтобы завершить жёлтый большой палец вверх, после чего продолжил бы вводить :t, что вызвало бы короткий список цветов:

В этот момент я бы просто нажал tab ещё раз, чтобы автоматически завершить нужный вариант :t2.

Однако, похоже, после недавнего обновления теперь при нажатии tab для завершения первого :+1: в конце добавляется пробел. Из-за этого мне теперь приходится нажимать backspace, затем продолжать вводить варианты :t?

1 лайк

Почти наверняка это новая регрессия, возможно, @sam сможет посмотреть, когда вернётся.

2 лайка

Я полностью понимаю неудобство, но ранее мы вставляли пробел и перемещали каретку назад, что вызывало путаницу и приводило к множеству тонких проблем.

Мы, безусловно, хотим вставлять пробел, но мне неуютно, когда :heart: вставляет пробел, а :+1: — нет.

Я думаю, что в данной ситуации лучше всего ввести «фоновую настройку» в локальных настройках браузера. Просто заставьте клиент «запоминать» выбранный вами ранее оттенок кожи и по умолчанию добавлять его.

Тогда исправление здесь будет тривиальным: вы меняете это один раз здесь:

И тогда будущие эмодзи, которые вы вставляете, будут автоматически включать оттенок кожи, например :+1:t3:. Мне это нравится гораздо больше, так как мы больше уважаем пользователей. Очень вероятно, что вы захотите сохранить тот оттенок кожи, который только что выбрали.

@codinghorror как вам такая идея?

3 лайка

Мне нравится! :+1:t6:

3 лайка

Этот PR должен решить проблему:

Клиентское приложение уже запоминает выбранный пользователем оттенок кожи (а палитра эмодзи уже учитывает выбранный оттенок), но в настоящее время автодополнение эмодзи не учитывает выбранный оттенок и всегда предлагает жёлтый оттенок. Этот PR заставит наше автодополнение эмодзи по умолчанию использовать выбранный пользователем оттенок кожи.

До / После:

4 лайка

Потрясающе!

Огромное спасибо всем, именно такие мелочи делают эту платформу такой замечательной :bowing_man:t2:

4 лайка

@seanblue, вы довольны новой функцией? Завтра установлю автоматическое закрытие.

2 лайка

Что касается моей первоначальной жалобы/предложения, да, я доволен внесёнными изменениями. Курсор теперь перемещается после вставленного пробела, так что, на мой взгляд, всё отлично. Спасибо, что решили этот вопрос.

4 лайка