[MOD/FIX] Separate XMPP thread, fix EINVAL issue

threading is good actually. please hmu if you ever trigger the
achievement.
This commit is contained in:
LDA 2024-07-17 22:55:25 +02:00
commit 143bdf0a5a
21 changed files with 2314 additions and 1764 deletions

View file

@ -56,7 +56,6 @@ ParseeMemberHandler(ParseeData *data, HashMap *event)
char *muc = ParseeGetMUCID(data, chat_id);
char *rev = StrConcat(2, muc, "/parsee");
/* Make the user join the MUC */
XMPPJoinMUC(data->jabber, jid, rev);
Free(rev);
Free(muc);
@ -295,7 +294,9 @@ ParseeMessageHandler(ParseeData *data, HashMap *event)
}
xmppified_user = ParseeEncodeMXID(m_sender);
/* TODO: Check the name's validity */
/* TODO: Check the name's validity.
* Is there a good way to check for that that isn't
* just "await on join and try again?" */
name = ASGetName(data->config, id, m_sender);
rev = StrConcat(4, muc_id, "/", name, "[p]");
@ -382,7 +383,9 @@ ParseeEventHandler(ParseeData *data, HashMap *event)
ParseeMemberHandler(data, event);
return;
}
else if (StrEquals(event_type, "m.room.message"))
else if (StrEquals(event_type, "m.room.message") ||
StrEquals(event_type, "m.sticker")) /* TODO: Actual sticker
* support here... */
{
ParseeMessageHandler(data, event);
return;