diff --git a/framework/core/js/forum/src/components/index-nav-item.js b/framework/core/js/forum/src/components/index-nav-item.js index 07c76ce58..280de876c 100644 --- a/framework/core/js/forum/src/components/index-nav-item.js +++ b/framework/core/js/forum/src/components/index-nav-item.js @@ -3,7 +3,9 @@ import NavItem from 'flarum/components/nav-item' export default class IndexNavItem extends NavItem { static props(props) { props.onclick = props.onclick || function() { - app.cache.discussionList = null; + if (app.cache.discussionList) { + app.cache.discussionList.forceReload = true; + } m.redraw.strategy('none'); }; } diff --git a/framework/core/js/forum/src/components/index-page.js b/framework/core/js/forum/src/components/index-page.js index 086998d85..fb9c03e58 100644 --- a/framework/core/js/forum/src/components/index-page.js +++ b/framework/core/js/forum/src/components/index-page.js @@ -43,12 +43,16 @@ export default class IndexPage extends Component { // are currently present in the cached discussion list. If they differ, we // will clear the cache and set up a new discussion list component with // the new parameters. - Object.keys(params).some(key => { - if (app.cache.discussionList.props.params[key] !== params[key]) { - app.cache.discussionList = null; - return true; - } - }); + if (app.cache.discussionList.forceReload) { + app.cache.discussionList = null; + } else { + Object.keys(params).some(key => { + if (app.cache.discussionList.props.params[key] !== params[key]) { + app.cache.discussionList = null; + return true; + } + }); + } } if (!app.cache.discussionList) {