From 6719af7da6efa6b8c7589d5e70108c1320834311 Mon Sep 17 00:00:00 2001 From: Stefan Becker Date: Sat, 3 Aug 2013 17:10:52 +0300 Subject: [PATCH] groupchat: extract time stamp from channel history Now Pidgin shows historical entries with the correct time stamp. Please note that Pidgin does not remove duplicate entries from the channel log, i.e. old messages are added to the log again when you enter a channel. --- ChangeLog | 1 + src/core/sipe-groupchat.c | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 342bf0d2..7c19c25e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,7 @@ version 1.17.0 "???" (2013-XX-XX) - Fixed #200: OCS archiving system blocks audio/video connection (Jakub Adam) - Fixed #187: Duplicate messages in group chat (Stefan Becker) - fix EWS autodiscover for Office 365 (Stefan Becker) + - add support for group chat history (Stefan Becker) version 1.16.1 "Bug Fixes I" (2013-07-13) - Feature #66: Windows DLL version information (Stefan Becker) diff --git a/src/core/sipe-groupchat.c b/src/core/sipe-groupchat.c index 800fef15..46e5a80a 100644 --- a/src/core/sipe-groupchat.c +++ b/src/core/sipe-groupchat.c @@ -966,6 +966,7 @@ static void chatserver_grpchat_message(struct sipe_core_private *sipe_private, struct sipe_groupchat *groupchat = sipe_private->groupchat; const gchar *uri = sipe_xml_attribute(grpchat, "chanUri"); const gchar *from = sipe_xml_attribute(grpchat, "author"); + time_t when = sipe_utils_str_to_time(sipe_xml_attribute(grpchat, "ts")); gchar *text = sipe_xml_data(sipe_xml_child(grpchat, "chat")); struct sipe_chat_session *chat_session; gchar *escaped; @@ -990,7 +991,7 @@ static void chatserver_grpchat_message(struct sipe_core_private *sipe_private, escaped = g_markup_escape_text(text, -1); g_free(text); sipe_backend_chat_message(SIPE_CORE_PUBLIC, chat_session->backend, - from, 0, escaped); + from, when, escaped); g_free(escaped); } -- 2.11.4.GIT