From 2f0d432a6266e154023a92b857837de17a06d0dc Mon Sep 17 00:00:00 2001 From: akashtl Date: Thu, 28 May 2020 18:42:29 +0800 Subject: [PATCH] v0.3.8 support for update --- lib/desktop_updater.js | 78 ++++++++++++++++++++++++++++++------------ 1 file changed, 56 insertions(+), 22 deletions(-) mode change 100644 => 100755 lib/desktop_updater.js diff --git a/lib/desktop_updater.js b/lib/desktop_updater.js old mode 100644 new mode 100755 index b815b7af2..4b231460e --- a/lib/desktop_updater.js +++ b/lib/desktop_updater.js @@ -57,6 +57,7 @@ function ipcRendererOnUpdateEvent(msgJSON) { * currentBuild: 1590208348, * status: 200 */ + var app_ver_split = process.env.currentVersion.split('.'); switch (msgJSON.key) { case 'update-check-menu': //Update UI button or text @@ -65,14 +66,24 @@ function ipcRendererOnUpdateEvent(msgJSON) { document.getElementById('update-info').innerHTML = (msgJSON.upgrade ? 'Update Available' : (msgJSON.version !== '' ? '' : '')); // document.getElementById('update_latest_version').innerHTML = (msgJSON.upgrade ? 'A new release is available (' + msgJSON.version + ').' : (msgJSON.version !== '' ? 'You are using latest version of Nynja.' : 'Encountered an error while updating, try again later.')); + //document.getElementById('update_current_version').innerHTML = 'current version ' + msgJSON.currentVersion; + + if(app_ver_split[0]!=='0'|| parseInt(app_ver_split[1])>3){ document.getElementById('update_latest_version').innerHTML = (msgJSON.upgrade ? (msgJSON.upgradeType==="version"? 'A new release is available ' + msgJSON.version +' (Build: ' + msgJSON.build + ')' : - 'A new build (' + msgJSON.build + ') is available in release ' + msgJSON.version + '.'): + 'A new build (' + msgJSON.build + ') is available in release ' + msgJSON.version + '.'): (msgJSON.version !== '' ? 'You are using latest version of Nynja.' : - 'Unable to update, please try again later.')); + 'Unable to update, please try again later.')); + + document.getElementById('update_current_version').innerHTML = 'current version ' + msgJSON.currentVersion+ (msgJSON.currentBuild===0?'':' (Build: ' + msgJSON.currentBuild+')'); + + }else{ + + document.getElementById('update_latest_version').innerHTML = (msgJSON.upgrade ? 'A new release is available (' + msgJSON.version + ').' : (msgJSON.version !== '' ? 'You are using latest version of Nynja.' : 'Encountered an error while updating, try again later.')); + + document.getElementById('update_current_version').innerHTML = 'current version ' + msgJSON.currentVersion; + } - //document.getElementById('update_current_version').innerHTML = 'current version ' + msgJSON.currentVersion; - document.getElementById('update_current_version').innerHTML = 'current version ' + msgJSON.currentVersion+ (msgJSON.currentBuild===0?'':' (Build: ' + msgJSON.currentBuild+')'); document.getElementById('update_version_electron').innerHTML = (msgJSON.electron === undefined ? process.versions.electron : msgJSON.electron); document.getElementById('update_version_chromium').innerHTML = (msgJSON.chromium === undefined ? process.versions.chrome : msgJSON.chromium); @@ -97,13 +108,22 @@ function ipcRendererOnUpdateEvent(msgJSON) { document.getElementById('update-info').innerHTML = (msgJSON.upgrade ? 'Update Available' : (msgJSON.version !== '' ? '' : '')); - document.getElementById('update_latest_version').innerHTML = (msgJSON.upgrade ? - (msgJSON.upgradeType==="version"? 'A new release is available ' + msgJSON.version +' (Build: ' + msgJSON.build + ')' : - 'A new build (' + msgJSON.build + ') is available in release ' + msgJSON.version + '.'): - (msgJSON.version !== '' ? 'You are using latest version of Nynja.' : - 'Unable to update, please try again later.')); + + if(app_ver_split[0]!=='0'|| parseInt(app_ver_split[1])>3){ + document.getElementById('update_latest_version').innerHTML = (msgJSON.upgrade ? + (msgJSON.upgradeType==="version"? 'A new release is available ' + msgJSON.version +' (Build: ' + msgJSON.build + ')' : + 'A new build (' + msgJSON.build + ') is available in release ' + msgJSON.version + '.'): + (msgJSON.version !== '' ? 'You are using latest version of Nynja.' : + 'Unable to update, please try again later.')); - document.getElementById('update_current_version').innerHTML = 'current version ' + msgJSON.currentVersion+(msgJSON.currentBuild===0?'': ' (Build: ' + msgJSON.currentBuild+')'); + document.getElementById('update_current_version').innerHTML = 'current version ' + msgJSON.currentVersion+(msgJSON.currentBuild===0?'': ' (Build: ' + msgJSON.currentBuild+')'); + }else{ + + document.getElementById('update_latest_version').innerHTML = (msgJSON.upgrade ? 'A new release is available (' + msgJSON.version + ').' : (msgJSON.version !== '' ? 'You are using latest version of Nynja.' : 'Encountered an error while updating, try again later.')); + + document.getElementById('update_current_version').innerHTML = 'current version ' + msgJSON.currentVersion; + + } //document.getElementById('update_version_electron').innerHTML = msgJSON.electron; //document.getElementById('update_version_chromium').innerHTML = msgJSON.chromium; //document.getElementById('update_version_nodejs').innerHTML = msgJSON.nodejs; @@ -242,19 +262,27 @@ function updateInfoClick(msgJSON) { // // // document.getElementById('update-install').removeEventListener('click'); // document.getElementById('update_download_install').style = ''; // document.getElementById('update_download_install').addEventListener("click", updateConfClick) - if(msgJSON.upgradeType==="version"){ - // alert(1) - document.getElementById('update_download_install').innerHTML = 'Update'; - document.getElementById('update_download_install').style = ''; - document.getElementById('update_download_install').addEventListener("click", updateConfClick) - document.getElementById('releases_info_p').innerHTML = 'After finishing the download, NYNJA application will be restarted to apply new updates.'; + + var app_ver_split = process.env.currentVersion.split('.'); + if(app_ver_split[0]!=='0'|| parseInt(app_ver_split[1])>3){ + if(msgJSON.upgradeType==="version"){ + // alert(1) + document.getElementById('update_download_install').innerHTML = 'Update'; + document.getElementById('update_download_install').style = ''; + document.getElementById('update_download_install').addEventListener("click", updateConfClick) + document.getElementById('releases_info_p').innerHTML = 'After finishing the download, NYNJA application will be restarted to apply new updates.'; + }else{ + // alert(2) + + document.getElementById('update_download_install').innerHTML = 'Refresh Only'; + document.getElementById('update_refresh_only').style = ''; + document.getElementById('update_refresh_only').addEventListener("click", startDownloading) + document.getElementById('releases_info_p').innerHTML = 'By clicking on Confirm button, Nynja application will refresh to apply new updates.'; + } }else{ - // alert(2) - - document.getElementById('update_download_install').innerHTML = 'Refresh Only'; - document.getElementById('update_refresh_only').style = ''; - document.getElementById('update_refresh_only').addEventListener("click", startDownloading) - document.getElementById('releases_info_p').innerHTML = 'By clicking on Confirm button, Nynja application will refresh to apply new updates.'; + + document.getElementById('update_download_install').style = ''; + document.getElementById('update_download_install').addEventListener("click", updateConfClick) } } } @@ -281,6 +309,8 @@ function updateConfClick(msgJSON) {//alert(1); */ function startDownloading() { console.log('start-download') + var app_ver_split = process.env.currentVersion.split('.'); + if(app_ver_split[0]!=='0'|| parseInt(app_ver_split[1])>3){ //Update confirm and notify main process if(isVersionUpdate){ // alert('start1') @@ -293,7 +323,11 @@ function startDownloading() { appversionObj.action = 'update-build'; ipcRendererUpdateWeb.send('update-main', appversionObj); } + }else{ + document.getElementById('update-notify-box').style = ''; + ipcRendererUpdateWeb.send('update-main', 'update-start'); + } //ipcRendererUpdateWeb.send('update-main', 'update-start'); document.getElementById('update-info').style = 'display: none;'; document.getElementById('update-desc-box').style = 'display: none;'; -- GitLab