Редактор с поддержкой форматирования нарушает функцию замены текста на платформах Apple

Форумы, которые я модераторирую, недавно перешли на новый текстовый редактор с поддержкой форматирования, и я сразу заметил, что он (в какой-то степени) нарушает работу системных функций замены текста, таких как «Основные» → «Клавиатуры» → «Замена текста» в iOS. Это неприятно, так как у меня есть несколько замен, которые я использую очень часто в Discourse. Например, одна из моих самых частых задач модерации — перенаправлять пользователей на другие форумы, поэтому у меня, например, есть замена текста, которая заменяет adf на ссылку на форумы разработчиков Apple. (Я предпочитаю не использовать готовые ответы для этого, потому что остальная часть поста часто менее шаблонна, хотя они всегда содержат эту ссылку. Кроме того, у меня есть несколько других замен, которые не вписываются в эту модель.)

Интересно, что некоторые мои замены продолжают работать; например, \tau надёжно превращается в τ. И моя замена adf почти работает, если я ввожу её в обратных кавычках: я пишу этот пост на macOS Safari, и [обратная кавычка] adf [обратная кавычка] [пробел] на короткое время превращается в [Apple Developer Forums](https://forums.developer.apple.com/), хотя затем это исчезает и снова становится adf, если я каким-либо образом взаимодействую с редактором после этого.

Я предполагаю, что ведущая обратная косая черта имеет какое-то отношение к тому, почему это работает для моих других замен, поэтому я, вероятно, могу обойти эту ошибку, изменив свою замену adf на \adf. Но мне не должно приходиться этого делать.

Это довольно серьёзная проблема для меня, так как она мешает мне эффективно выполнять такую модерацию из мобильного приложения Discourse для iOS. (Именно поэтому я не хочу добавлять ведущую обратную косую черту: на клавиатуре телефона вводить обратную косую черту неудобно.)

1 лайк

Возможно, это запрос на новую функцию, но, думаю, вам просто нужно будет нажать на image, чтобы переключиться обратно в редактор Markdown, если вы хотите использовать такие настройки.

Конечно, использование редактора Markdown — это приемлемое временное решение. Считайте это запросом на доработку, чтобы функция работала стабильно во всех режимах редактирования. Кстати, редактор с форматированием не всегда игнорирует такие замены — вероятно, они инициируются операционной системой каким-то образом — просто он склонен обрабатывать их некорректно.

2 лайка

Подозреваю, что это проблема, связанная с предварительной обработкой буфера обмена в целях безопасности.

Вставка [test] в визуальный редактор приводит к появлению \[test\] в исходном коде.

Аналогично, вставка:

<a href="apple.com">apple</a>

в визуальный редактор приводит к появлению текста apple (без ссылки),

но при вставке в исходный код она сохраняется как <a href="apple.com">apple</a>.


Кажется, это сильно связано с @renato?

2 лайка

Для меня это похоже на ошибку, вероятно, в нашей логике создания ссылки при вставке поверх выделения. Я разберусь с этим.

Замены текста в iOS могут быть аналогичны IME в Android, обходя обычные ожидаемые события вставки текста. Не уверен, но кажется, что это другая проблема.

Не исключено, что эти несогласованные случаи вызваны ошибкой времени выполнения. Попробую воспроизвести это на этой неделе.

3 лайка