3
0
mirror of https://github.com/ergochat/ergo.git synced 2024-12-22 18:52:41 +01:00

fix handling of history grace periods

This commit is contained in:
Shivaram Lingamneni 2020-02-24 05:44:55 -05:00
parent 7b10902181
commit 891da73e56

View File

@ -913,12 +913,14 @@ func (server *Server) GetHistorySequence(providedChannel *Channel, client *Clien
} }
if config.History.Restrictions.EnforceRegistrationDate { if config.History.Restrictions.EnforceRegistrationDate {
regCutoff := client.historyCutoff() regCutoff := client.historyCutoff()
regCutoff.Add(-time.Duration(config.History.Restrictions.GracePeriod)) // take the later of the two cutoffs
// take the earlier of the two cutoffs
if regCutoff.After(cutoff) { if regCutoff.After(cutoff) {
cutoff = regCutoff cutoff = regCutoff
} }
} }
if !cutoff.IsZero() {
cutoff = cutoff.Add(-time.Duration(config.History.Restrictions.GracePeriod))
}
if hist != nil { if hist != nil {
sequence = hist.MakeSequence(recipient, cutoff) sequence = hist.MakeSequence(recipient, cutoff)
} else if recipient != "" { } else if recipient != "" {