--- a/protocols/ircv3/purpleircv3messagehandlers.c Sun Mar 30 22:26:33 2025 -0500 +++ b/protocols/ircv3/purpleircv3messagehandlers.c Sun Mar 30 22:27:50 2025 -0500 @@ -22,6 +22,8 @@ #include <glib/gi18n-lib.h> +#include <pango/pango.h> + #include "purpleircv3messagehandlers.h" #include "purpleircv3connection.h" @@ -555,6 +557,7 @@ g_free(body); } } else { + PangoAttrList *attrs = NULL; char *stripped = NULL; conversation = purple_ircv3_connection_find_or_create_conversation(connection, @@ -563,9 +566,11 @@ conversation, announce); - stripped = ibis_formatting_strip(params[1]); + stripped = ibis_formatting_parse(params[1], &attrs); message = purple_message_new(member, stripped); + purple_message_set_attributes(message, attrs); g_clear_pointer(&stripped, g_free); + g_clear_pointer(&attrs, pango_attr_list_unref); } if(purple_strequal(command, IBIS_MSG_NOTICE)) {