Fix incorrectly keeping outdated update notices absent from the API endpoint (#27021)
This commit is contained in:
		
							parent
							
								
									1e2d4975cf
								
							
						
					
					
						commit
						7e7d6e695b
					
				
					 1 changed files with 3 additions and 1 deletions
				
			
		|  | @ -35,11 +35,13 @@ class SoftwareUpdateCheckService < BaseService | |||
|   end | ||||
| 
 | ||||
|   def process_update_notices!(update_notices) | ||||
|     return if update_notices.blank? || update_notices['updatesAvailable'].blank? | ||||
|     return if update_notices.blank? || update_notices['updatesAvailable'].nil? | ||||
| 
 | ||||
|     # Clear notices that are not listed by the update server anymore | ||||
|     SoftwareUpdate.where.not(version: update_notices['updatesAvailable'].pluck('version')).delete_all | ||||
| 
 | ||||
|     return if update_notices['updatesAvailable'].blank? | ||||
| 
 | ||||
|     # Check if any of the notices is new, and issue notifications | ||||
|     known_versions = SoftwareUpdate.where(version: update_notices['updatesAvailable'].pluck('version')).pluck(:version) | ||||
|     new_update_notices = update_notices['updatesAvailable'].filter { |notice| known_versions.exclude?(notice['version']) } | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue