diff options
author | ThibG <thib@sitedethib.com> | 2020-10-08 00:35:27 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-08 00:35:27 +0200 |
commit | dac3e362fd5c3d1be9e5d89149049a7eb2c6bbc4 (patch) | |
tree | 9a3882b47f242c408a0cd09ce50e7c219e4eb1c7 /app/javascript | |
parent | 7d985f2aac639dc5fae528db2dbc4422ca10f276 (diff) |
Fix unread notification marker not updating when mounting column (#14954)
Diffstat (limited to 'app/javascript')
-rw-r--r-- | app/javascript/mastodon/reducers/notifications.js | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/app/javascript/mastodon/reducers/notifications.js b/app/javascript/mastodon/reducers/notifications.js index b01db806f..98c91ebb2 100644 --- a/app/javascript/mastodon/reducers/notifications.js +++ b/app/javascript/mastodon/reducers/notifications.js @@ -151,7 +151,7 @@ const deleteByStatus = (state, statusId) => { const updateMounted = (state) => { state = state.update('mounted', count => count + 1); - if (!shouldCountUnreadNotifications(state)) { + if (!shouldCountUnreadNotifications(state, state.get('mounted') === 1)) { state = state.set('readMarkerId', state.get('lastReadId')); state = clearUnread(state); } @@ -167,14 +167,14 @@ const updateVisibility = (state, visibility) => { return state; }; -const shouldCountUnreadNotifications = (state) => { +const shouldCountUnreadNotifications = (state, ignoreScroll = false) => { const isTabVisible = state.get('isTabVisible'); const isOnTop = state.get('top'); const isMounted = state.get('mounted') > 0; const lastReadId = state.get('lastReadId'); const lastItemReached = !state.get('hasMore') || lastReadId === '0' || (!state.get('items').isEmpty() && compareId(state.get('items').last().get('id'), lastReadId) <= 0); - return !(isTabVisible && isOnTop && isMounted && lastItemReached); + return !(isTabVisible && (ignoreScroll || isOnTop) && isMounted && lastItemReached); }; const recountUnread = (state, last_read_id) => { |