From e62b7fa0c7f52e548ae67343fa1741dd30e7bee2 Mon Sep 17 00:00:00 2001
From: remicorniere <remicorniere@users.noreply.github.com>
Date: Tue, 24 Dec 2019 10:47:25 +0000
Subject: [PATCH] Update client.go

---
 client.go | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/client.go b/client.go
index f75985a..30c9d7e 100644
--- a/client.go
+++ b/client.go
@@ -207,6 +207,10 @@ func (c *Client) Resume(state SMState) error {
 
 func (c *Client) Disconnect() {
 	// TODO : Wait for server response for clean disconnect
+	presence := stanza.NewPresence(stanza.Attrs{From: c.config.Jid})
+	presence.Type = stanza.PresenceTypeUnavailable
+	c.Send(presence)
+	c.SendRaw(stanza.StreamClose)
 	if c.transport != nil {
 		_ = c.transport.Close()
 	}