@ -11,6 +11,7 @@ import * as fs from 'fs-extra';
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				import  *  as  path  from  'path' ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				import  {  gt  as  isVersionGreaterThan ,  parse  as  parseVersion  }  from  'semver' ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				import  filesize  from  'filesize' ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				import  {  windowMarkShouldQuit  }  from  '../node/window_state' ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				import  {  UPDATER_INTERVAL_MS  }  from  '../session/constants' ; 
 
			
		 
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
			
			 
			 
			
				@ -30,14 +31,16 @@ let interval: NodeJS.Timeout | undefined;
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				let  stopped  =  false ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				autoUpdater . on ( DOWNLOAD_PROGRESS ,  eventDownloadProgress  = >  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  const  progress  =  eventDownloadProgress . transferred  /  eventDownloadProgress . total ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  const  progress  =  ( eventDownloadProgress . transferred  /  eventDownloadProgress . total )  *  100 ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  console . log ( 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    ` [updater] download progress:  ${ progress }   eventDownloadProgress.transferred ${ eventDownloadProgress . transferred }  eventDownloadProgress.total  ${ eventDownloadProgress . total  }` 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    ` [updater] download progress:  ${ progress }   download size ${ filesize ( eventDownloadProgress . total ,  {  base : 10  } )  }` 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				} ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				autoUpdater . on ( UPDATE_DOWNLOADED ,  ( )  = >  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  console . log ( '[updater] update downloaded' ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  console . info ( '[updater] calling quitAndInstall...' ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  autoUpdater . quitAndInstall ( ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				} ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				export  async  function  start ( 
 
			
		 
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
			
			 
			 
			
				@ -91,7 +94,9 @@ async function checkForUpdates(
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  logger : LoggerType 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				)  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  if  ( stopped  ||  isUpdating  ||  downloadIgnored )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    logger . info ( '[updater] checkForUpdates stopped or isUpdating or downloadIgnored' ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    logger . info ( 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      ` [updater] checkForUpdates is returning early stopped  ${ stopped }  isUpdating  ${ isUpdating }  downloadIgnored  ${ downloadIgnored } ` 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    return ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  } 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
			
			 
			 
			
				@ -106,14 +111,14 @@ async function checkForUpdates(
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  isUpdating  =  true ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  try  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    const  [ latest VersionFromFsFromRenderer,  releaseChannelFromFsFromRenderer ]  =  getLatestRelease ( ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    const  [ update VersionFromFsFromRenderer,  releaseChannelFromFsFromRenderer ]  =  getLatestRelease ( ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    logger . info ( 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      ` [updater] checkForUpdates  latestVersionFromFsFromRenderer ${ latest  VersionFromFsFromRenderer}  releaseChannelFromFsFromRenderer  ${ releaseChannelFromFsFromRenderer } ` 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      ` [updater] checkForUpdates  updateVersionFromFsFromRenderer ${ update  VersionFromFsFromRenderer}  releaseChannelFromFsFromRenderer  ${ releaseChannelFromFsFromRenderer } ` 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    if  ( ! latestVersionFromFsFromRenderer ||  ! latest  VersionFromFsFromRenderer? . length )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    if  ( ! updateVersionFromFsFromRenderer ||  ! update  VersionFromFsFromRenderer? . length )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      logger . info ( 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        '[updater] checkForUpdates  testVersionFromFsFromRenderer was not updated yet by renderer . Skipping update check'
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        '[updater] checkForUpdates  updateVersionFromFsFromRenderer has not updated yet by the renderer process yet . Skipping update check'
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      return ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    } 
 
			
		 
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
			
			 
			 
			
				@ -128,11 +133,11 @@ async function checkForUpdates(
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    } 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    const  currentVersion  =  autoUpdater . currentVersion . toString ( ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    const  isMoreRecent  =  isVersionGreaterThan ( latest VersionFromFsFromRenderer,  currentVersion ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    const  isMoreRecent  =  isVersionGreaterThan ( update VersionFromFsFromRenderer,  currentVersion ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    logger . info ( '[updater] checkForUpdates isMoreRecent' ,  isMoreRecent ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    if  ( ! isMoreRecent )  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      logger . info ( 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        ` [updater] File server has no update so we are not looking for an update from github current: ${ currentVersion }  fromFileServer: ${ latest VersionFromFsFromRenderer} ` 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        ` [updater] File server has no update so we are not looking for an update from github current: ${ currentVersion }  fromFileServer: ${ update VersionFromFsFromRenderer} ` 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      return ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    } 
 
			
		 
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
			
			 
			 
			
				@ -194,9 +199,8 @@ async function checkForUpdates(
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      return ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    } 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    logger . info ( '[updater] calling  quitAndInstall ...') ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    logger . info ( '[updater] calling  windowMarkShouldQuit ...') ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    windowMarkShouldQuit ( ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    autoUpdater . quitAndInstall ( ) ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  }  finally  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    isUpdating  =  false ; 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  }