mirror of
https://forge.fsky.io/lda/Parsee.git
synced 2026-03-13 13:45:10 +00:00
[ADD] Have avatars on first-message too
This commit is contained in:
parent
94090a8c97
commit
a48c3ba126
3 changed files with 21 additions and 6 deletions
|
|
@ -195,7 +195,6 @@ ASGetAvatar(const ParseeConfig *c, char *room, char *user)
|
|||
ret = StrDuplicate(
|
||||
JsonValueAsString(HashMapGet(reply, "avatar_url"))
|
||||
);
|
||||
StreamFlush(StreamStderr());
|
||||
HttpClientContextFree(ctx);
|
||||
JsonFree(reply);
|
||||
Free(path);
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ ParseeMemberHandler(ParseeData *data, HashMap *event)
|
|||
{
|
||||
char *jid = ParseeEncodeMXID(state_key);
|
||||
char *sha = NULL, *mime = NULL;
|
||||
char *avatar = ASGetAvatar(data->config, room_id, state_key);
|
||||
char *avatar = ASGetAvatar(data->config, NULL, state_key);
|
||||
char *url = ParseeToUnauth(data, avatar);
|
||||
chat_id = ParseeGetFromRoomID(data, room_id);
|
||||
|
||||
|
|
@ -115,7 +115,7 @@ ParseeMemberHandler(ParseeData *data, HashMap *event)
|
|||
char *muc = ParseeGetMUCID(data, chat_id);
|
||||
char *name = ASGetName(data->config, room_id, state_key);
|
||||
char *jabber = JoinMUC(data, event, jid, muc, name, sha);
|
||||
avatar = ASGetAvatar(data->config, room_id, state_key);
|
||||
avatar = ASGetAvatar(data->config, NULL, state_key);
|
||||
Log(LOG_DEBUG, "MATRIX: Joining as '%s' (avatar=%s)", jabber, avatar);
|
||||
|
||||
Free(jabber);
|
||||
|
|
@ -333,7 +333,8 @@ GetXMPPInformation(ParseeData *data, HashMap *event, char **from, char **to)
|
|||
}
|
||||
else
|
||||
{
|
||||
char *matrix_name;
|
||||
char *matrix_name, *matrix_avatar;
|
||||
char *mime, *sha;
|
||||
|
||||
muc_id = ParseeGetMUCID(data, chat_id);
|
||||
if (!chat_id)
|
||||
|
|
@ -347,10 +348,16 @@ GetXMPPInformation(ParseeData *data, HashMap *event, char **from, char **to)
|
|||
}
|
||||
|
||||
matrix_name = ASGetName(data->config, room_id, matrix_sender);
|
||||
Free(JoinMUC(data, event, *from, muc_id, matrix_name, NULL));
|
||||
matrix_avatar = ASGetAvatar(data->config, NULL, matrix_sender);
|
||||
|
||||
ASGetMIMESHA(data->config, matrix_avatar, &mime, &sha);
|
||||
Free(JoinMUC(data, event, *from, muc_id, matrix_name, sha));
|
||||
*to = muc_id;
|
||||
|
||||
Free(matrix_avatar);
|
||||
Free(matrix_name);
|
||||
Free(mime);
|
||||
Free(sha);
|
||||
}
|
||||
|
||||
Free(chat_id);
|
||||
|
|
@ -437,8 +444,9 @@ ParseeMessageHandler(ParseeData *data, HashMap *event)
|
|||
|
||||
/* TODO: Avoid using the AS endpoints */
|
||||
name = ASGetName(data->config, id, m_sender);
|
||||
avatar = ASGetAvatar(data->config, id, sender);
|
||||
avatar = ASGetAvatar(data->config, NULL, m_sender);
|
||||
ASGetMIMESHA(data->config, avatar, &mime, &sha);
|
||||
|
||||
Free(JoinMUC(data, event, encoded_from, muc_id, name, sha));
|
||||
|
||||
to = muc_id;
|
||||
|
|
|
|||
|
|
@ -116,6 +116,11 @@ XMLEncodeString(Stream *stream, char *data)
|
|||
{
|
||||
size_t i;
|
||||
|
||||
if (!stream || !data)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
for (i = 0; i < strlen(data); i++)
|
||||
{
|
||||
char c = data[i];
|
||||
|
|
@ -145,6 +150,9 @@ XMLEncodeString(Stream *stream, char *data)
|
|||
continue;
|
||||
}
|
||||
StreamPrintf(stream, "%c", c);
|
||||
/* TODO: Maybe consider Unistrings and encode arbitrary Unicode
|
||||
* codepoints * with special XML. Oughta make it printable, you know?
|
||||
*/
|
||||
}
|
||||
}
|
||||
void
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue