Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion packages/api/src/Domain/Http/FetchRequestHandler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
}
Expand Down
2 changes: 1 addition & 1 deletion packages/files/src/Domain/Api/FilesApiInterface.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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>

Expand Down
10 changes: 9 additions & 1 deletion packages/services/src/Domain/Files/FileService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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')
}

Expand Down Expand Up @@ -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')
}
Expand Down
7 changes: 5 additions & 2 deletions packages/snjs/lib/Services/Api/ApiService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand All @@ -835,7 +838,7 @@ export class LegacyApiService
})

if (isErrorResponse(response)) {
return false
return ClientDisplayableError.FromNetworkError(response)
}

return response.data.success
Expand Down
6 changes: 3 additions & 3 deletions packages/web/src/javascripts/Controllers/FilesController.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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) {
Expand Down
Loading