From e85b534e4f9ca24e64800f5da604e6b7415f8940 Mon Sep 17 00:00:00 2001 From: Bohdan Horbeshko Date: Mon, 28 Jul 2025 20:44:21 -0400 Subject: [PATCH] Improve detection of nickname change presences --- xmpp/handlers.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/xmpp/handlers.go b/xmpp/handlers.go index 52f0071..07a8eec 100644 --- a/xmpp/handlers.go +++ b/xmpp/handlers.go @@ -689,18 +689,24 @@ func tryHandleMUCPresence(s xmpp.Sender, p stanza.Presence) { switch p.Type { case "": - handleMUCNicknameChange(component, p, session, chatId, toBare) + if p.Show == "" { + handleMUCNicknameChange(component, p, session, chatId, toBare, nickname) + } case stanza.PresenceTypeUnavailable: handleMUCUnavailable(component, p, session, chatId, fromResource) } } -func handleMUCNicknameChange(component *xmpp.Component, p stanza.Presence, session *telegram.Client, chatId int64, toBare string) { +func handleMUCNicknameChange(component *xmpp.Component, p stanza.Presence, session *telegram.Client, chatId int64, toBare string, newNickname string) { log.Warn("🗿 Yes") from := toBare nickname, ok := session.GetMyMUCNickname(chatId) if ok { + if nickname == newNickname { + log.Warn("But whatever, it's the same") + return + } from = from+"/"+nickname } reply := &stanza.Presence{