| author | Stephen Paul Weber
<singpolyma@singpolyma.net> 2024-10-08 15:44:54 UTC |
| committer | Stephen Paul Weber
<singpolyma@singpolyma.net> 2024-10-08 15:44:54 UTC |
| parent | a2949dc95edad169f55bb67bcc860d28b002a632 |
| snikket/ChatMessage.hx | +1 | -1 |
diff --git a/snikket/ChatMessage.hx b/snikket/ChatMessage.hx index 03ee468..a4015c1 100644 --- a/snikket/ChatMessage.hx +++ b/snikket/ChatMessage.hx @@ -213,7 +213,7 @@ class ChatMessage { final fallbacks: Array<{start: Int, end: Int}> = cast payloads.filter( (p) -> p.attr.get("xmlns") == "urn:xmpp:fallback:0" && (p.attr.get("for") == "jabber:x:oob" || p.attr.get("for") == "urn:xmpp:sims:1" || (replyToMessage != null && p.attr.get("for") == "urn:xmpp:reply:0") || p.attr.get("for") == "http://jabber.org/protocol/address") ).map((p) -> p.getChild("body")).map((b) -> b == null ? null : { start: Std.parseInt(b.attr.get("start") ?? "0") ?? 0, end: Std.parseInt(b.attr.get("end") ?? Std.string(codepoints.length)) ?? codepoints.length }).filter((b) -> b != null); - fallbacks.sort((x, y) -> x.start - y.start); + fallbacks.sort((x, y) -> y.start - x.start); for (fallback in fallbacks) { codepoints.splice(fallback.start, (fallback.end - fallback.start)); }