@@ -216,7 +216,7 @@ define([
216216 Jupyter . notebook . config . loaded . then ( function ( ) {
217217 var data = Jupyter . notebook . config . data [ configKey ] ;
218218 if ( data == undefined ) {
219- reject ( 'No data available.' ) ;
219+ resolve ( data ) ;
220220 return ;
221221 }
222222 if ( dataKey == '' ) {
@@ -335,16 +335,21 @@ define([
335335 return new Promise ( function ( resolve , reject ) {
336336 try {
337337 fetch ( url ) . then ( function ( response ) {
338- if ( response . statusCode === 200 ) {
338+ // if (response.statusCode === 200) {
339+ // return response.json();
340+ // } else if (response.statusCode === 204) {
341+ // throw new Error('No Contents', response);
342+ // } else if (response.statusCode === 404) {
343+ // throw new Error('Page Not Found', response);
344+ // } else if (response.statusCode === 500) {
345+ // throw new Error('Internal Server Error', response);
346+ // } else {
347+ // throw new Error('Unexpected Http Status Code', response);
348+ // }
349+ if ( response . ok ) {
339350 return response . json ( ) ;
340- } else if ( response . statusCode === 204 ) {
341- throw new Error ( 'No Contents' , response ) ;
342- } else if ( response . statusCode === 404 ) {
343- throw new Error ( 'Page Not Found' , response ) ;
344- } else if ( response . statusCode === 500 ) {
345- throw new Error ( 'Internal Server Error' , response ) ;
346351 } else {
347- throw new Error ( 'Unexpected Http Status Code ' , response ) ;
352+ throw new Error ( 'Error ' , response ) ;
348353 }
349354 } ) . then ( function ( data ) {
350355 resolve ( data . info . version ) ;
@@ -366,6 +371,7 @@ define([
366371 }
367372
368373 checkVpVersion ( background = false ) {
374+ let that = this ;
369375 let nowVersion = this . getVpInstalledVersion ( ) ;
370376 this . getPackageVersion ( ) . then ( function ( latestVersion ) {
371377 if ( nowVersion === latestVersion ) {
@@ -377,8 +383,11 @@ define([
377383 let msg = com_util . formatString ( 'Visualpython is up to date. ({0})' , latestVersion ) ;
378384 com_util . renderInfoModal ( msg ) ;
379385 }
386+ // update version_timestamp
387+ that . setData ( { 'version_timestamp' : new Date ( ) . getTime ( ) } , 'vpcfg' ) ;
380388 } else {
381- let msg = com_util . formatString ( 'Visualpython updates are available.\n(Latest version: {0})' , latestVersion ) ;
389+ let msg = com_util . formatString ( 'Visualpython updates are available.<br/>(Latest version: {0} / Your version: {1})' ,
390+ latestVersion , nowVersion ) ;
382391 if ( background ) {
383392 // show version update icon
384393 $ ( '#vp_versionUpdater' ) . attr ( 'title' , msg ) ;
@@ -399,9 +408,20 @@ define([
399408 break ;
400409 case 1 :
401410 // update
411+ let info = [
412+ '## Visual Python Upgrade' ,
413+ 'NOTE: ' ,
414+ '- Refresh your web browser to start a new version.' ,
415+ '- Save VP Note before refreshing the page.'
416+ ] ;
417+ com_interface . insertCell ( 'markdown' , info . join ( '\n' ) ) ;
402418 com_interface . insertCell ( 'code' , '!pip install visualpython --upgrade' ) ;
403419 com_interface . insertCell ( 'code' , '!visualpy install' ) ;
404- // TODO: refresh browser, after executed
420+
421+ // update version_timestamp
422+ that . setData ( { 'version_timestamp' : new Date ( ) . getTime ( ) } , 'vpcfg' ) ;
423+ // hide updater
424+ $ ( '#vp_versionUpdater' ) . hide ( ) ;
405425 break ;
406426 }
407427 }
0 commit comments