Fixed pagination infinite loop caused by long messages

Signed-off-by: Oliver Hunt <oliver@hunt.bz>
pull/21833/head
Oliver Hunt 2017-06-07 04:49:41 +01:00
parent 0b56d33bd2
commit 3d59d72aaa
1 changed files with 4 additions and 3 deletions

View File

@ -352,13 +352,14 @@ module.exports = React.createClass({
const tile = tiles[backwards ? i : tiles.length - 1 - i]; const tile = tiles[backwards ? i : tiles.length - 1 - i];
// Subtract height of tile as if it were unpaginated // Subtract height of tile as if it were unpaginated
excessHeight -= tile.clientHeight; excessHeight -= tile.clientHeight;
//If removing the tile would lead to future pagination, break before setting scroll token
if (tile.clientHeight > excessHeight) {
break;
}
// The tile may not have a scroll token, so guard it // The tile may not have a scroll token, so guard it
if (tile.dataset.scrollTokens) { if (tile.dataset.scrollTokens) {
markerScrollToken = tile.dataset.scrollTokens.split(',')[0]; markerScrollToken = tile.dataset.scrollTokens.split(',')[0];
} }
if (tile.clientHeight > excessHeight) {
break;
}
} }
if (markerScrollToken) { if (markerScrollToken) {