From 6cbfed824520e742532db502147d9c6bc524cc84 Mon Sep 17 00:00:00 2001 From: Bohdan Horbeshko Date: Sun, 13 Feb 2022 16:36:18 -0500 Subject: [PATCH] Make incoming messages to the transport trigger a subscription --- xmpp/handlers.go | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/xmpp/handlers.go b/xmpp/handlers.go index 6f8c877..eeb9628 100644 --- a/xmpp/handlers.go +++ b/xmpp/handlers.go @@ -71,17 +71,24 @@ func HandleMessage(s xmpp.Sender, p stanza.Packet) { return } + gatewayJid := gateway.Jid.Bare() + session, ok := sessions[bare] if !ok { - log.Error("Message from stranger") - return + if msg.To == gatewayJid { + gateway.SendPresence(component, msg.From, gateway.SPType("subscribe")) + gateway.SendPresence(component, msg.From, gateway.SPType("subscribed")) + } else { + log.Error("Message from stranger") + return + } } toID, ok := toToID(msg.To) if ok { session.ProcessOutgoingMessage(toID, msg.Body, msg.From) return - } else if msg.To == gateway.Jid.Bare() { + } else if msg.To == gatewayJid { if strings.HasPrefix(msg.Body, "/") { response := session.ProcessTransportCommand(msg.Body, resource) if response != "" {