Fix being unable to load past a full page of filtered posts in Home timeline (#24930)

local
Claire 1 year ago committed by GitHub
parent aa4c9730f6
commit 7b54e47d03
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      app/javascript/mastodon/components/status_list.jsx
  2. 1
      app/javascript/mastodon/features/ui/containers/status_list_container.js

@ -26,6 +26,7 @@ export default class StatusList extends ImmutablePureComponent {
alwaysPrepend: PropTypes.bool,
withCounters: PropTypes.bool,
timelineId: PropTypes.string,
lastId: PropTypes.string,
};
static defaultProps = {
@ -55,7 +56,8 @@ export default class StatusList extends ImmutablePureComponent {
};
handleLoadOlder = debounce(() => {
this.props.onLoadMore(this.props.statusIds.size > 0 ? this.props.statusIds.last() : undefined);
const { statusIds, lastId, onLoadMore } = this.props;
onLoadMore(lastId || (statusIds.size > 0 ? statusIds.last() : undefined));
}, 300, { leading: true });
_selectChild (index, align_top) {

@ -37,6 +37,7 @@ const makeMapStateToProps = () => {
const mapStateToProps = (state, { timelineId }) => ({
statusIds: getStatusIds(state, { type: timelineId }),
lastId: state.getIn(['timelines', timelineId, 'items'])?.last(),
isLoading: state.getIn(['timelines', timelineId, 'isLoading'], true),
isPartial: state.getIn(['timelines', timelineId, 'isPartial'], false),
hasMore: state.getIn(['timelines', timelineId, 'hasMore']),

Loading…
Cancel
Save