From b2c4ade6b9e399bcbcf577de39bada6a675d4c8a Mon Sep 17 00:00:00 2001 From: Bohdan Horbeshko Date: Thu, 31 Jul 2025 10:25:42 -0400 Subject: [PATCH] Support vCards for occupant JIDs --- xmpp/handlers.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/xmpp/handlers.go b/xmpp/handlers.go index 07a8eec..15fcd10 100644 --- a/xmpp/handlers.go +++ b/xmpp/handlers.go @@ -761,12 +761,24 @@ func handleGetVcardIq(s xmpp.Sender, iq *stanza.IQ, typ byte) { return } - toID, toOk, _ := toToID(iq.To) + toID, toOk, isGroup := toToID(iq.To) if !toOk { log.Error("Invalid IQ to") return } + if isGroup { + toJid, err := stanza.NewJid(iq.To) + if err != nil { + log.Error("Invalid to JID!") + return + } + + if toJid.Resource != "" { + toID = session.GetMUCMemberIdByNickname(toID, toJid.Resource) + } + } + info, err := session.GetVcardInfo(toID) if err != nil { log.Error(err)