@@ -206,45 +206,59 @@ export async function davinci<ActionType extends ActionTypes = ActionTypes>({
206206 } : {
207207 continueToken : string ;
208208 } ) : Promise < InternalErrorResponse | NodeStates > => {
209- const storedServerInfo = await serverInfo . get ( ) ;
209+ try {
210+ const storedServerInfo = await serverInfo . get ( ) ;
210211
211- if ( storedServerInfo === null ) {
212- log . error ( 'No server info found in storage for resume operation' ) ;
213- return {
214- error : {
215- message :
216- 'No server info found in storage. Social login needs server info which is saved in local storage. You may have cleared your browser data.' ,
217- type : 'state_error' ,
218- } ,
219- type : 'internal_error' ,
220- } ;
221- }
212+ if ( storedServerInfo === null ) {
213+ log . error ( 'No server info found in storage for resume operation' ) ;
214+ return {
215+ error : {
216+ message :
217+ 'No server info found in storage. Social login needs server info which is saved in local storage. You may have cleared your browser data.' ,
218+ type : 'state_error' ,
219+ } ,
220+ type : 'internal_error' ,
221+ } ;
222+ }
223+
224+ if ( isGenericError ( storedServerInfo ) ) {
225+ log . error ( storedServerInfo . message ?? storedServerInfo . error ) ;
226+ return {
227+ error : {
228+ message :
229+ storedServerInfo . message ??
230+ 'Failed to retrieve server info from storage for resume operation' ,
231+ type : 'internal_error' ,
232+ } ,
233+ type : 'internal_error' ,
234+ } ;
235+ }
222236
223- if ( isGenericError ( storedServerInfo ) ) {
224- log . error ( storedServerInfo . message ?? storedServerInfo . error ) ;
237+ await store . dispatch (
238+ davinciApi . endpoints . resume . initiate ( { continueToken, serverInfo : storedServerInfo } ) ,
239+ ) ;
240+
241+ const removeResult = await serverInfo . remove ( ) ;
242+ if ( isGenericError ( removeResult ) ) {
243+ log . warn (
244+ removeResult . message ?? 'Failed to remove server info from storage after resume' ,
245+ ) ;
246+ }
247+
248+ const node = nodeSlice . selectSlice ( store . getState ( ) ) ;
249+
250+ return node ;
251+ } catch ( err ) {
252+ const error = err as Error ;
253+ log . error ( error . message ) ;
225254 return {
226255 error : {
227- message :
228- storedServerInfo . message ??
229- 'Failed to retrieve server info from storage for resume operation' ,
256+ message : error . message ?? 'An unexpected error occurred during resume operation' ,
230257 type : 'internal_error' ,
231258 } ,
232259 type : 'internal_error' ,
233260 } ;
234261 }
235-
236- await store . dispatch (
237- davinciApi . endpoints . resume . initiate ( { continueToken, serverInfo : storedServerInfo } ) ,
238- ) ;
239-
240- const removeResult = await serverInfo . remove ( ) ;
241- if ( isGenericError ( removeResult ) ) {
242- log . warn ( removeResult . message ?? 'Failed to remove server info from storage after resume' ) ;
243- }
244-
245- const node = nodeSlice . selectSlice ( store . getState ( ) ) ;
246-
247- return node ;
248262 } ,
249263
250264 /**
0 commit comments