Только Markdown: не удается выделить жирным слово в конце строки

:information_source: Обзор

В редакторе, поддерживающем только Markdown (то есть не в новом режиме редактора, который мы в настоящее время тестируем на Meta), при попытке выделить курсивом строку текста, где последнее слово выделено жирным, первая буква строки удаляется, а символ * удаляется с конца, и строка не преобразуется в курсив.

:walking_woman: Шаги для воспроизведения

  1. В редакторе, поддерживающем только Markdown, напишите строку, где последнее слово выделено жирным, например:
Это очень необычный случай, когда последнее слово в предложении выделено **жирным.**
  1. Выделите строку и используйте CMD+I или сочетание клавиш на панели инструментов, чтобы применить курсив.

:white_check_mark: Ожидаемый результат

Строка должна выглядеть так:

*Это очень необычный случай, когда последнее слово в предложении выделено **жирным.***

:x: Фактический результат

Строка выглядит так:

то очень необычный случай, когда последнее слово в предложении выделено **жирным.*

:books: Дополнительная информация

3 лайка

Я проверил и обнаружил, что ошибка находится в этой строке

https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/app/lib/textarea-text-manipulation.js#L289

Он не определяет знаки с обеих сторон, а только знак справа (хвост). Если знак появляется справа от выделенного текста, выполняется блок удаления.

Это означает, что something** превратится в mething при нажатии ctrl + b.

Я создал PR для исправления

7 лайков