ScuttleBot
fix: keep client-side since filter as safety net for older servers
Commit
53c99b584daa1a47e84c30f3dcfab1eced30b178759d1d62b2581d96e25e6201
Parent
b71f8ab98c45ddb…
1 file changed
+3
| --- pkg/sessionrelay/http.go | ||
| +++ pkg/sessionrelay/http.go | ||
| @@ -105,10 +105,13 @@ | ||
| 105 | 105 | for _, msg := range payload.Messages { |
| 106 | 106 | at, err := time.Parse(time.RFC3339Nano, msg.At) |
| 107 | 107 | if err != nil { |
| 108 | 108 | continue |
| 109 | 109 | } |
| 110 | + if !since.IsZero() && !at.After(since) { | |
| 111 | + continue // server-side filter is best-effort; guard here too | |
| 112 | + } | |
| 110 | 113 | out = append(out, Message{At: at, Channel: channel, Nick: msg.Nick, Text: msg.Text}) |
| 111 | 114 | } |
| 112 | 115 | } |
| 113 | 116 | sort.Slice(out, func(i, j int) bool { return out[i].At.Before(out[j].At) }) |
| 114 | 117 | return out, nil |
| 115 | 118 |
| --- pkg/sessionrelay/http.go | |
| +++ pkg/sessionrelay/http.go | |
| @@ -105,10 +105,13 @@ | |
| 105 | for _, msg := range payload.Messages { |
| 106 | at, err := time.Parse(time.RFC3339Nano, msg.At) |
| 107 | if err != nil { |
| 108 | continue |
| 109 | } |
| 110 | out = append(out, Message{At: at, Channel: channel, Nick: msg.Nick, Text: msg.Text}) |
| 111 | } |
| 112 | } |
| 113 | sort.Slice(out, func(i, j int) bool { return out[i].At.Before(out[j].At) }) |
| 114 | return out, nil |
| 115 |
| --- pkg/sessionrelay/http.go | |
| +++ pkg/sessionrelay/http.go | |
| @@ -105,10 +105,13 @@ | |
| 105 | for _, msg := range payload.Messages { |
| 106 | at, err := time.Parse(time.RFC3339Nano, msg.At) |
| 107 | if err != nil { |
| 108 | continue |
| 109 | } |
| 110 | if !since.IsZero() && !at.After(since) { |
| 111 | continue // server-side filter is best-effort; guard here too |
| 112 | } |
| 113 | out = append(out, Message{At: at, Channel: channel, Nick: msg.Nick, Text: msg.Text}) |
| 114 | } |
| 115 | } |
| 116 | sort.Slice(out, func(i, j int) bool { return out[i].At.Before(out[j].At) }) |
| 117 | return out, nil |
| 118 |