@@ -94,11 +94,14 @@ class Workspace extends React.Component {
9494 }
9595 isExperimental = Object . keys ( query ) . includes ( 'experimental' ) ;
9696 }
97- const dehydratedProject = localStorage . getItem ( 'popcode-project-state' ) ;
98- if ( dehydratedProject ) {
99- localStorage . removeItem ( 'popcode-project-state' ) ;
100- rehydratedProject = JSON . parse ( dehydratedProject ) ;
97+ const dehydrated = localStorage . getItem ( 'popcode-project-state' ) ;
98+ if ( dehydrated ) {
99+ const rehydrated = JSON . parse ( dehydrated ) ;
100+ if ( Date . now ( ) - rehydrated . dehydratedAt <= 5 * 60 * 1000 ) {
101+ rehydratedProject = rehydrated . project ;
102+ }
101103 }
104+ localStorage . removeItem ( 'popcode-project-state' ) ;
102105 history . replaceState ( { } , '' , location . pathname ) ;
103106 this . props . dispatch ( applicationLoaded ( {
104107 snapshotKey,
@@ -121,8 +124,11 @@ class Workspace extends React.Component {
121124 _handleUnload ( ) {
122125 const { currentProject} = this . props ;
123126 if ( ! isNull ( currentProject ) && ! isPristineProject ( currentProject ) ) {
124- const dehydratedProject = JSON . stringify ( currentProject ) ;
125- localStorage . setItem ( 'popcode-project-state' , dehydratedProject ) ;
127+ const dehydrated = JSON . stringify ( {
128+ dehydratedAt : Date . now ( ) ,
129+ project : currentProject ,
130+ } ) ;
131+ localStorage . setItem ( 'popcode-project-state' , dehydrated ) ;
126132 }
127133 }
128134
0 commit comments