mirror of
https://github.com/element-hq/element-web
synced 2024-11-27 19:56:47 +03:00
Fix the missing date separator at the start of rooms
When we first hit the start of the room, we still have a pagination token, so we hide the date separator. When we try to backpaginate again, we get an empty result, and the pagination token is cleared. Make sure that we update state. canBackPaginate even when there are no new results, to handle this case. Fixes https://github.com/vector-im/vector-web/issues/1014
This commit is contained in:
parent
ec2e27a754
commit
3bd33d0985
1 changed files with 7 additions and 9 deletions
|
@ -188,7 +188,7 @@ var TimelinePanel = React.createClass({
|
||||||
|
|
||||||
debuglog("TimelinePanel: paginate complete backwards:"+backwards+"; success:"+r);
|
debuglog("TimelinePanel: paginate complete backwards:"+backwards+"; success:"+r);
|
||||||
this.setState({[statekey]: false});
|
this.setState({[statekey]: false});
|
||||||
this._onTimelineUpdated(r);
|
this._onTimelineUpdated();
|
||||||
return r;
|
return r;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -555,7 +555,7 @@ var TimelinePanel = React.createClass({
|
||||||
// calling _onTimelineUpdated and updating the state.
|
// calling _onTimelineUpdated and updating the state.
|
||||||
|
|
||||||
var onLoaded = () => {
|
var onLoaded = () => {
|
||||||
this._onTimelineUpdated(true);
|
this._onTimelineUpdated();
|
||||||
|
|
||||||
this.setState({timelineLoading: false}, () => {
|
this.setState({timelineLoading: false}, () => {
|
||||||
// initialise the scroll state of the message panel
|
// initialise the scroll state of the message panel
|
||||||
|
@ -586,17 +586,15 @@ var TimelinePanel = React.createClass({
|
||||||
prom.done();
|
prom.done();
|
||||||
},
|
},
|
||||||
|
|
||||||
_onTimelineUpdated: function(gotResults) {
|
_onTimelineUpdated: function() {
|
||||||
// we might have switched rooms since the load started - just bin
|
// we might have switched rooms since the load started - just bin
|
||||||
// the results if so.
|
// the results if so.
|
||||||
if (this.unmounted) return;
|
if (this.unmounted) return;
|
||||||
|
|
||||||
if (gotResults) {
|
|
||||||
this.setState({
|
this.setState({
|
||||||
events: this._timelineWindow.getEvents(),
|
events: this._timelineWindow.getEvents(),
|
||||||
canBackPaginate: this._timelineWindow.canPaginate(EventTimeline.BACKWARDS),
|
canBackPaginate: this._timelineWindow.canPaginate(EventTimeline.BACKWARDS),
|
||||||
});
|
});
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_indexForEventId: function(evId) {
|
_indexForEventId: function(evId) {
|
||||||
|
|
Loading…
Reference in a new issue