mirror of
https://github.com/langgenius/webapp-conversation.git
synced 2026-07-01 19:55:07 -04:00
fix(chat): prevent sending messages before file uploads finish
This commit is contained in:
@@ -97,7 +97,7 @@ export const getSupportFileType = (fileName: string, fileMimetype: string, isCus
|
||||
}
|
||||
|
||||
export const getProcessedFiles = (files: FileEntity[]) => {
|
||||
return files.filter(file => file.progress !== -1).map(fileItem => ({
|
||||
return files.filter(file => file.progress !== -1 && fileIsUploaded(file)).map(fileItem => ({
|
||||
type: fileItem.supportFileType,
|
||||
transfer_method: fileItem.transferMethod,
|
||||
url: fileItem.url || '',
|
||||
|
||||
@@ -98,6 +98,12 @@ const Chat: FC<IChatProps> = ({
|
||||
|
||||
const handleSend = () => {
|
||||
if (!valid() || (checkCanSend && !checkCanSend())) { return }
|
||||
const hasPendingImageUploads = files.some(file => file.progress !== -1 && file.progress < 100)
|
||||
const hasPendingAttachmentUploads = attachmentFiles.some(file => file.progress !== -1 && file.progress < 100)
|
||||
if (hasPendingImageUploads || hasPendingAttachmentUploads) {
|
||||
logError(t('app.errorMessage.waitForFileUpload'))
|
||||
return
|
||||
}
|
||||
const imageFiles: VisionFile[] = files.filter(file => file.progress !== -1).map(fileItem => ({
|
||||
type: 'image',
|
||||
transfer_method: fileItem.type,
|
||||
|
||||
@@ -27,6 +27,8 @@ const translation = {
|
||||
valueOfVarRequired: 'Variables value can not be empty',
|
||||
waitForResponse:
|
||||
'Please wait for the response to the previous message to complete.',
|
||||
waitForFileUpload:
|
||||
'Please wait for all files to finish uploading before sending.',
|
||||
},
|
||||
variableTable: {
|
||||
optional: 'Optional',
|
||||
|
||||
@@ -27,6 +27,8 @@ const translation = {
|
||||
valueOfVarRequired: 'El valor de las variables no puede estar vacío',
|
||||
waitForResponse:
|
||||
'Por favor espere a que la respuesta al mensaje anterior se complete.',
|
||||
waitForFileUpload:
|
||||
'Espere a que todos los archivos terminen de cargarse antes de enviar.',
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@@ -27,6 +27,8 @@ const translation = {
|
||||
valueOfVarRequired: 'La valeur des variables ne peut pas être vide',
|
||||
waitForResponse:
|
||||
'Veuillez attendre que la réponse au message précédent soit terminée.',
|
||||
waitForFileUpload:
|
||||
'Veuillez attendre la fin du téléversement de tous les fichiers avant l’envoi.',
|
||||
},
|
||||
variableTable: {
|
||||
optional: 'Facultatif',
|
||||
|
||||
@@ -27,6 +27,8 @@ const translation = {
|
||||
valueOfVarRequired: '変数の値は空にできません',
|
||||
waitForResponse:
|
||||
'前のメッセージの応答が完了するまでお待ちください。',
|
||||
waitForFileUpload:
|
||||
'すべてのファイルのアップロードが完了してから送信してください。',
|
||||
},
|
||||
variableTable: {
|
||||
optional: '任意',
|
||||
|
||||
@@ -27,6 +27,8 @@ const translation = {
|
||||
valueOfVarRequired: 'Giá trị của biến không thể để trống',
|
||||
waitForResponse:
|
||||
'Vui lòng đợi phản hồi từ tin nhắn trước khi gửi tin nhắn mới.',
|
||||
waitForFileUpload:
|
||||
'Vui lòng đợi tất cả tệp tải lên xong trước khi gửi.',
|
||||
},
|
||||
variableTable: {
|
||||
optional: 'Tùy chọn',
|
||||
|
||||
@@ -22,6 +22,7 @@ const translation = {
|
||||
errorMessage: {
|
||||
valueOfVarRequired: '变量值必填',
|
||||
waitForResponse: '请等待上条信息响应完成',
|
||||
waitForFileUpload: '请等待所有文件上传完成后再发送',
|
||||
},
|
||||
variableTable: {
|
||||
optional: '可选',
|
||||
|
||||
Reference in New Issue
Block a user