Mudlet: MXP-Sende-Tag defekt in 3.21.0

Erstellt am 17. Juni 2019  ·  3Kommentare  ·  Quelle: Mudlet/Mudlet

Kurze Zusammenfassung des Problems / Beschreibung der angeforderten Funktion:

Bis 3.20.1 können wir den Befehl "SEND"/"A" in der Schlammbeschreibung verwenden, damit der Benutzer mit der Maus klicken kann. In 3.21.0 werden keine Daten von Mudlet geparst und Tags werden als Zeilentext angezeigt

Schritte zum Reproduzieren des Problems / Gründe für das Hinzufügen einer Funktion:

  1. Verbindung zu mud.clessidra.it:4000 (vorgestellter Schlamm)
  2. Einloggen mit "mudlet" / "mudlet2019"
  3. im motd sehen Sie "A"-Tags für den Link zum sozialen Netzwerk
  4. Drücken Sie dreimal "1", in der Raumbeschreibung können Sie SEND-Tags sehen see

Fehlerausgabe / Erwartetes Ergebnis der Funktion

Die MXP-Syntax sollte geparst werden und nur den unterstrichenen Link anzeigen

Zusätzliche Informationen, wie Mudlet-Version, Betriebssystem und Ideen zur Lösung / Implementierung:

Ich denke, dass https://github.com/Mudlet/Mudlet/pull/2573 das kaputt gemacht hat?
Funktioniert in 3.20.1, defekt in 3.21.0

bug regression

Hilfreichster Kommentar

OK, ich habe einige Debugging-Ausgaben hinzugefügt und denke, ich sehe, was passiert.

Hier ist der Ablauf dessen, was passiert, wenn ich mir einen Raum ansehe

  1. Mudlet empfängt die \e[1z-Sequenz, die den MXP-Modus "SECURE LINE" setzt
  2. Mudlet erhält den Text " Sei in una delle vie Principali della capitale. Molte persone passano qui,\n"
  3. Wenn Mudlet den Zeilenumbruch verarbeitet, setzt es den Modus auf den Standard zurück, den die Server-Präambel auf den "gesperrten" Modus gesetzt hat (dh alle Tags ignorieren)
  4. Mudlet erhält dann mehr Text, der enthältTags, aber es befindet sich bereits wieder im gesperrten Modus, sodass sie ignoriert werden.
  5. Mudlet empfängt \e[7z, um es in den Modus "gesperrt, bis ich es sage" zurückzusetzen.

Das alte Verhalten bestand darin, bis auf Weiteres im sicheren Leitungsmodus zu bleiben. Aber es sollte immer bei einem Zeilenumbruch zurückgesetzt werden (zumindest gemäß der Spezifikation)

Mögliche Korrekturen:

  1. ändere \e[1z in \e[6z, damit der sichere Modus "hängt", bis er geändert wird
  2. ersetze die Zeilenumbrüche durch
    Tags (br-Tags werden vom Client als Zeilenumbrüche behandelt, zählen aber nicht als EOL zum Zurücksetzen auf den Standardmodus)

Alle 3 Kommentare

Entschuldigung, wir haben MXP deaktiviert, um zu verhindern, dass Benutzer MXP-Tags sehen. Jetzt haben wir es wieder aktiviert. Sie können erneut testen.

Danke und nochmal Entschuldigung!

OK, ich habe einige Debugging-Ausgaben hinzugefügt und denke, ich sehe, was passiert.

Hier ist der Ablauf dessen, was passiert, wenn ich mir einen Raum ansehe

  1. Mudlet empfängt die \e[1z-Sequenz, die den MXP-Modus "SECURE LINE" setzt
  2. Mudlet erhält den Text " Sei in una delle vie Principali della capitale. Molte persone passano qui,\n"
  3. Wenn Mudlet den Zeilenumbruch verarbeitet, setzt es den Modus auf den Standard zurück, den die Server-Präambel auf den "gesperrten" Modus gesetzt hat (dh alle Tags ignorieren)
  4. Mudlet erhält dann mehr Text, der enthältTags, aber es befindet sich bereits wieder im gesperrten Modus, sodass sie ignoriert werden.
  5. Mudlet empfängt \e[7z, um es in den Modus "gesperrt, bis ich es sage" zurückzusetzen.

Das alte Verhalten bestand darin, bis auf Weiteres im sicheren Leitungsmodus zu bleiben. Aber es sollte immer bei einem Zeilenumbruch zurückgesetzt werden (zumindest gemäß der Spezifikation)

Mögliche Korrekturen:

  1. ändere \e[1z in \e[6z, damit der sichere Modus "hängt", bis er geändert wird
  2. ersetze die Zeilenumbrüche durch
    Tags (br-Tags werden vom Client als Zeilenumbrüche behandelt, zählen aber nicht als EOL zum Zurücksetzen auf den Standardmodus)

Hallo, danke für deine Hilfe. Wir haben Fix 1 verwendet, sauberer.

Danke nochmal an alle!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen