mirror of
https://github.com/standardnotes/app.git
synced 2026-01-11 19:56:41 +00:00
fix: Shows informative error on UI when file upload limit is reached (#2961)
This commit is contained in:
parent
5d1f6ca963
commit
844b7a7a2b
5 changed files with 19 additions and 8 deletions
|
|
@ -134,7 +134,7 @@ export class FetchRequestHandler implements RequestHandlerInterface {
|
|||
response.data.error = {
|
||||
message: ErrorMessage.RateLimited,
|
||||
}
|
||||
} else {
|
||||
} else if (!response.data.error.message) {
|
||||
response.data.error.message = ErrorMessage.RateLimited
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ export interface FilesApiInterface {
|
|||
encryptedBytes: Uint8Array,
|
||||
): Promise<boolean>
|
||||
|
||||
closeUploadSession(valetToken: string, ownershipType: FileOwnershipType): Promise<boolean>
|
||||
closeUploadSession(valetToken: string, ownershipType: FileOwnershipType): Promise<boolean | ClientDisplayableError>
|
||||
|
||||
downloadFile(params: DownloadFileParams): Promise<ClientDisplayableError | undefined>
|
||||
|
||||
|
|
|
|||
|
|
@ -227,7 +227,11 @@ export class FileService extends AbstractService implements FilesClientInterface
|
|||
vault && vault.isSharedVaultListing() ? 'shared-vault' : 'user',
|
||||
)
|
||||
|
||||
if (isErrorResponse(uploadSessionStarted) || !uploadSessionStarted.data.uploadId) {
|
||||
if (isErrorResponse(uploadSessionStarted)) {
|
||||
return ClientDisplayableError.FromNetworkError(uploadSessionStarted)
|
||||
}
|
||||
|
||||
if (!uploadSessionStarted.data.uploadId) {
|
||||
return new ClientDisplayableError('Could not start upload session')
|
||||
}
|
||||
|
||||
|
|
@ -259,6 +263,10 @@ export class FileService extends AbstractService implements FilesClientInterface
|
|||
operation.vault && operation.vault.isSharedVaultListing() ? 'shared-vault' : 'user',
|
||||
)
|
||||
|
||||
if (uploadSessionClosed instanceof ClientDisplayableError) {
|
||||
return uploadSessionClosed
|
||||
}
|
||||
|
||||
if (!uploadSessionClosed) {
|
||||
return new ClientDisplayableError('Could not close upload session')
|
||||
}
|
||||
|
|
|
|||
|
|
@ -821,7 +821,10 @@ export class LegacyApiService
|
|||
return response.data.success
|
||||
}
|
||||
|
||||
public async closeUploadSession(valetToken: string, ownershipType: FileOwnershipType): Promise<boolean> {
|
||||
public async closeUploadSession(
|
||||
valetToken: string,
|
||||
ownershipType: FileOwnershipType,
|
||||
): Promise<boolean | ClientDisplayableError> {
|
||||
const url = joinPaths(
|
||||
this.getFilesHost(),
|
||||
ownershipType === 'user' ? Paths.v1.closeUploadSession : Paths.v1.closeSharedVaultUploadSession,
|
||||
|
|
@ -835,7 +838,7 @@ export class LegacyApiService
|
|||
})
|
||||
|
||||
if (isErrorResponse(response)) {
|
||||
return false
|
||||
return ClientDisplayableError.FromNetworkError(response)
|
||||
}
|
||||
|
||||
return response.data.success
|
||||
|
|
|
|||
|
|
@ -524,9 +524,9 @@ export class FilesController extends AbstractViewController<FilesControllerEvent
|
|||
if (operation instanceof ClientDisplayableError) {
|
||||
addToast({
|
||||
type: ToastType.Error,
|
||||
message: 'Unable to start upload session',
|
||||
message: operation.text,
|
||||
})
|
||||
throw new Error('Unable to start upload session')
|
||||
return undefined
|
||||
}
|
||||
|
||||
const initialProgress = operation.getProgress().percentComplete
|
||||
|
|
@ -595,7 +595,7 @@ export class FilesController extends AbstractViewController<FilesControllerEvent
|
|||
type: ToastType.Error,
|
||||
message: uploadedFile.text,
|
||||
})
|
||||
throw new Error(uploadedFile.text)
|
||||
return undefined
|
||||
}
|
||||
|
||||
if (onUploadFinish) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue