Mudlet: MXP send tag broken in 3.21.0

Created on 17 Jun 2019  ·  3Comments  ·  Source: Mudlet/Mudlet

Brief summary of issue / Description of requested feature:

Until 3.20.1 we can use "SEND"/"A" command in mud description to allow user to click with mouse. In 3.21.0 no data are parsed by mudlet and tags are displayed as row text

Steps to reproduce the issue / Reasons for adding feature:

  1. connect to mud.clessidra.it:4000 (featured mud)
  2. login with "mudlet" / "mudlet2019"
  3. in the motd you can see "A" tags for link to social network
  4. Press "1" three times, in room descr you can see SEND tags

Error output / Expected result of feature

MXP syntax should be parsed and show only underlined link

Extra information, such as Mudlet version, operating system and ideas for how to solve / implement:

I think that https://github.com/Mudlet/Mudlet/pull/2573 broke this?
Works in 3.20.1, broken in 3.21.0

bug regression

Most helpful comment

OK I've added some debugging output and think I see what's happening.

Here's the flow of what happens when I look at a room

  1. mudlet receives the \e[1z sequence that puts MXP "SECURE LINE" mode
  2. mudlet receives the text " Sei in una delle vie principali della capitale. Molte persone passano qui,\n"
  3. When mudlet processes the newline, it resets the mode to default, which the server preamble has set to "locked" mode (i.e. ignore all tags)
  4. mudlet then receives more text that includes tags, but it's already back in locked mode so they are ignored.
  5. mudlet receives \e[7z to set it back to "locked until I say so" mode.

The old behavior was to stay in secure line mode until otherwise. But it was always supposed to reset on a newline (at least, according to the spec)

Possible fixes:

  1. change the \e[1z to \e[6z so that secure mode "sticks" until changed
  2. replace the newlines with
    tags (br tags are treated as newlines by the client, but do not count as EOL for the purposes of resetting to the default mode)

All 3 comments

Sorry, We have disable MXP to avoid user to see MXP tags. Now we have re-enabled it. You can test again.

Thanks and again, sorry!

OK I've added some debugging output and think I see what's happening.

Here's the flow of what happens when I look at a room

  1. mudlet receives the \e[1z sequence that puts MXP "SECURE LINE" mode
  2. mudlet receives the text " Sei in una delle vie principali della capitale. Molte persone passano qui,\n"
  3. When mudlet processes the newline, it resets the mode to default, which the server preamble has set to "locked" mode (i.e. ignore all tags)
  4. mudlet then receives more text that includes tags, but it's already back in locked mode so they are ignored.
  5. mudlet receives \e[7z to set it back to "locked until I say so" mode.

The old behavior was to stay in secure line mode until otherwise. But it was always supposed to reset on a newline (at least, according to the spec)

Possible fixes:

  1. change the \e[1z to \e[6z so that secure mode "sticks" until changed
  2. replace the newlines with
    tags (br tags are treated as newlines by the client, but do not count as EOL for the purposes of resetting to the default mode)

Hi, thanks for your help. We have used fix 1, more clean.

Thanks again to all!

Was this page helpful?
0 / 5 - 0 ratings