Skip to content

Commit 8d5e266

Browse files
fix(ui): display file upload messages
1 parent 76ad59f commit 8d5e266

6 files changed

Lines changed: 25 additions & 10 deletions

File tree

apps/sim/app/workspace/[workspaceId]/knowledge/hooks/use-knowledge-upload.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -794,7 +794,7 @@ export function useKnowledgeUpload(options: UseKnowledgeUploadOptions = {}) {
794794
}
795795

796796
throw new DirectUploadError(
797-
`Failed to upload ${file.name}: ${errorData?.error || 'Unknown error'}`,
797+
`Failed to upload ${file.name}: ${errorData?.message || errorData?.error || 'Unknown error'}`,
798798
errorData
799799
)
800800
}

apps/sim/app/workspace/[workspaceId]/settings/hooks/use-profile-picture-upload.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,10 @@ export function useProfilePictureUpload({
7878
})
7979

8080
if (!response.ok) {
81-
const errorData = await response.json().catch(() => ({ error: response.statusText }))
82-
throw new Error(errorData.error || `Failed to upload file: ${response.status}`)
81+
const errorData = await response.json().catch(() => ({ message: response.statusText }))
82+
throw new Error(
83+
errorData.message || errorData.error || `Failed to upload file: ${response.status}`
84+
)
8385
}
8486

8587
const data = await response.json()

apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/copilot/components/user-input/hooks/use-file-attachments.ts

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
import { useCallback, useEffect, useRef, useState } from 'react'
44
import { createLogger } from '@sim/logger'
5+
import { toError } from '@sim/utils/errors'
56
import { generateId } from '@sim/utils/id'
7+
import { toast } from '@/components/emcn'
68
import { resolveFileType } from '@/lib/uploads/utils/file-utils'
79

810
const logger = createLogger('useFileAttachments')
@@ -147,9 +149,13 @@ export function useFileAttachments(props: UseFileAttachmentsProps) {
147149

148150
if (!uploadResponse.ok) {
149151
const errorData = await uploadResponse.json().catch(() => ({
150-
error: `Upload failed: ${uploadResponse.status}`,
152+
message: `Upload failed: ${uploadResponse.status}`,
151153
}))
152-
throw new Error(errorData.error || `Failed to upload file: ${uploadResponse.status}`)
154+
throw new Error(
155+
errorData.message ||
156+
errorData.error ||
157+
`Failed to upload file: ${uploadResponse.status}`
158+
)
153159
}
154160

155161
const uploadData = await uploadResponse.json()
@@ -172,6 +178,9 @@ export function useFileAttachments(props: UseFileAttachmentsProps) {
172178
)
173179
} catch (error) {
174180
logger.error(`File upload failed: ${error}`)
181+
toast.error(`Couldn't upload "${file.name}"`, {
182+
description: toError(error).message,
183+
})
175184
if (placeholder.previewUrl) URL.revokeObjectURL(placeholder.previewUrl)
176185
setAttachedFiles((prev) => prev.filter((f) => f.id !== placeholder.id))
177186
}

apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/file-upload/file-upload.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,8 @@ export function FileUpload({
328328
const data = await response.json()
329329

330330
if (!response.ok) {
331-
const errorMessage = data.error || `Failed to upload file: ${response.status}`
331+
const errorMessage =
332+
data.message || data.error || `Failed to upload file: ${response.status}`
332333
uploadErrors.push(`${file.name}: ${errorMessage}`)
333334

334335
setUploadError(errorMessage)

apps/sim/app/workspace/[workspaceId]/w/[workflowId]/hooks/use-workflow-execution.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -494,8 +494,9 @@ export function useWorkflowExecution() {
494494
logger.error('Unexpected upload response format:', uploadResult)
495495
}
496496
} else {
497-
const errorText = await response.text()
498-
const message = `Failed to upload ${fileData.name}: ${response.status} ${errorText}`
497+
const errorData = await response.json().catch(() => null)
498+
const reason = errorData?.message || errorData?.error || `${response.status}`
499+
const message = `Failed to upload ${fileData.name}: ${reason}`
499500
logger.error(message)
500501
if (isUploadErrorCapable(workflowInput)) {
501502
try {

apps/sim/app/workspace/[workspaceId]/w/components/sidebar/hooks/use-workspace-logo-upload.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,10 @@ export function useWorkspaceLogoUpload({
7373
})
7474

7575
if (!response.ok) {
76-
const errorData = await response.json().catch(() => ({ error: response.statusText }))
77-
throw new Error(errorData.error || `Failed to upload file: ${response.status}`)
76+
const errorData = await response.json().catch(() => ({ message: response.statusText }))
77+
throw new Error(
78+
errorData.message || errorData.error || `Failed to upload file: ${response.status}`
79+
)
7880
}
7981

8082
const data = await response.json()

0 commit comments

Comments
 (0)