Improve upload progress on android due to null asset IDs.

This commit is contained in:
Patrick Fic
2025-11-26 16:24:58 -08:00
parent 76427c5083
commit c0100a4277
2 changed files with 11 additions and 6 deletions

View File

@@ -32,14 +32,14 @@ const photosReducer = (state = INITIAL_STATE, action) => {
case PhotosActionTypes.MEDIA_UPLOAD_PROGRESS_UPDATE_ONE:
return {
...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:
const { [action.payload.assetId]: _, ...remainingTasks } = state.cancelTasks;
const { [action.payload.assetId || action.payload.fileName]: _, ...remainingTasks } = state.cancelTasks;
return {
...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
};
case PhotosActionTypes.MEDIA_UPLOAD_PROGRESS_UPDATE_BULK:
@@ -69,11 +69,11 @@ const photosReducer = (state = INITIAL_STATE, action) => {
...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:
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 {
...state,
cancelTasks: remainingTasks2,

View File

@@ -85,7 +85,12 @@ export function* openImagePickerAction({ payload: jobid }) {
exif: true,
});
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) {
console.log("Saga Error: open Picker", error);