chat: cap maximum backlog size at 1000

Caps maximum unread backlog that chat will fetch at 1000 messages.
This commit is contained in:
Liam Fitzgerald 2020-06-17 15:24:22 +10:00
parent 5757fd8f5d
commit a2970ce929

View File

@ -22,6 +22,7 @@ function getNumPending(props) {
const ACTIVITY_TIMEOUT = 60000; // a minute
const DEFAULT_BACKLOG_SIZE = 300;
const MAX_BACKLOG_SIZE = 1000;
function scrollIsAtTop(container) {
if ((navigator.userAgent.includes("Safari") &&
@ -136,14 +137,15 @@ export class ChatScreen extends Component {
const unread = props.length - props.read;
const unreadUnloaded = unread - props.envelopes.length;
const excessUnread = unreadUnloaded > MAX_BACKLOG_SIZE;
if(unreadUnloaded + 20 > DEFAULT_BACKLOG_SIZE) {
if(!excessUnread && unreadUnloaded + 20 > DEFAULT_BACKLOG_SIZE) {
this.askForMessages(unreadUnloaded + 20);
} else {
this.askForMessages(DEFAULT_BACKLOG_SIZE);
}
if(props.read === props.length){
if(excessUnread || props.read === props.length){
this.scrolledToMarker = true;
this.setState(
{