Mudlet: Тег отправки MXP не работает в 3.21.0

Созданный на 17 июн. 2019  ·  3Комментарии  ·  Источник: Mudlet/Mudlet

Краткое описание проблемы / Описание запрошенной функции:

До 3.20.1 мы можем использовать команду «ОТПРАВИТЬ» / «А» в описании грязи, чтобы пользователь мог щелкать мышью. В 3.21.0 данные не обрабатываются мудлетом, а теги отображаются в виде текста строки.

Действия по воспроизведению проблемы / Причины добавления функции:

  1. подключиться к mud.clessidra.it:4000 (рекомендованная грязь)
  2. войти с помощью "mudlet" / "mudlet2019"
  3. в motd вы можете видеть теги "A" для ссылки на социальную сеть
  4. Нажмите "1" трижды, в описании комнаты вы увидите теги ОТПРАВИТЬ.

Вывод ошибок / ожидаемый результат функции

Синтаксис MXP должен быть проанализирован и отображать только подчеркнутую ссылку

Дополнительная информация, такая как версия Mudlet, операционная система и идеи по решению / реализации:

Я думаю, что https://github.com/Mudlet/Mudlet/pull/2573 сломал это?
Работает в 3.20.1, не работает в 3.21.0

bug regression

Самый полезный комментарий

Хорошо, я добавил некоторые отладочные данные и думаю, что вижу, что происходит.

Вот что происходит, когда я смотрю на комнату

  1. mudlet получает последовательность \ e [1z, которая переводит MXP в режим «БЕЗОПАСНАЯ ЛИНИЯ»
  2. мудлет получает текст "Sei in una delle vie Principali della capitale. Molte persone passano qui, \ n"
  3. Когда мудлет обрабатывает новую строку, он сбрасывает режим по умолчанию, который в преамбуле сервера установлен на "заблокированный" режим (т.е. игнорировать все теги).
  4. затем мудлет получает дополнительный текст, который включаеттеги, но он уже вернулся в заблокированный режим, поэтому они игнорируются.
  5. mudlet получает \ e [7z, чтобы вернуть его в режим «заблокирован, пока я не скажу».

Старое поведение заключалось в том, чтобы оставаться в режиме защищенной линии до тех пор, пока не будет иначе. Но всегда предполагалось, что он будет сброшен на новую строку (по крайней мере, согласно спецификации)

Возможные исправления:

  1. измените \ e [1z на \ e [6z, чтобы безопасный режим "держался" до тех пор, пока не будет изменен
  2. замените символы новой строки на
    теги (теги br обрабатываются клиентом как новые строки, но не считаются EOL для целей возврата в режим по умолчанию)

Все 3 Комментарий

К сожалению, мы отключили MXP, чтобы пользователь не видел теги MXP. Теперь мы снова его включили. Можете протестировать еще раз.

Спасибо и еще раз извините!

Хорошо, я добавил некоторые отладочные данные и думаю, что вижу, что происходит.

Вот что происходит, когда я смотрю на комнату

  1. mudlet получает последовательность \ e [1z, которая переводит MXP в режим «БЕЗОПАСНАЯ ЛИНИЯ»
  2. мудлет получает текст "Sei in una delle vie Principali della capitale. Molte persone passano qui, \ n"
  3. Когда мудлет обрабатывает новую строку, он сбрасывает режим по умолчанию, который в преамбуле сервера установлен на "заблокированный" режим (т.е. игнорировать все теги).
  4. затем мудлет получает дополнительный текст, который включаеттеги, но он уже вернулся в заблокированный режим, поэтому они игнорируются.
  5. mudlet получает \ e [7z, чтобы вернуть его в режим «заблокирован, пока я не скажу».

Старое поведение заключалось в том, чтобы оставаться в режиме защищенной линии до тех пор, пока не будет иначе. Но всегда предполагалось, что он будет сброшен на новую строку (по крайней мере, согласно спецификации)

Возможные исправления:

  1. измените \ e [1z на \ e [6z, чтобы безопасный режим "держался" до тех пор, пока не будет изменен
  2. замените символы новой строки на
    теги (теги br обрабатываются клиентом как новые строки, но не считаются EOL для целей возврата в режим по умолчанию)

Привет, спасибо за помощь. Мы использовали fix 1, более чистый.

Еще раз спасибо всем!

Была ли эта страница полезной?
0 / 5 - 0 рейтинги