Merge branch 'muc-pms-x' into 'master'
Add <x/> to MUC-PM CSNs Closes #3491 See merge request poezio/poezio!90
This commit is contained in:
commit
f1473f6d1f
2 changed files with 12 additions and 0 deletions
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
@ -29,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):
|
||||
"""
|
||||
|
@ -152,6 +155,8 @@ class PrivateTab(OneToOneTab):
|
|||
)
|
||||
msg['type'] = 'chat'
|
||||
msg['body'] = line
|
||||
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
|
||||
# be converted in xhtml.
|
||||
|
|
Loading…
Reference in a new issue