3
0
mirror of https://github.com/jlu5/PyLink.git synced 2024-11-24 03:29:28 +01:00

updateTS: don't save any broken TS values lower than 750000

Workaround for #385, and other related timestamp issues caused by the TS value getting cut off in mode messages (#283)
This commit is contained in:
James Lu 2017-01-06 21:56:22 -08:00
parent ef4e1ecbab
commit ba330bbfac

View File

@ -1395,9 +1395,12 @@ class Protocol():
_apply()
elif (their_ts < our_ts):
log.debug('(%s) Resetting channel TS of %s from %s to %s (remote has lower TS)',
self.irc.name, channel, our_ts, their_ts)
self.irc.channels[channel].ts = their_ts
if their_ts < 750000:
log.warning('(%s) Possible desync? Not setting bogus TS %s on channel %s', self.irc.name, their_ts, channel)
else:
log.debug('(%s) Resetting channel TS of %s from %s to %s (remote has lower TS)',
self.irc.name, channel, our_ts, their_ts)
self.irc.channels[channel].ts = their_ts
# Remote TS was lower and we're receiving modes. Clear the modelist and apply theirs.