Browse Source

Fix unread notification marker not updating when mounting column (#14954)

closed-social-v3
ThibG 4 years ago
committed by GitHub
parent
commit
dac3e362fd
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 3 additions and 3 deletions
  1. +3
    -3
      app/javascript/mastodon/reducers/notifications.js

+ 3
- 3
app/javascript/mastodon/reducers/notifications.js View File

@ -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) => {

Loading…
Cancel
Save