diff --git a/src/AS.c b/src/AS.c index d7db179..81ce4a9 100644 --- a/src/AS.c +++ b/src/AS.c @@ -807,7 +807,8 @@ ASType(const ParseeConfig *c, char *user, char *room, bool status) json = HashMapCreate(); HashMapSet(json, "typing", JsonValueBoolean(status)); - HashMapSet(json, "timeout", JsonValueBoolean(1 MINUTES)); + /* If someone types for 10 minutes straight, they got something weird man. */ + HashMapSet(json, "timeout", JsonValueBoolean(10 MINUTES)); ctx = ParseeCreateRequest(c, HTTP_PUT, path); Free(path); ASAuthenticateRequest(c, ctx); diff --git a/src/XMPPThread/Stanzas/Message.c b/src/XMPPThread/Stanzas/Message.c index 847c37a..ec37c3d 100644 --- a/src/XMPPThread/Stanzas/Message.c +++ b/src/XMPPThread/Stanzas/Message.c @@ -66,27 +66,24 @@ MessageStanza(ParseeData *args, XMLElement *stanza, XMPPThread *thr) PEPManagerHandle(thr->info->pep_manager, stanza); + /* TODO: Separate the chatstate processing code. */ #define CHAT_STATES "http://jabber.org/protocol/chatstates" if (XMLookForTKV(stanza, "composing", "xmlns", CHAT_STATES)) { - decode_from = ParseeLookupJID(from); - from_matrix = ParseeEncodeJID(args->config, decode_from, true); + from_matrix = ParseeGetBridgedUser(args, stanza); mroom_id = ParseeGetBridgedRoom(args, stanza); ASType(args->config, from_matrix, mroom_id, true); - Free(decode_from); Free(from_matrix); Free(mroom_id); mroom_id = NULL; - decode_from = NULL; from_matrix = NULL; } if (XMLookForTKV(stanza, "active", "xmlns", CHAT_STATES)) { char *latest = NULL; - decode_from = ParseeLookupJID(from); - from_matrix = ParseeEncodeJID(args->config, decode_from, true); + from_matrix = ParseeGetBridgedUser(args, stanza); mroom_id = ParseeGetBridgedRoom(args, stanza); latest = ParseeLookupHead(mroom_id); @@ -94,12 +91,10 @@ MessageStanza(ParseeData *args, XMLElement *stanza, XMPPThread *thr) ASType(args->config, from_matrix, mroom_id, false); ASPresence(args->config, from_matrix, mroom_id, latest); - Free(decode_from); Free(from_matrix); Free(latest); Free(mroom_id); mroom_id = NULL; - decode_from = NULL; from_matrix = NULL; } if (XMLookForTKV(stanza, "paused", "xmlns", CHAT_STATES) || @@ -108,20 +103,17 @@ MessageStanza(ParseeData *args, XMLElement *stanza, XMPPThread *thr) { /* TODO: Use stanza ID if possible */ char *latest = NULL; - decode_from = ParseeLookupJID(from); - from_matrix = ParseeEncodeJID(args->config, decode_from, true); + from_matrix = ParseeGetBridgedUser(args, stanza); mroom_id = ParseeGetBridgedRoom(args, stanza); latest = ParseeLookupHead(mroom_id); ASPresence(args->config, from_matrix, mroom_id, latest); - Free(decode_from); Free(from_matrix); Free(latest); Free(mroom_id); mroom_id = NULL; - decode_from = NULL; from_matrix = NULL; } diff --git a/src/include/AS.h b/src/include/AS.h index 11ff688..56e7a8c 100644 --- a/src/include/AS.h +++ b/src/include/AS.h @@ -59,7 +59,7 @@ extern char * ASCreateRoom(const ParseeConfig *c, char *by, char *alias); extern char * ASCreateDM(const ParseeConfig *c, char *by, char *with); -/** Sets the user's global display{name] +/** Sets the user's global display{name} * -------- * Returns: NOTHING * Modifies: [EXT:User status]