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