From 4fdefffb9906ffc3e5fde7af652674bebffd6e15 Mon Sep 17 00:00:00 2001 From: James Kiesel Date: Sat, 17 Nov 2018 23:07:48 +1300 Subject: [PATCH] Deep compare tags for hashtag column reload (#9297) * Deep compare tags for hashtag column reload * Don't use global lodash --- app/javascript/mastodon/features/hashtag_timeline/index.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/javascript/mastodon/features/hashtag_timeline/index.js b/app/javascript/mastodon/features/hashtag_timeline/index.js index 86658cb66e..d7722dccec 100644 --- a/app/javascript/mastodon/features/hashtag_timeline/index.js +++ b/app/javascript/mastodon/features/hashtag_timeline/index.js @@ -9,6 +9,7 @@ import { expandHashtagTimeline, clearTimeline } from '../../actions/timelines'; import { addColumn, removeColumn, moveColumn } from '../../actions/columns'; import { FormattedMessage } from 'react-intl'; import { connectHashtagStream } from '../../actions/streaming'; +import { isEqual } from 'lodash'; const mapStateToProps = (state, props) => ({ hasUnread: state.getIn(['timelines', `hashtag:${props.params.id}`, 'unread']) > 0, @@ -100,7 +101,7 @@ class HashtagTimeline extends React.PureComponent { componentWillReceiveProps (nextProps) { const { dispatch, params } = this.props; const { id, tags } = nextProps.params; - if (id !== params.id || tags !== params.tags) { + if (id !== params.id || !isEqual(tags, params.tags)) { this._unsubscribe(); this._subscribe(dispatch, id, tags); this.props.dispatch(clearTimeline(`hashtag:${id}`));