From c725adaa09e5433b6610aa1485cbd33dd50664a9 Mon Sep 17 00:00:00 2001 From: ThePeGaSuS <25697531+TehPeGaSuS@users.noreply.github.com> Date: Thu, 3 Sep 2026 08:50:04 +0200 Subject: [PATCH] Fix CTCP ACTION not rerouting self-sent /me to correct PM window Mirrors the PRIVMSG fix: replayed /me messages sent by our own nick via WeeChat relay backlog were always passed with fromme=FALSE, so they never got rerouted to the actual PM query window. --- src/common/ctcp.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/common/ctcp.c b/src/common/ctcp.c index 37f8419e..cb7276b7 100644 --- a/src/common/ctcp.c +++ b/src/common/ctcp.c @@ -126,7 +126,21 @@ ctcp_handle (session *sess, char *to, char *nick, char *ip, if (ctcp_check (sess, nick, word, word_eol, word[4] + ctcp_offset)) goto generic; - inbound_action (sess, to, nick, ip, msg + 7, FALSE, tags_data->identified, tags_data); + { + gboolean fromme = !serv->p_cmp (nick, serv->nick); + + if (fromme && !is_channel (serv, to)) + { + session *target = find_dialog (serv, to); + + if (target) + sess = target; + else if (serv->front_session) + sess = serv->front_session; + } + + inbound_action (sess, to, nick, ip, msg + 7, fromme, tags_data->identified, tags_data); + } return; }