diff options
author | Claire <claire.github-309c@sitedethib.com> | 2021-05-19 23:51:05 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-19 23:51:05 +0200 |
commit | 92f1d739b554b6d5496013fb50196a14434943e2 (patch) | |
tree | 176dfd15d9cff8c8f445239fe0d8c8b8b37d7d2c /app/javascript | |
parent | 689974b1ed081c238560d6b368609acc50dc7336 (diff) |
Fix unread notification count when polling (#16272)
* Fix unread notification count when polling Fixes #16236 * Immediately fetch markers to avoid incorrect unread notification count
Diffstat (limited to 'app/javascript')
-rw-r--r-- | app/javascript/mastodon/features/ui/index.js | 2 | ||||
-rw-r--r-- | app/javascript/mastodon/reducers/notifications.js | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/app/javascript/mastodon/features/ui/index.js b/app/javascript/mastodon/features/ui/index.js index 2b9fe1603..c1c6ac739 100644 --- a/app/javascript/mastodon/features/ui/index.js +++ b/app/javascript/mastodon/features/ui/index.js @@ -361,9 +361,9 @@ class UI extends React.PureComponent { this.props.dispatch(closeOnboarding()); } + this.props.dispatch(fetchMarkers()); this.props.dispatch(expandHomeTimeline()); this.props.dispatch(expandNotifications()); - setTimeout(() => this.props.dispatch(fetchMarkers()), 500); setTimeout(() => this.props.dispatch(fetchFilters()), 500); this.hotkeys.__mousetrap__.stopCallback = (e, element) => { diff --git a/app/javascript/mastodon/reducers/notifications.js b/app/javascript/mastodon/reducers/notifications.js index 1d4874717..b587b6d0f 100644 --- a/app/javascript/mastodon/reducers/notifications.js +++ b/app/javascript/mastodon/reducers/notifications.js @@ -106,7 +106,7 @@ const expandNormalizedNotifications = (state, notifications, next, isLoadingRece } if (shouldCountUnreadNotifications(state)) { - mutable.update('unread', unread => unread + items.count(item => compareId(item.get('id'), lastReadId) > 0)); + mutable.set('unread', mutable.get('pendingItems').count(item => item !== null) + mutable.get('items').count(item => item && compareId(item.get('id'), lastReadId) > 0)); } else { const mostRecent = items.find(item => item !== null); if (mostRecent && compareId(lastReadId, mostRecent.get('id')) < 0) { |