Fix unread notification marker not updating when mounting column (#14954)
This commit is contained in:
		
							parent
							
								
									7d985f2aac
								
							
						
					
					
						commit
						dac3e362fd
					
				@ -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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user