core (memory/encryption): set encrypted flag also for outgoing messages and put it in extra:
- `encrypted` flag is now put directly in extra, so that there is nothing to change when sending the message to bridge for frontends to be aware of it. - this flag is now also set when markAsEncrypted is used, so frontend can display appropriate indicator to show that outgoing message is encrypted or not.
This commit is contained in:
parent
70600d62f3
commit
8e9905363e
2 changed files with 6 additions and 5 deletions
|
|
@ -1183,8 +1183,8 @@ class SatMessageProtocol(xmppim.MessageProtocol):
|
|||
data["extra"]["delay_sender"] = data["delay_sender"]
|
||||
except KeyError:
|
||||
pass
|
||||
if C.MESS_KEY_ENCRYPTION in data:
|
||||
data["extra"]["encrypted"] = C.BOOL_TRUE
|
||||
if self.client.encryption.isEncrypted(data):
|
||||
data["extra"]["encrypted"] = True
|
||||
if data is not None:
|
||||
if self.parent.isMessagePrintable(data):
|
||||
self.host.bridge.messageNew(
|
||||
|
|
|
|||
|
|
@ -447,6 +447,7 @@ class EncryptionHandler:
|
|||
f"encryption flag must not be set for groupchat if encryption algorithm "
|
||||
f"({encryption['plugin'].name}) is directed!")
|
||||
mess_data[C.MESS_KEY_ENCRYPTION] = encryption
|
||||
self.markAsEncrypted(mess_data)
|
||||
|
||||
## Misc ##
|
||||
|
||||
|
|
@ -457,7 +458,7 @@ class EncryptionHandler:
|
|||
the plugin
|
||||
@param mess_data(dict): message data as used in post treat workflow
|
||||
"""
|
||||
mess_data[C.MESS_KEY_ENCRYPTED] = True
|
||||
mess_data['extra'][C.MESS_KEY_ENCRYPTED] = True
|
||||
return mess_data
|
||||
|
||||
def isEncryptionRequested(self, mess_data, namespace=None):
|
||||
|
|
@ -478,12 +479,12 @@ class EncryptionHandler:
|
|||
return plugin.namespace == namespace
|
||||
|
||||
def isEncrypted(self, mess_data):
|
||||
"""Helper method to check if an incoming message has the e2e encrypted flag
|
||||
"""Helper method to check if a message has the e2e encrypted flag
|
||||
|
||||
@param mess_data(dict): message data
|
||||
@return (bool): True if the encrypted flag is present
|
||||
"""
|
||||
return mess_data.get(C.MESS_KEY_ENCRYPTED, False)
|
||||
return mess_data['extra'].get(C.MESS_KEY_ENCRYPTED, False)
|
||||
|
||||
|
||||
def markAsTrusted(self, mess_data):
|
||||
|
|
|
|||
Loading…
Reference in a new issue