Mudlet: MXP 发送标记在 3.21.0 中损坏

创建于 2019-06-17  ·  3评论  ·  资料来源: Mudlet/Mudlet

问题的简要摘要/请求功能的描述:

直到3.20.1我们可以在mud描述中使用“SEND”/“A”命令来允许用户用鼠标点击。 在 3.21.0 中,mudlet 不解析数据,标签显示为行文本

重现问题的步骤/添加功能的原因:

  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. Mudlet 收到文本“Sei in una delle vie principali della capitale。Molte persone passano qui,\n”
  3. 当 mudlet 处理换行符时,它会将模式重置为默认模式,服务器前导码已将其设置为“锁定”模式(即忽略所有标签)
  4. 然后mudlet 会收到更多包含标签,但它已经回到锁定模式,所以它们被忽略。
  5. mudlet 接收 \e[7z 以将其设置回“锁定直到我这么说”模式。

旧的行为是保持安全线路模式,直到出现其他情况。 但它总是应该在换行符上重置(至少,根据规范)

可能的修复:

  1. 将 \e[1z 更改为 \e[6z 以便安全模式“坚持”直到更改
  2. 将换行符替换为
    标签(br 标签被客户端视为换行符,但为了重置为默认模式,不计为 EOL)

所有3条评论

抱歉,我们已禁用 MXP 以避免用户看到 MXP 标签。 现在我们重新启用了它。 你可以再测试一下。

再次感谢,抱歉!

好的,我已经添加了一些调试输出,并认为我看到了正在发生的事情。

这是我看房间时发生的事情的流程

  1. mudlet 接收 \e[1z 序列,该序列将 MXP“安全线”模式设置为
  2. Mudlet 收到文本“Sei in una delle vie principali della capitale。Molte persone passano qui,\n”
  3. 当 mudlet 处理换行符时,它会将模式重置为默认模式,服务器前导码已将其设置为“锁定”模式(即忽略所有标签)
  4. 然后mudlet 会收到更多包含标签,但它已经回到锁定模式,所以它们被忽略。
  5. mudlet 接收 \e[7z 以将其设置回“锁定直到我这么说”模式。

旧的行为是保持安全线路模式,直到出现其他情况。 但它总是应该在换行符上重置(至少,根据规范)

可能的修复:

  1. 将 \e[1z 更改为 \e[6z 以便安全模式“坚持”直到更改
  2. 将换行符替换为
    标签(br 标签被客户端视为换行符,但为了重置为默认模式,不计为 EOL)

您好,感谢您的帮助。 我们使用了 fix 1,更干净。

再次感谢大家!

此页面是否有帮助?
0 / 5 - 0 等级