@@ -214,6 +214,8 @@ export const useUploadStore = create<UploadStore>((set: SetState<UploadStore>, g
214214 const attachmentFile = pendingAttachments . get ( idSystemObject ) as IngestionFile ;
215215 const file = isUpdate ? updateFile : isAttachment ? attachmentFile : getFile ( id , pending ) ;
216216
217+ console . log ( `[PACKRAT] startUpload (${ updateFile ?. file ?. name ?? 'na' } , ${ updateFile ?. file ?. size ?? '-1' } )` ) ;
218+
217219 if ( file ) {
218220 if ( isUpdate ) {
219221 file . progress = 0 ;
@@ -276,6 +278,8 @@ export const useUploadStore = create<UploadStore>((set: SetState<UploadStore>, g
276278 const { pending } = get ( ) ;
277279 const file = getFile ( id , pending ) ;
278280
281+ console . log ( `[PACKRAT] cancelUpload (${ file ?. name ?? 'undefined' } )` ) ;
282+
279283 if ( file ) {
280284 if ( file . status === FileUploadStatus . UPLOADING ) {
281285 const { cancel } = file ;
@@ -343,22 +347,32 @@ export const useUploadStore = create<UploadStore>((set: SetState<UploadStore>, g
343347
344348 //This is the uploading for the Processed Files
345349 startUploadTransfer : async ( ingestionFile : IngestionFile , references ?: UploadReferences ) => {
350+
351+ console . log ( `[PACKRAT] startUploadTransfer (${ ingestionFile . file . name } )` ) ;
352+
346353 const { pending } = get ( ) ;
347354 const { id, file, type } = ingestionFile ;
348355 try {
349356 const onProgress = ( event : ProgressEvent ) => {
350357 // registered with Apollo xhr.upload.onprogress callback and triggers
351358 // PROGRESS event at every 10 steps so the UX can properly update.
352359 const { loaded, total } = event ;
360+
361+ if ( total === 0 ) {
362+ console . warn ( '[PACKRAT] ProgressEvent total is zero. Unable to calculate progress.' ) ;
363+ return ;
364+ }
365+
353366 const progress = Math . floor ( ( loaded / total ) * 100 ) ;
354- const updateProgress = ( progress % 10 ) === 0 ;
367+ const updateProgress = ( progress % 5 ) === 0 ;
355368
356369 if ( updateProgress ) {
357370 const progressEvent : UploadProgressEvent = {
358371 id,
359372 progress
360373 } ;
361374 // console.log(`[PACKRAT] startUploadTransfer.onProgress fire event (event: ${progressEvent} | pending: ${JSON.stringify(pending)})`);
375+ console . log ( '[PACKRAT] upload onProgress' , event ) ;
362376 UploadEvents . dispatch ( UploadEventType . PROGRESS , progressEvent ) ;
363377 }
364378 } ;
@@ -372,10 +386,11 @@ export const useUploadStore = create<UploadStore>((set: SetState<UploadStore>, g
372386 // console.log(`[PACKRAT] startUploadTransfer.onCancel fire event (event: ${cancelEvent} | pending: ${JSON.stringify(pending)})`);
373387 UploadEvents . dispatch ( UploadEventType . SET_CANCELLED , cancelEvent ) ;
374388 } ;
375- const onFailed = ( ) => {
389+ const onFailed = ( error : ErrorEvent ) => {
376390 // registered with Apollo xhr.upload.onerror and triggers a failed event
377391 const failedEvent : UploadFailedEvent = {
378392 id,
393+ message : error . message || 'Unknown Error'
379394 } ;
380395
381396 // console.error(`[PACKRAT] startUploadTransfer.onFailed fire event (event: ${error})`);
@@ -392,6 +407,8 @@ export const useUploadStore = create<UploadStore>((set: SetState<UploadStore>, g
392407 uploadAssetInputs . type = getVocabularyId ( eVocabularyID . eAssetAssetTypeAttachment ) ?? 0 ;
393408 }
394409
410+ console . log ( `[PACKRAT] uploading file '${ file ?. name ?? 'na' } ' of size: ${ file ?. size ?? '-1' } ` ) ;
411+
395412 const { data } = await apolloUploader ( {
396413 mutation : UploadAssetDocument ,
397414 variables : uploadAssetInputs ,
@@ -414,14 +431,14 @@ export const useUploadStore = create<UploadStore>((set: SetState<UploadStore>, g
414431 toast . success ( `Upload finished for ${ file . name } ` ) ;
415432 } else if ( status === UploadStatus . Failed ) {
416433 console . log ( `[PACKRAT] startUploadTransfer upload failed (id: ${ id } | file: ${ ( file ) ?file [ 'path' ] :'na' } | error: ${ error } )` ) ;
417- const failedEvent : UploadFailedEvent = { id } ;
434+ const failedEvent : UploadFailedEvent = { id, message : error || 'Unknown error' } ;
418435 UploadEvents . dispatch ( UploadEventType . FAILED , failedEvent ) ;
419436
420437 const errorMessage = error || `Upload failed for ${ file . name } ` ;
421438 toast . error ( errorMessage ) ;
422439 } else if ( status === UploadStatus . Noauth ) {
423440 console . log ( `[PACKRAT:ERROR] startUploadTransfer upload failed ${ id } , ${ JSON . stringify ( file ) } , user not authenticated` ) ;
424- const failedEvent : UploadFailedEvent = { id } ;
441+ const failedEvent : UploadFailedEvent = { id, message : error || 'Unknown error' } ;
425442 UploadEvents . dispatch ( UploadEventType . FAILED , failedEvent ) ;
426443
427444 global . alert ( 'The Packrat user is no longer authenticated. Please login.' ) ;
@@ -436,7 +453,7 @@ export const useUploadStore = create<UploadStore>((set: SetState<UploadStore>, g
436453 if ( file ) {
437454 if ( file . status !== FileUploadStatus . CANCELLED ) {
438455 console . log ( `[PACKRAT:ERROR] startUploadTransfer upload failed ${ id } , ${ JSON . stringify ( file ) } , exception ${ message } ` ) ;
439- const failedEvent : UploadFailedEvent = { id } ;
456+ const failedEvent : UploadFailedEvent = { id, message : 'cancelled' } ;
440457 UploadEvents . dispatch ( UploadEventType . FAILED , failedEvent ) ;
441458 }
442459 }
@@ -515,6 +532,8 @@ export const useUploadStore = create<UploadStore>((set: SetState<UploadStore>, g
515532 // });
516533 // console.log(`[PACKRAT] onProgressEvent (options: ${JSON.stringify(options)} | pending: ${JSON.stringify(statusPending)})`);
517534
535+ console . log ( `[PACKRAT] onProgress (${ progress } )` ) ;
536+
518537 // handles updates and attachments if a SystemObject id is provided
519538 if ( options ?. idSystemObject ) {
520539 const isAttachment = options . references . idSOAttachment ;
@@ -572,6 +591,8 @@ export const useUploadStore = create<UploadStore>((set: SetState<UploadStore>, g
572591 // });
573592 // console.log(`[PACKRAT] onCancelledEvent (pending: ${JSON.stringify(statusPending)})`);
574593
594+ console . log ( `[PACKRAT] onCancel (id: ${ id } )` ) ;
595+
575596 // handles updates and attachments
576597 if ( options ?. idSystemObject ) {
577598 const isAttachment = options . references . idSOAttachment ;
@@ -620,6 +641,7 @@ export const useUploadStore = create<UploadStore>((set: SetState<UploadStore>, g
620641 // };
621642 // });
622643 // console.log(`[PACKRAT] onFailedEvent (pending: ${JSON.stringify(statusPending)})`);
644+ console . log ( `[PACKRAT] onFailed (id: ${ id } )` ) ;
623645
624646 // handles updates and attachments
625647 if ( options ?. idSystemObject ) {
@@ -699,6 +721,8 @@ export const useUploadStore = create<UploadStore>((set: SetState<UploadStore>, g
699721 }
700722 } ,
701723 reset : ( ) : void => {
724+ console . log ( '[PACKRAT] reset' ) ;
725+
702726 const { completed, /*pending*/ } = get ( ) ;
703727 const unselectFiles = ( file : IngestionFile ) : IngestionFile => ( {
704728 ...file ,
@@ -721,6 +745,7 @@ export const useUploadStore = create<UploadStore>((set: SetState<UploadStore>, g
721745 set ( { completed : [ ...updatedCompleted ] , loading : false } ) ;
722746 } ,
723747 resetSpecialPending : ( uploadType : eIngestionMode ) => {
748+ console . log ( '[PACKRAT] reset special' ) ;
724749 if ( uploadType === eIngestionMode . eAttach ) set ( { pendingAttachments : new Map ( ) } ) ;
725750 if ( uploadType === eIngestionMode . eUpdate ) set ( { pendingUpdates : new Map ( ) } ) ;
726751 }
0 commit comments