Fix unlimited muc_restore_timeout
muc_restore_timeout set to -1 means we want no particular time set, up to which we request messages. But we should not deliberate request messages we already have. Hence even if muc_restore_timeout is set to -1, we should only request up to the last message we received.
This commit is contained in:
parent
b625199c47
commit
a818b60ba7
|
@ -2592,16 +2592,15 @@ class Connection(CommonConnection, ConnectionHandlers):
|
||||||
'muc_restore_timeout')
|
'muc_restore_timeout')
|
||||||
if timeout is None or timeout == -2:
|
if timeout is None or timeout == -2:
|
||||||
timeout = gajim.config.get('muc_restore_timeout')
|
timeout = gajim.config.get('muc_restore_timeout')
|
||||||
timeout *= 60
|
last_date = self.last_history_time[room_jid]
|
||||||
if timeout >= 0:
|
if last_date == 0 and timeout >= 0:
|
||||||
last_date = self.last_history_time[room_jid]
|
last_date = time.time() - timeout * 60
|
||||||
if last_date == 0:
|
elif not rejoin and timeout >= 0:
|
||||||
last_date = time.time() - timeout
|
last_date = max(last_date, time.time() - timeout * 60)
|
||||||
elif not rejoin:
|
last_date = time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime(
|
||||||
last_date = max(last_date, time.time() - timeout)
|
last_date))
|
||||||
last_date = time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime(
|
tags['since'] = last_date
|
||||||
last_date))
|
|
||||||
tags['since'] = last_date
|
|
||||||
nb = gajim.config.get_per('rooms', room_jid, 'muc_restore_lines')
|
nb = gajim.config.get_per('rooms', room_jid, 'muc_restore_lines')
|
||||||
if nb is None or nb == -2:
|
if nb is None or nb == -2:
|
||||||
nb = gajim.config.get('muc_restore_lines')
|
nb = gajim.config.get('muc_restore_lines')
|
||||||
|
|
Loading…
Reference in New Issue