From 3e26364579d49aae70fa54addbd271b3aee3d968 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Tue, 8 Dec 2020 12:26:36 +0100 Subject: [PATCH 1/2] Fix chatlogs for outgoing carbons Doesn't make sense to log if plain is not set in all cases. Regards https://github.com/profanity-im/profanity/issues/1439 --- src/event/server_events.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/event/server_events.c b/src/event/server_events.c index 27f142eb..3e51d969 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; } From 22b923018ff966c9c015c15beddd37286a764e41 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Wed, 9 Dec 2020 10:49:19 +0100 Subject: [PATCH 2/2] Log incoming carbons if they are no MUCPM Regards https://github.com/profanity-im/profanity/pull/1446 --- src/event/server_events.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/event/server_events.c b/src/event/server_events.c index 3e51d969..0d9d9523 100644 --- a/src/event/server_events.c +++ b/src/event/server_events.c @@ -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;