From 4edf690e26481e917be65efafb6a40a0e19061e2 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 14:10:59 +0200 Subject: Revert "Revert "tabs/privatetab: Fixes #3491: Add MUC marker in MUC-PMs. Thanks Ge0rG."" This reverts commit e9a6ea7a59b0bf08c4f649ce125cb5dae12e1e63. --- poezio/tabs/privatetab.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/poezio/tabs/privatetab.py b/poezio/tabs/privatetab.py index ee4cd84c..6033e774 100644 --- a/poezio/tabs/privatetab.py +++ b/poezio/tabs/privatetab.py @@ -13,6 +13,7 @@ the ConversationTab (such as tab-completion on nicks from the room). import curses import logging from typing import Dict, Callable +from xml.etree import cElementTree as ET from slixmpp import JID @@ -152,6 +153,8 @@ class PrivateTab(OneToOneTab): ) msg['type'] = 'chat' msg['body'] = line + x = ET.Element('{http://jabber.org/protocol/muc#user}x') + msg.append(x) # trigger the event BEFORE looking for colors. # This lets a plugin insert \x19xxx} colors, that will # be converted in xhtml. -- cgit v1.2.3 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: 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 -- cgit v1.2.3 From 773880c79911ab3aafdb11ee8d896e958a2281b0 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:11:21 +0200 Subject: PrivateTab: extract NS contant MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Maxime “pep” Buquet --- poezio/tabs/privatetab.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/poezio/tabs/privatetab.py b/poezio/tabs/privatetab.py index 6033e774..7206240f 100644 --- a/poezio/tabs/privatetab.py +++ b/poezio/tabs/privatetab.py @@ -30,6 +30,8 @@ from poezio.decorators import command_args_parser log = logging.getLogger(__name__) +NS_MUC_USER = 'http://jabber.org/protocol/muc#user' + class PrivateTab(OneToOneTab): """ @@ -153,7 +155,7 @@ class PrivateTab(OneToOneTab): ) msg['type'] = 'chat' msg['body'] = line - x = ET.Element('{http://jabber.org/protocol/muc#user}x') + x = ET.Element('{%s}x' % NS_MUC_USER) msg.append(x) # trigger the event BEFORE looking for colors. # This lets a plugin insert \x19xxx} colors, that will -- cgit v1.2.3