fixed error message shown to user
This commit is contained in:
parent
1f62d7ba53
commit
f145328c38
|
@ -22,6 +22,7 @@ import UploadManager, {
|
||||||
} from 'services/upload/uploadManager';
|
} from 'services/upload/uploadManager';
|
||||||
import uploadManager from 'services/upload/uploadManager';
|
import uploadManager from 'services/upload/uploadManager';
|
||||||
import { METADATA_FOLDER_NAME } from 'services/exportService';
|
import { METADATA_FOLDER_NAME } from 'services/exportService';
|
||||||
|
import { getUserFacingErrorMessage } from 'utils/common/errorUtil';
|
||||||
|
|
||||||
const FIRST_ALBUM_NAME = 'My First Album';
|
const FIRST_ALBUM_NAME = 'My First Album';
|
||||||
|
|
||||||
|
@ -280,7 +281,8 @@ export default function Upload(props: Props) {
|
||||||
collections
|
collections
|
||||||
);
|
);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
props.setBannerMessage(err.message);
|
const message = getUserFacingErrorMessage(err.message);
|
||||||
|
props.setBannerMessage(message);
|
||||||
setProgressView(false);
|
setProgressView(false);
|
||||||
throw err;
|
throw err;
|
||||||
} finally {
|
} finally {
|
||||||
|
@ -296,8 +298,9 @@ export default function Upload(props: Props) {
|
||||||
await props.syncWithRemote(true, true);
|
await props.syncWithRemote(true, true);
|
||||||
await uploadManager.retryFailedFiles();
|
await uploadManager.retryFailedFiles();
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
const message = getUserFacingErrorMessage(err.message);
|
||||||
appContext.resetSharedFiles();
|
appContext.resetSharedFiles();
|
||||||
props.setBannerMessage(err.message);
|
props.setBannerMessage(message);
|
||||||
setProgressView(false);
|
setProgressView(false);
|
||||||
} finally {
|
} finally {
|
||||||
props.setUploadInProgress(false);
|
props.setUploadInProgress(false);
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import { AxiosResponse } from 'axios';
|
import { AxiosResponse } from 'axios';
|
||||||
|
import constants from 'utils/strings/constants';
|
||||||
|
|
||||||
export const ServerErrorCodes = {
|
export const ServerErrorCodes = {
|
||||||
SESSION_EXPIRED: '401',
|
SESSION_EXPIRED: '401',
|
||||||
|
@ -8,21 +9,21 @@ export const ServerErrorCodes = {
|
||||||
FILE_TOO_LARGE: '413',
|
FILE_TOO_LARGE: '413',
|
||||||
};
|
};
|
||||||
|
|
||||||
export const CustomError = {
|
export enum CustomError {
|
||||||
UNKNOWN_ERROR: 'unknown error',
|
UNKNOWN_ERROR = 'unknown error',
|
||||||
SUBSCRIPTION_VERIFICATION_ERROR: 'Subscription verification failed',
|
SUBSCRIPTION_VERIFICATION_ERROR = 'Subscription verification failed',
|
||||||
THUMBNAIL_GENERATION_FAILED: 'thumbnail generation failed',
|
THUMBNAIL_GENERATION_FAILED = 'thumbnail generation failed',
|
||||||
VIDEO_PLAYBACK_FAILED: 'video playback failed',
|
VIDEO_PLAYBACK_FAILED = 'video playback failed',
|
||||||
ETAG_MISSING: 'no header/etag present in response body',
|
ETAG_MISSING = 'no header/etag present in response body',
|
||||||
KEY_MISSING: 'encrypted key missing from localStorage',
|
KEY_MISSING = 'encrypted key missing from localStorage',
|
||||||
FAILED_TO_LOAD_WEB_WORKER: 'failed to load web worker',
|
FAILED_TO_LOAD_WEB_WORKER = 'failed to load web worker',
|
||||||
CHUNK_MORE_THAN_EXPECTED: 'chunks more than expected',
|
CHUNK_MORE_THAN_EXPECTED = 'chunks more than expected',
|
||||||
UNSUPPORTED_FILE_FORMAT: 'unsupported file formats',
|
UNSUPPORTED_FILE_FORMAT = 'unsupported file formats',
|
||||||
FILE_TOO_LARGE: 'file too large',
|
FILE_TOO_LARGE = 'file too large',
|
||||||
SUBSCRIPTION_EXPIRED: 'subscription expired',
|
SUBSCRIPTION_EXPIRED = 'subscription expired',
|
||||||
STORAGE_QUOTA_EXCEEDED: 'storage quota exceeded',
|
STORAGE_QUOTA_EXCEEDED = 'storage quota exceeded',
|
||||||
SESSION_EXPIRED_MESSAGE: 'session expired',
|
SESSION_EXPIRED_MESSAGE = 'session expired',
|
||||||
};
|
}
|
||||||
|
|
||||||
function parseUploadError(error: AxiosResponse) {
|
function parseUploadError(error: AxiosResponse) {
|
||||||
let parsedMessage = null;
|
let parsedMessage = null;
|
||||||
|
@ -70,3 +71,16 @@ export function handleUploadError(error: AxiosResponse | Error): Error {
|
||||||
}
|
}
|
||||||
return parsedError;
|
return parsedError;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function getUserFacingErrorMessage(err: CustomError) {
|
||||||
|
switch (err) {
|
||||||
|
case CustomError.SESSION_EXPIRED_MESSAGE:
|
||||||
|
return constants.SESSION_EXPIRED_MESSAGE;
|
||||||
|
case CustomError.SUBSCRIPTION_EXPIRED:
|
||||||
|
return constants.SUBSCRIPTION_EXPIRED;
|
||||||
|
case CustomError.STORAGE_QUOTA_EXCEEDED:
|
||||||
|
return constants.STORAGE_QUOTA_EXCEEDED;
|
||||||
|
default:
|
||||||
|
return constants.UNKNOWN_ERROR;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue