@@ -17,7 +17,7 @@ const START_AUTO_UPDATING = 'scratch-gui/project-state/START_AUTO_UPDATING';
1717const START_CREATING_NEW = 'scratch-gui/project-state/START_CREATING_NEW' ;
1818const START_ERROR = 'scratch-gui/project-state/START_ERROR' ;
1919const START_FETCHING_NEW = 'scratch-gui/project-state/START_FETCHING_NEW' ;
20- const START_LOADING_VM_FILE_UPLOAD = 'scratch-gui/project-state/START_LOADING_FILE_UPLOAD ' ;
20+ const START_LOADING_VM_FILE_UPLOAD = 'scratch-gui/project-state/START_LOADING_VM_FILE_UPLOAD ' ;
2121const START_MANUAL_UPDATING = 'scratch-gui/project-state/START_MANUAL_UPDATING' ;
2222const START_REMIXING = 'scratch-gui/project-state/START_REMIXING' ;
2323const START_UPDATING_BEFORE_CREATING_COPY = 'scratch-gui/project-state/START_UPDATING_BEFORE_CREATING_COPY' ;
@@ -413,32 +413,31 @@ const onFetchedProjectData = (projectData, loadingState) => {
413413} ;
414414
415415const onLoadedProject = ( loadingState , canSave , success ) => {
416- if ( success ) {
417- switch ( loadingState ) {
418- case LoadingState . LOADING_VM_WITH_ID :
419- return {
420- type : DONE_LOADING_VM_WITH_ID
421- } ;
422- case LoadingState . LOADING_VM_FILE_UPLOAD :
416+ switch ( loadingState ) {
417+ case LoadingState . LOADING_VM_WITH_ID :
418+ if ( success ) {
419+ return { type : DONE_LOADING_VM_WITH_ID } ;
420+ }
421+ // failed to load project; just keep showing current project
422+ return { type : RETURN_TO_SHOWING } ;
423+ case LoadingState . LOADING_VM_FILE_UPLOAD :
424+ if ( success ) {
423425 if ( canSave ) {
424- return {
425- type : DONE_LOADING_VM_TO_SAVE
426- } ;
426+ return { type : DONE_LOADING_VM_TO_SAVE } ;
427427 }
428- return {
429- type : DONE_LOADING_VM_WITHOUT_ID
430- } ;
431- case LoadingState . LOADING_VM_NEW_DEFAULT :
432- return {
433- type : DONE_LOADING_VM_WITHOUT_ID
434- } ;
435- default :
436- return ;
428+ return { type : DONE_LOADING_VM_WITHOUT_ID } ;
437429 }
430+ // failed to load project; just keep showing current project
431+ return { type : RETURN_TO_SHOWING } ;
432+ case LoadingState . LOADING_VM_NEW_DEFAULT :
433+ if ( success ) {
434+ return { type : DONE_LOADING_VM_WITHOUT_ID } ;
435+ }
436+ // failed to load default project; show error
437+ return { type : START_ERROR } ;
438+ default :
439+ return ;
438440 }
439- return {
440- type : RETURN_TO_SHOWING
441- } ;
442441} ;
443442
444443const doneUpdatingProject = loadingState => {
0 commit comments