From e2dc69f9e1da9bb3b5924f606791a52a260e76fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maxime=20=E2=80=9Cpep=E2=80=9D=20Buquet?= Date: Fri, 8 May 2020 15:10:25 +0200 Subject: [PATCH] Chatstates: add in MUC-PMs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Maxime “pep” Buquet --- poezio/tabs/basetabs.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/poezio/tabs/basetabs.py b/poezio/tabs/basetabs.py index 9026e8be..fca54860 100644 --- a/poezio/tabs/basetabs.py +++ b/poezio/tabs/basetabs.py @@ -48,6 +48,8 @@ if TYPE_CHECKING: log = logging.getLogger(__name__) +NS_MUC_USER = 'http://jabber.org/protocol/muc#user' + # getters for tab colors (lambdas, so that they are dynamic) STATE_COLORS = { 'disconnected': lambda: get_theme().COLOR_TAB_DISCONNECTED, @@ -688,6 +690,8 @@ class ChatTab(Tab): """ Send an empty chatstate message """ + from poezio.tabs import PrivateTab + if self.check_send_chat_state(): if state in ('active', 'inactive', 'gone') and self.inactive and not always_send: @@ -698,6 +702,9 @@ class ChatTab(Tab): msg['chat_state'] = state self.chat_state = state msg['no-store'] = True + if isinstance(self, PrivateTab): + x = ET.Element('{%s}x' % NS_MUC_USER) + msg.append(x) msg.send() return True