Mercurial > libervia-backend
diff libervia/backend/plugins/plugin_xep_0234.py @ 4220:5a0bddfa34ac
plugin XEP-0234: fix action type when pre-flight file confirmation is confirmed:
the `C.META_TYPE_FILE` can't be used in this case as it is a preflight and we don't have
yet data such as progress ID. `C.META_TYPE_FILE` is used as a sub-type to help with dialog
management in frontend.
author | Goffi <goffi@goffi.org> |
---|---|
date | Tue, 05 Mar 2024 17:31:49 +0100 |
parents | 0da563780ffc |
children | e11b13418ba6 |
line wrap: on
line diff
--- a/libervia/backend/plugins/plugin_xep_0234.py Tue Mar 05 17:31:36 2024 +0100 +++ b/libervia/backend/plugins/plugin_xep_0234.py Tue Mar 05 17:31:49 2024 +0100 @@ -443,22 +443,27 @@ ).format(peer_jid=peer_jid, human_name=self.human_name) confirm_title = D_("File sent from an unknown contact") action_type = C.META_TYPE_NOT_IN_ROSTER_LEAK + action_subtype = None else: confirm_msg = D_( - "{peer_jid} wants to send a file ro you, do you accept?" + "{peer_jid} wants to send a file to you, do you accept?" ).format(peer_jid=peer_jid) confirm_title = D_("File Proposed") - action_type = C.META_TYPE_FILE + action_type = C.META_TYPE_CONFIRM + action_subtype = C.META_TYPE_FILE + action_extra = { + "type": action_type, + "session_id": session_id, + "from_jid": peer_jid.full(), + } + if action_subtype is not None: + action_extra["subtype"] = action_subtype accepted = await xml_tools.defer_confirm( self.host, confirm_msg, confirm_title, profile=client.profile, - action_extra={ - "type": action_type, - "session_id": session_id, - "from_jid": peer_jid.full(), - }, + action_extra=action_extra ) if accepted: session["file_accepted"] = True @@ -546,7 +551,12 @@ return desc_elt async def jingle_request_confirmation( - self, client, action, session, content_name, desc_elt + self, + client: SatXMPPEntity, + action: str, + session: dict, + content_name: str, + desc_elt: domish.Element, ): """This method request confirmation for a jingle session""" content_data = session["contents"][content_name]