From ad7f4f20e17cd01756701a07d368ffecbc1bc1ad Mon Sep 17 00:00:00 2001 From: LDA Date: Fri, 6 Sep 2024 07:43:19 +0200 Subject: [PATCH] [FIX] Broken-ass replies --- src/StanzaBuilder.c | 4 ++-- src/XMPPThread/Stanzas/Message.c | 29 ++++++++++++++++------------- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/src/StanzaBuilder.c b/src/StanzaBuilder.c index 27b16de..5426f80 100644 --- a/src/StanzaBuilder.c +++ b/src/StanzaBuilder.c @@ -190,8 +190,8 @@ ExportStanza(StanzaBuilder *builder) XMLElement *fallback = XMLCreateTag("fallback"); XMLElement *fall_body = XMLCreateTag("body"); - XMLAddAttr(reply, "to", builder->replying_to_stanza); - XMLAddAttr(reply, "id", builder->replying_to_sender); + XMLAddAttr(reply, "to", builder->replying_to_sender); + XMLAddAttr(reply, "id", builder->replying_to_stanza); XMLAddAttr(reply, "xmlns", "urn:xmpp:reply:0"); XMLAddAttr(fallback, "xmlns", "urn:xmpp:fallback:0"); diff --git a/src/XMPPThread/Stanzas/Message.c b/src/XMPPThread/Stanzas/Message.c index 53ce9c8..8ed2151 100644 --- a/src/XMPPThread/Stanzas/Message.c +++ b/src/XMPPThread/Stanzas/Message.c @@ -288,21 +288,24 @@ end_error: if (oob_data) { mxc = ASReupload(args->config, oob_data->data, &mime); - content = MatrixCreateMedia(mxc, data->data, mime); + if (mxc) + { + content = MatrixCreateMedia(mxc, data->data, mime); - /* Yeah, no, I'm not modifying the media creation code. */ - HashMapSet(content, - "at.kappach.at.parsee.external", - JsonValueString(oob_data->data) - ); - ShoveStanza(content, stanza); + /* Yeah, no, I'm not modifying the media creation code. */ + HashMapSet(content, + "at.kappach.at.parsee.external", + JsonValueString(oob_data->data) + ); + ShoveStanza(content, stanza); - event_id = ASSend( - args->config, mroom_id, encoded, - "m.room.message", content - ); - Free(mime); - Free(mxc); + event_id = ASSend( + args->config, mroom_id, encoded, + "m.room.message", content + ); + Free(mime); + Free(mxc); + } } } else if (reactions)