From 52c3df7cb402f18640338c7b95149ef6b3968f91 Mon Sep 17 00:00:00 2001 From: JC Brand Date: Sat, 15 Nov 2014 15:38:15 +0100 Subject: [PATCH] Fixes #260 Sent message carbons are not displayed. --- converse.js | 14 ++++++++++++-- docs/CHANGES.rst | 1 + 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/converse.js b/converse.js index 9d3ad2adb..70475ed00 100644 --- a/converse.js +++ b/converse.js @@ -633,7 +633,11 @@ .c('enable', {xmlns: 'urn:xmpp:carbons:2'}); this.connection.send(carbons_iq); this.connection.addHandler(function (iq) { - //TODO: check if carbons was enabled: + if ($(iq).find('error').length > 0) { + converse.log('ERROR: An error occured while trying to enable message carbons.'); + } else { + converse.log('Message carbons appear to have been enabled.'); + } }, null, "iq", null, "enablecarbons"); }; @@ -2899,7 +2903,7 @@ onMessage: function (message) { var $message = $(message); - var contact_jid, $forwarded, $received, + var contact_jid, $forwarded, $received, $sent, msgid = $message.attr('id'), chatbox, resource, roster_item, message_from = $message.attr('from'); @@ -2910,12 +2914,18 @@ } $forwarded = $message.children('forwarded'); $received = $message.children('received[xmlns="urn:xmpp:carbons:2"]'); + $sent = $message.children('sent[xmlns="urn:xmpp:carbons:2"]'); + if ($forwarded.length) { $message = $forwarded.children('message'); } else if ($received.length) { $message = $received.children('forwarded').children('message'); message_from = $message.attr('from'); + } else if ($sent.length) { + $message = $sent.children('forwarded').children('message'); + message_from = $message.attr('from'); } + var from = Strophe.getBareJidFromJid(message_from), to = Strophe.getBareJidFromJid($message.attr('to')); if (from == converse.bare_jid) { diff --git a/docs/CHANGES.rst b/docs/CHANGES.rst index aad5d3d43..847e7d131 100644 --- a/docs/CHANGES.rst +++ b/docs/CHANGES.rst @@ -17,6 +17,7 @@ Changelog * #237 Unable to create room when ``hide_muc_server`` is ``true``. [jcbrand] * #238 Rooms are not shown when ``hide_offline_users`` is ``true``. [jcbrand] * #251 Non-minified builds for debugging. [jcbrand] +* #260 Sent message carbons are not displayed. [jcbrand] * #262 Contact requests are not shown if page is reloaded. [jcbrand] * #264 Remove unnecessary commas for ie8 compatibility. [Deuteu] * #267 Unread messages counter wrongly gets incremented by chat state notifications. [Deuteu]