IRCv3: Don't send typing messages in the status conversations

Thu, 02 Jan 2025 22:42:47 -0600

author
Gary Kramlich <grim@reaperworld.com>
date
Thu, 02 Jan 2025 22:42:47 -0600
changeset 43124
711b58ead6df
parent 43123
4d3b58b6cf06
child 43125
06367e26ef2f

IRCv3: Don't send typing messages in the status conversations

Testing Done:
Used ngrep to verify that typing in the status conversation didn't send typing messages.
Then used ngrep and senpai to verify that typing messages were sent in a channel.

Bugs closed: PIDGIN-18021

Reviewed at https://reviews.imfreedom.org/r/3720/

protocols/ircv3/purpleircv3protocolconversation.c file | annotate | diff | comparison | revisions
--- a/protocols/ircv3/purpleircv3protocolconversation.c	Thu Jan 02 22:37:44 2025 -0600
+++ b/protocols/ircv3/purpleircv3protocolconversation.c	Thu Jan 02 22:42:47 2025 -0600
@@ -257,6 +257,7 @@
 	PurpleIRCv3Connection *connection;
 	PurpleAccount *account = NULL;
 	PurpleConnection *purple_connection = NULL;
+	PurpleConversation *status_conversation = NULL;
 	IbisClient *client = NULL;
 	IbisMessage *message = NULL;
 	IbisTags *tags = NULL;
@@ -278,6 +279,11 @@
 	purple_connection = purple_account_get_connection(account);
 	connection = PURPLE_IRCV3_CONNECTION(purple_connection);
 
+	status_conversation = purple_ircv3_connection_get_status_conversation(connection);
+	if(conversation == status_conversation) {
+		return;
+	}
+
 	message = ibis_message_new(IBIS_MSG_TAGMSG);
 	ibis_message_set_params(message, purple_conversation_get_id(conversation),
 	                        NULL);

mercurial