comparison libervia/backend/plugins/plugin_xep_0308.py @ 4166:a1f7040b5a15

plugin XEP-0424: message retraction update: - follow specification update (with namespace bump) - retract from history on message reception for group chat - send bridge message
author Goffi <goffi@goffi.org>
date Thu, 30 Nov 2023 13:23:53 +0100
parents 3b3cd9453d9b
children b1207332cea2
comparison
equal deleted inserted replaced
4165:81faa85c9cfa 4166:a1f7040b5a15
29 from libervia.backend.core.constants import Const as C 29 from libervia.backend.core.constants import Const as C
30 from libervia.backend.core.core_types import SatXMPPEntity 30 from libervia.backend.core.core_types import SatXMPPEntity
31 from libervia.backend.core.i18n import _ 31 from libervia.backend.core.i18n import _
32 from libervia.backend.core.log import getLogger 32 from libervia.backend.core.log import getLogger
33 from libervia.backend.memory.sqla import History, Message, Subject, joinedload, select 33 from libervia.backend.memory.sqla import History, Message, Subject, joinedload, select
34 from libervia.backend.models.core import MessageEditData, MessageEdition 34 from libervia.backend.models.core import MessageData, MessageEdition
35 from libervia.backend.tools.common import data_format 35 from libervia.backend.tools.common import data_format
36 from libervia.backend.tools.utils import aio 36 from libervia.backend.tools.utils import aio
37 log = getLogger(__name__) 37 log = getLogger(__name__)
38 38
39 39
138 if store: 138 if store:
139 flag_modified(edited_history, "extra") 139 flag_modified(edited_history, "extra")
140 edited_history.extra.setdefault(C.MESS_EXTRA_EDITIONS, []).append(previous_version) 140 edited_history.extra.setdefault(C.MESS_EXTRA_EDITIONS, []).append(previous_version)
141 await self.host.memory.storage.add(edited_history) 141 await self.host.memory.storage.add(edited_history)
142 142
143 edit_data = MessageEditData(edited_history.serialise()) 143 edit_data = MessageData(edited_history.serialise())
144 self.host.bridge.message_update( 144 self.host.bridge.message_update(
145 edited_history.uid, 145 edited_history.uid,
146 C.MESS_UPDATE_EDIT, 146 C.MESS_UPDATE_EDIT,
147 data_format.serialise(edit_data), 147 data_format.serialise(edit_data),
148 client.profile, 148 client.profile,