diff options
author | Michael Vetter <jubalh@iodoru.org> | 2020-12-10 08:41:57 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-10 08:41:57 +0100 |
commit | 150ce3520b1ffc2526c030cdc5e318a6259ad74e (patch) | |
tree | 9eda4a553b539babca79593ccd0811ddc2fd69c4 | |
parent | b525befe67dbb8a8188033c4f33b57c46272f9f6 (diff) | |
parent | 22b923018ff966c9c015c15beddd37286a764e41 (diff) | |
download | profani-tty-150ce3520b1ffc2526c030cdc5e318a6259ad74e.tar.gz |
Merge pull request #1446 from profanity-im/fix/1439-chatlogs
Fix chatlogs for outgoing carbons
-rw-r--r-- | src/event/server_events.c | 33 |
1 files changed, 19 insertions, 14 deletions
diff --git a/src/event/server_events.c b/src/event/server_events.c index 27f142eb..0d9d9523 100644 --- a/src/event/server_events.c +++ b/src/event/server_events.c @@ -448,16 +448,6 @@ sv_ev_outgoing_carbon(ProfMessage* message) chat_state_active(chatwin->state); - if (message->plain) { - if (message->type == PROF_MSG_TYPE_MUCPM) { - // MUC PM, should have resource (nick) in filename - chat_log_msg_out(message->to_jid->barejid, message->plain, message->from_jid->resourcepart); - } else { - chat_log_msg_out(message->to_jid->barejid, message->plain, NULL); - } - log_database_add_incoming(message); - } - if (message->enc == PROF_MSG_ENC_OMEMO) { chatwin_outgoing_carbon(chatwin, message); } else if (message->encrypted) { @@ -481,6 +471,16 @@ sv_ev_outgoing_carbon(ProfMessage* message) message->plain = strdup(message->body); chatwin_outgoing_carbon(chatwin, message); } + + if (message->plain) { + if (message->type == PROF_MSG_TYPE_MUCPM) { + // MUC PM, should have resource (nick) in filename + chat_log_msg_out(message->to_jid->barejid, message->plain, message->from_jid->resourcepart); + } else { + chat_log_msg_out(message->to_jid->barejid, message->plain, NULL); + } + log_database_add_incoming(message); + } return; } @@ -659,14 +659,19 @@ sv_ev_incoming_carbon(ProfMessage* message) #endif } + gboolean logit = TRUE; + if (message->type == PROF_MSG_TYPE_MUCPM) { + logit = FALSE; + } + if (message->enc == PROF_MSG_ENC_OX) { - _sv_ev_incoming_ox(chatwin, new_win, message, FALSE); + _sv_ev_incoming_ox(chatwin, new_win, message, logit); } else if (message->encrypted) { - _sv_ev_incoming_pgp(chatwin, new_win, message, FALSE); + _sv_ev_incoming_pgp(chatwin, new_win, message, logit); } else if (message->enc == PROF_MSG_ENC_OMEMO) { - _sv_ev_incoming_omemo(chatwin, new_win, message, FALSE); + _sv_ev_incoming_omemo(chatwin, new_win, message, logit); } else { - _sv_ev_incoming_plain(chatwin, new_win, message, FALSE); + _sv_ev_incoming_plain(chatwin, new_win, message, logit); } rosterwin_roster(); return; |