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 |   end | ||||||
| 
 | 
 | ||||||
|   def process_update_notices!(update_notices) |   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 |     # Clear notices that are not listed by the update server anymore | ||||||
|     SoftwareUpdate.where.not(version: update_notices['updatesAvailable'].pluck('version')).delete_all |     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 |     # Check if any of the notices is new, and issue notifications | ||||||
|     known_versions = SoftwareUpdate.where(version: update_notices['updatesAvailable'].pluck('version')).pluck(:version) |     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']) } |     new_update_notices = update_notices['updatesAvailable'].filter { |notice| known_versions.exclude?(notice['version']) } | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue