В редакторе перемещение ссылок с текстом или без него удаляет большую часть ссылки

Я только что заметил это, когда ранее печатал сообщение здесь.

  • Выделите ссылку с текстом или без (выделение должно начинаться со ссылки)
  • Попробуйте переместить её в другое место
  • Результат: Большая часть ссылки исчезает.

1 лайк

В каком браузере это происходит? Воспроизводится ли это во всех браузерах?

Извините! :pray: Я должен был протестировать в других браузерах. Контекст всегда важен при сообщении об ошибке; в следующий раз я буду внимательнее.

Проблема возникла в Chrome (без загруженных расширений).

Быстрое тестирование в Firefox показало, что там этого не происходит.
В других браузерах, таких как Edge, Brave, Opera, Arc — проблема проявляется. Все они основаны на Chromium.

Сейчас я не могу протестировать в Safari.

Вы пробовали в TEXTAREA, который не находится в Discourse?

О, это интересно. :thinking:

Сначала я попробовал использовать GitHub, чтобы оставить комментарий в случайном PR, но это не сработало.

Затем я создал базовый HTML-файл, содержащий только TEXTAREA, и проблема появилась.

Похоже, что в Chromium есть внутренняя проблема; я немного поискал, но пока ничего не нашёл. Завтра попробую разобраться с деталями.

1 лайк

Я немного подробнее изучил вопрос. (ха-ха, забыл, что начал черновик месяц назад)

Это очень старая ошибка, о которой сообщили ещё в 2016 году, и она до сих пор присутствует в последней версии:

По сути, похоже, что выделенный текст, содержащий двоеточие (не первый символ), Chromium воспринимает как URL, и левая часть нормализуется/удаляется. Однако в случае с корректным URL, похоже, удаляется левая часть перед последним символом «/» (я не смог найти отдельный тикет именно по этой проблеме).

Возможно, связанный исходный код:

https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/page/drag_controller.cc;l=164-207

Вот демонстрация в простом текстовом поле:
chrome_0Wiv1Ge4Uj

В любом случае, можно закрывать тикет. Chromium творит странные вещи. :+1:

1 лайк