Skip to content

Commit 1a7d487

Browse files
committed
Revert "Own message loopback tracking implementation"
This reverts commit f1f0c97.
1 parent fb2efa0 commit 1a7d487

File tree

3 files changed

+6
-129
lines changed

3 files changed

+6
-129
lines changed

backends/libpurple/loopback.cpp

Lines changed: 0 additions & 64 deletions
This file was deleted.

backends/libpurple/loopback.h

Lines changed: 0 additions & 47 deletions
This file was deleted.

backends/libpurple/main.cpp

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,14 @@
4343
#endif
4444

4545
#include "purple_defs.h"
46-
#include "loopback.h"
4746

4847
DEFINE_LOGGER(logger_libpurple, "libpurple");
4948
DEFINE_LOGGER(logger, "backend");
5049

51-
MessageLoopbackTracker *loopbackTracker; //Tracks outgoing messages to ignore loopbacks
50+
/* Additional PURPLE_MESSAGE_* flags as a hack to track the origin of the message. */
51+
typedef enum {
52+
PURPLE_MESSAGE_SPECTRUM2_ORIGINATED = 0x80000000,
53+
} PurpleMessageSpectrum2Flags;
5254

5355
int main_socket;
5456
static int writeInput;
@@ -612,7 +614,6 @@ class SpectrumNetworkPlugin : public NetworkPlugin {
612614
}
613615
if (xhtml.empty()) {
614616
gchar *_markup = purple_markup_escape_text_wrapped(message.c_str(), -1);
615-
loopbackTracker->add(conv, _markup);
616617
if (purple_conversation_get_type_wrapped(conv) == PURPLE_CONV_TYPE_IM) {
617618
purple_conv_im_send_with_flags_wrapped(PURPLE_CONV_IM_WRAPPED(conv), _markup, static_cast<PurpleMessageFlags>(PURPLE_MESSAGE_SPECTRUM2_ORIGINATED));
618619
}
@@ -622,7 +623,6 @@ class SpectrumNetworkPlugin : public NetworkPlugin {
622623
g_free(_markup);
623624
}
624625
else {
625-
loopbackTracker->add(conv, xhtml);
626626
if (purple_conversation_get_type_wrapped(conv) == PURPLE_CONV_TYPE_IM) {
627627
purple_conv_im_send_with_flags_wrapped(PURPLE_CONV_IM_WRAPPED(conv), xhtml.c_str(), static_cast<PurpleMessageFlags>(PURPLE_MESSAGE_SPECTRUM2_ORIGINATED));
628628
}
@@ -1483,17 +1483,8 @@ static void conv_write_im(PurpleConversation *conv, const char *who, const char
14831483
if (purple_conversation_get_type_wrapped(conv) == PURPLE_CONV_TYPE_IM) {
14841484
//Don't forwards our own messages, but do forward messages "from=us" which originated elsewhere
14851485
//(such as carbons of our messages from other legacy network clients)
1486-
1487-
//First check by list so that if a message is there it's removed
1488-
//and does not inhibit another one later
1489-
if (loopbackTracker->matchAndRemove(conv, msg, mtime)) {
1490-
LOG4CXX_DEBUG(logger, "conv_write_im(): ignoring a message matching one we sent (flags=" << flags << ")");
1491-
return;
1492-
}
1493-
1494-
//Many libpurple protocols preserve flags so try to match by that too
14951486
if (flags & PURPLE_MESSAGE_SPECTRUM2_ORIGINATED) {
1496-
LOG4CXX_DEBUG(logger, "conv_write_im(): ignoring a message generated by us (flags=" << flags << ")");
1487+
LOG4CXX_INFO(logger, "conv_write_im(): ignoring a message generated by us");
14971488
return;
14981489
}
14991490

@@ -1503,7 +1494,7 @@ static void conv_write_im(PurpleConversation *conv, const char *who, const char
15031494

15041495
//Ignore system messages as those are normally not true messages in the XMPP sense
15051496
if (flags & PURPLE_MESSAGE_SYSTEM) {
1506-
LOG4CXX_DEBUG(logger, "conv_write_im(): ignoring a system message");
1497+
LOG4CXX_INFO(logger, "conv_write_im(): ignoring a system message");
15071498
return;
15081499
}
15091500
}
@@ -2554,9 +2545,6 @@ int main(int argc, char **argv) {
25542545
purple_input_add_wrapped(main_socket, PURPLE_INPUT_READ, &transportDataReceived, NULL);
25552546
purple_timeout_add_seconds_wrapped(30, pingTimeout, NULL);
25562547

2557-
loopbackTracker = new MessageLoopbackTracker();
2558-
loopbackTracker->setAutotrim(true);
2559-
25602548
np = new SpectrumNetworkPlugin();
25612549

25622550
GMainLoop *m_loop;

0 commit comments

Comments
 (0)