changeset 6de66f624e71 in /home/hg/repos/gajim
details:http://hg.gajim.org/gajim?cmd=changeset;node=6de66f624e71
description: do not duplicate messages in the room when the connection is lost
diffstat:
src/common/connection.py | 7 ++++++-
src/groupchat_control.py | 4 ++--
2 files changed, 8 insertions(+), 3 deletions(-)
diffs (45 lines):
diff -r cd12ea68f371 -r 6de66f624e71 src/common/connection.py
--- a/src/common/connection.py Fri Feb 17 11:17:35 2012 +0400
+++ b/src/common/connection.py Sat Feb 18 22:48:03 2012 +0400
@@ -2304,7 +2304,8 @@
room_id=resp.getTag('unique').getData()))
self.connection.SendAndCallForResponse(iq, _on_response)
- def join_gc(self, nick, room_jid, password, change_nick=False):
+ def join_gc(self, nick, room_jid, password, change_nick=False,
+ rejoin=False):
# FIXME: This room JID needs to be normalized; see #1364
if not gajim.account_is_connected(self.name):
return
@@ -2353,6 +2354,10 @@
last_date = time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime(
last_date))
tags['since'] = last_date
+ if rejoin:
+ tags['since'] = time.strftime('%Y-%m-%dT%H:%M:%SZ',
+ time.gmtime(gajim.logger.get_last_date_that_has_logs(
+ room_jid, is_room=True) + 1))
nb = gajim.config.get('muc_restore_lines')
if nb >= 0:
tags['maxstanzas'] = nb
diff -r cd12ea68f371 -r 6de66f624e71 src/groupchat_control.py
--- a/src/groupchat_control.py Fri Feb 17 11:17:35 2012 +0400
+++ b/src/groupchat_control.py Sat Feb 18 22:48:03 2012 +0400
@@ -1274,7 +1274,7 @@
gajim.gc_connected[obj.conn.name][self.room_jid]:
return
password = gajim.gc_passwords.get(self.room_jid, '')
- obj.conn.join_gc(self.nick, self.room_jid, password)
+ obj.conn.join_gc(self.nick, self.room_jid, password, rejoin=True)
def _nec_decrypted_message_received(self, obj):
if obj.conn.name != self.account:
@@ -1351,7 +1351,7 @@
return False
password = gajim.gc_passwords.get(self.room_jid, '')
gajim.connections[self.account].join_gc(self.nick, self.room_jid,
- password)
+ password, rejoin=True)
return True
def draw_roster(self):
_______________________________________________
Commits mailing list
[email protected]
http://lists.gajim.org/cgi-bin/listinfo/commits