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) => { | const updateMounted = (state) => { | ||||||
|   state = state.update('mounted', count => count + 1); |   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 = state.set('readMarkerId', state.get('lastReadId')); | ||||||
|     state = clearUnread(state); |     state = clearUnread(state); | ||||||
|   } |   } | ||||||
| @ -167,14 +167,14 @@ const updateVisibility = (state, visibility) => { | |||||||
|   return state; |   return state; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| const shouldCountUnreadNotifications = (state) => { | const shouldCountUnreadNotifications = (state, ignoreScroll = false) => { | ||||||
|   const isTabVisible   = state.get('isTabVisible'); |   const isTabVisible   = state.get('isTabVisible'); | ||||||
|   const isOnTop        = state.get('top'); |   const isOnTop        = state.get('top'); | ||||||
|   const isMounted      = state.get('mounted') > 0; |   const isMounted      = state.get('mounted') > 0; | ||||||
|   const lastReadId     = state.get('lastReadId'); |   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); |   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) => { | const recountUnread = (state, last_read_id) => { | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user