Improve upload progress on android due to null asset IDs.
This commit is contained in:
@@ -32,14 +32,14 @@ const photosReducer = (state = INITIAL_STATE, action) => {
|
|||||||
case PhotosActionTypes.MEDIA_UPLOAD_PROGRESS_UPDATE_ONE:
|
case PhotosActionTypes.MEDIA_UPLOAD_PROGRESS_UPDATE_ONE:
|
||||||
return {
|
return {
|
||||||
...state,
|
...state,
|
||||||
progress: { ...state.progress, [action.payload.assetId]: { ...state.progress[action.payload.assetId], ...action.payload } }
|
progress: { ...state.progress, [action.payload.assetId || action.payload.fileName]: { ...state.progress[action.payload.assetId || action.payload.fileName], ...action.payload } }
|
||||||
};
|
};
|
||||||
case PhotosActionTypes.MEDIA_UPLOAD_SUCCESS_ONE:
|
case PhotosActionTypes.MEDIA_UPLOAD_SUCCESS_ONE:
|
||||||
const { [action.payload.assetId]: _, ...remainingTasks } = state.cancelTasks;
|
const { [action.payload.assetId || action.payload.fileName]: _, ...remainingTasks } = state.cancelTasks;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
...state,
|
...state,
|
||||||
progress: { ...state.progress, [action.payload.assetId]: { ...state.progress[action.payload.assetId], progress: 1, status: 'completed', endTime: new Date() } },
|
progress: { ...state.progress, [action.payload.assetId || action.payload.fileName]: { ...state.progress[action.payload.assetId || action.payload.fileName], progress: 1, status: 'completed', endTime: new Date() } },
|
||||||
cancelTasks: remainingTasks
|
cancelTasks: remainingTasks
|
||||||
};
|
};
|
||||||
case PhotosActionTypes.MEDIA_UPLOAD_PROGRESS_UPDATE_BULK:
|
case PhotosActionTypes.MEDIA_UPLOAD_PROGRESS_UPDATE_BULK:
|
||||||
@@ -69,11 +69,11 @@ const photosReducer = (state = INITIAL_STATE, action) => {
|
|||||||
...state,
|
...state,
|
||||||
cancelTasks: {
|
cancelTasks: {
|
||||||
...state.cancelTasks,
|
...state.cancelTasks,
|
||||||
[action.payload.assetId]: action.payload.cancelTask,
|
[action.payload.assetId || action.payload.fileName]: action.payload.cancelTask,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
case PhotosActionTypes.REMOVE_UPLOAD_CANCEL_TASK:
|
case PhotosActionTypes.REMOVE_UPLOAD_CANCEL_TASK:
|
||||||
const { [action.payload.assetId]: _2, ...remainingTasks2 } = state.cancelTasks; //2 added for scoped variable conflict.
|
const { [action.payload.assetId || action.payload.fileName]: _2, ...remainingTasks2 } = state.cancelTasks; //2 added for scoped variable conflict.
|
||||||
return {
|
return {
|
||||||
...state,
|
...state,
|
||||||
cancelTasks: remainingTasks2,
|
cancelTasks: remainingTasks2,
|
||||||
|
|||||||
@@ -85,7 +85,12 @@ export function* openImagePickerAction({ payload: jobid }) {
|
|||||||
exif: true,
|
exif: true,
|
||||||
});
|
});
|
||||||
if (!(result.canceled)) {
|
if (!(result.canceled)) {
|
||||||
yield put(mediaUploadStart({ photos: result.assets, jobid, progress: _.keyBy(result.assets, 'assetId') }));
|
yield put(mediaUploadStart({
|
||||||
|
photos: result.assets, jobid, progress: _.keyBy(result.assets, (item) => {
|
||||||
|
// If item.id is null or undefined, use a fallback string like 'no_id'
|
||||||
|
return item.assetId === null || item.assetId === undefined || item.assetId === "" ? item.fileName : item.assetId;
|
||||||
|
})
|
||||||
|
}));
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log("Saga Error: open Picker", error);
|
console.log("Saga Error: open Picker", error);
|
||||||
|
|||||||
Reference in New Issue
Block a user