diff options
author | fiaxh <git@lightrise.org> | 2023-01-06 16:14:47 +0100 |
---|---|---|
committer | fiaxh <git@lightrise.org> | 2023-01-11 19:49:03 +0100 |
commit | cb3b19b01deb8460627578b885339e7528411f6f (patch) | |
tree | e879305f4f43b0f88c44aeef4c02fde3f101b1e9 /xmpp-vala | |
parent | 0c4aea96ffbc05d6efeb9a83424b872ce7f30d88 (diff) | |
download | dino-cb3b19b01deb8460627578b885339e7528411f6f.tar.gz dino-cb3b19b01deb8460627578b885339e7528411f6f.zip |
Support replies and reactions to files
Diffstat (limited to 'xmpp-vala')
-rw-r--r-- | xmpp-vala/src/module/message/module.vala | 6 | ||||
-rw-r--r-- | xmpp-vala/src/module/xep/0444_reactions.vala | 4 | ||||
-rw-r--r-- | xmpp-vala/src/util.vala | 8 |
3 files changed, 15 insertions, 3 deletions
diff --git a/xmpp-vala/src/module/message/module.vala b/xmpp-vala/src/module/message/module.vala index 2eced5c1..ef39a663 100644 --- a/xmpp-vala/src/module/message/module.vala +++ b/xmpp-vala/src/module/message/module.vala @@ -17,7 +17,11 @@ namespace Xmpp { public async void send_message(XmppStream stream, MessageStanza message) throws IOStreamError { yield send_pipeline.run(stream, message); - yield stream.write_async(message.stanza); + try { + yield stream.write_async(message.stanza); + } catch (IOStreamError e) { + throw new SendError.IO(e.message); + } } public async void received_message_stanza_async(XmppStream stream, StanzaNode node) { diff --git a/xmpp-vala/src/module/xep/0444_reactions.vala b/xmpp-vala/src/module/xep/0444_reactions.vala index 3501ca42..8e8a1706 100644 --- a/xmpp-vala/src/module/xep/0444_reactions.vala +++ b/xmpp-vala/src/module/xep/0444_reactions.vala @@ -11,7 +11,7 @@ public class Module : XmppStreamModule { private ReceivedPipelineListener received_pipeline_listener = new ReceivedPipelineListener(); - public void send_reaction(XmppStream stream, Jid jid, string stanza_type, string message_id, Gee.List<string> reactions) { + public async void send_reaction(XmppStream stream, Jid jid, string stanza_type, string message_id, Gee.List<string> reactions) throws SendError { StanzaNode reactions_node = new StanzaNode.build("reactions", NS_URI).add_self_xmlns(); reactions_node.put_attribute("id", message_id); foreach (string reaction in reactions) { @@ -25,7 +25,7 @@ public class Module : XmppStreamModule { MessageProcessingHints.set_message_hint(message, MessageProcessingHints.HINT_STORE); - stream.get_module(MessageModule.IDENTITY).send_message.begin(stream, message); + yield stream.get_module(MessageModule.IDENTITY).send_message(stream, message); } public override void attach(XmppStream stream) { diff --git a/xmpp-vala/src/util.vala b/xmpp-vala/src/util.vala index 6c0d0c9b..fda21f88 100644 --- a/xmpp-vala/src/util.vala +++ b/xmpp-vala/src/util.vala @@ -38,3 +38,11 @@ public long from_hex(string numeral) { } } + +namespace Xmpp { + public errordomain SendError { + IO, + NoStream, + Misc + } +} |