Merge pull request #2971 from rvaldemar/fix/chat-input-no-model-toast

fix(chat): show visible error toast when no provider or model is selected
This commit is contained in:
Bohdan Triapitsyn
2026-08-27 23:14:33 +03:00
committed by GitHub
12 changed files with 12 additions and 0 deletions
@@ -1010,6 +1010,7 @@ const ChatInputComponent: React.FC<ChatInputProps> = ({
if (!providerIdToSend || !modelIdToSend) {
console.warn('Cannot send message: provider or model not selected');
toast.error(t('chat.chatInput.toast.noModelSelected'));
return;
}
+1
View File
@@ -2107,6 +2107,7 @@ export const dict = {
'chat.chatInput.toast.attachmentsTooLarge': 'Anhänge sind zu groß zum Senden. Bitte versuche, die Anzahl oder Größe der Bilder zu reduzieren.',
'chat.chatInput.toast.sendAttachmentsFailed': 'Fehler beim Senden der Anhänge. Versuche weniger Dateien oder kleinere Bilder.',
'chat.chatInput.toast.messageSendFailed': 'Nachricht konnte nicht gesendet werden. Anhänge wurden wiederhergestellt.',
'chat.chatInput.toast.noModelSelected': 'Wähle vor dem Senden einen Anbieter und ein Modell aus.',
'chat.chatInput.toast.clipboardAttachFailed': 'Fehler beim Anhängen des Bildes aus der Zwischenablage',
'chat.chatInput.toast.addedFileMentions': '{count} Datei(er) hinzugefügt',
'chat.chatInput.toast.attachFileFailed': 'Fehler beim Anhängen der Datei',
+1
View File
@@ -2302,6 +2302,7 @@ export const dict = {
'chat.chatInput.toast.attachmentsTooLarge': 'Attachments are too large to send. Please try reducing the number or size of images.',
'chat.chatInput.toast.sendAttachmentsFailed': 'Failed to send attachments. Try fewer files or smaller images.',
'chat.chatInput.toast.messageSendFailed': 'Message failed to send. Attachments restored.',
'chat.chatInput.toast.noModelSelected': 'Select a provider and model before sending.',
'chat.chatInput.toast.clipboardAttachFailed': 'Failed to attach image from clipboard',
'chat.chatInput.toast.addedFileMentions': 'Added {count} file mention(s)',
'chat.chatInput.toast.attachFileFailed': 'Failed to attach file',
+1
View File
@@ -2268,6 +2268,7 @@ export const dict: Record<I18nKey, string> = {
"chat.chatInput.toast.attachmentsTooLarge": "Los adjuntos son demasiado grandes para enviar. Intenta reducir la cantidad o el tamaño de las imágenes.",
"chat.chatInput.toast.sendAttachmentsFailed": "No se pudieron enviar los adjuntos. Intenta con menos archivos o imágenes más pequeñas.",
"chat.chatInput.toast.messageSendFailed": "El mensaje no se pudo enviar. Los adjuntos se restauraron.",
"chat.chatInput.toast.noModelSelected": "Selecciona un proveedor y un modelo antes de enviar.",
"chat.chatInput.toast.clipboardAttachFailed": "No se pudo adjuntar la imagen desde el portapapeles",
"chat.chatInput.toast.addedFileMentions": "Se añadieron {count} mención(es) de archivo",
"chat.chatInput.toast.attachFileFailed": "No se pudo adjuntar el archivo",
+1
View File
@@ -2015,6 +2015,7 @@ export const dict = {
'chat.chatInput.toast.attachmentsTooLarge': 'Les pièces jointes sont trop volumineuses pour être envoyées. Veuillez essayer de réduire le nombre ou la taille des images.',
'chat.chatInput.toast.sendAttachmentsFailed': 'Échec de l\'envoi des pièces jointes. Essayez moins de fichiers ou des images plus petites.',
'chat.chatInput.toast.messageSendFailed': 'Le message n\'a pas pu être envoyé. Pièces jointes restaurées.',
'chat.chatInput.toast.noModelSelected': 'Sélectionnez un fournisseur et un modèle avant d\'envoyer.',
'chat.chatInput.toast.clipboardAttachFailed': 'Échec de la pièce jointe de l\'image du presse-papiers',
'chat.chatInput.toast.addedFileMentions': 'Ajout des mentions du fichier {count}',
'chat.chatInput.toast.attachFileFailed': 'Impossible de joindre le fichier',
+1
View File
@@ -2298,6 +2298,7 @@ export const dict: Record<I18nKey, string> = {
'chat.chatInput.toast.attachmentsTooLarge': '添付ファイルが大きすぎて送信できません。画像の数またはサイズを減らしてください。',
'chat.chatInput.toast.sendAttachmentsFailed': '添付ファイルの送信に失敗しました。ファイルを減らすかサイズを小さくしてください。',
'chat.chatInput.toast.messageSendFailed': 'メッセージの送信に失敗しました。添付ファイルは復元されました。',
'chat.chatInput.toast.noModelSelected': '送信する前にプロバイダーとモデルを選択してください。',
'chat.chatInput.toast.clipboardAttachFailed': 'クリップボードからの画像添付に失敗しました',
'chat.chatInput.toast.addedFileMentions': '{count}件のファイルメンションを追加しました',
'chat.chatInput.toast.attachFileFailed': 'ファイルの添付に失敗しました',
+1
View File
@@ -2302,6 +2302,7 @@ export const dict: Record<I18nKey, string> = {
'chat.chatInput.toast.attachmentsTooLarge': '첨부 파일이 너무 커서 보낼 수 없습니다. 이미지 수나 크기를 줄여 보세요.',
'chat.chatInput.toast.sendAttachmentsFailed': '첨부 파일 전송 실패. 파일 수나 이미지 크기를 줄여 보세요.',
'chat.chatInput.toast.messageSendFailed': '메시지 전송에 실패했습니다. 첨부 파일을 복원했습니다.',
'chat.chatInput.toast.noModelSelected': '전송하기 전에 제공업체와 모델을 선택하세요.',
'chat.chatInput.toast.clipboardAttachFailed': '클립보드 이미지 첨부 실패',
'chat.chatInput.toast.addedFileMentions': '파일 멘션 {count}개 추가됨',
'chat.chatInput.toast.attachFileFailed': '첨부 파일 실패',
+1
View File
@@ -1278,6 +1278,7 @@ export const dict: Record<I18nKey, string> = {
'chat.chatInput.toast.clipboardAttachFailed': 'Nie udało się dołączyć obrazu ze schowka',
'chat.chatInput.toast.compactFailed': 'Nie udało się skompaktować sesji',
'chat.chatInput.toast.messageSendFailed': 'Nie udało się wysłać wiadomości. Załączniki zostały przywrócone.',
'chat.chatInput.toast.noModelSelected': 'Wybierz dostawcę i model przed wysłaniem.',
'chat.chatInput.toast.openSessionFirst': 'Najpierw otwórz sesję',
'chat.chatInput.toast.reviewFailed': 'Nie udało się przejrzeć zmian',
'chat.chatInput.toast.planFeatureFailed': 'Nie udało się rozpocząć planowania funkcji',
@@ -2268,6 +2268,7 @@ export const dict: Record<I18nKey, string> = {
"chat.chatInput.toast.attachmentsTooLarge": "Os anexos são grandes demais para enviar. Tente reduzir a quantidade ou o tamanho das imagens.",
"chat.chatInput.toast.sendAttachmentsFailed": "Não foi possível enviar os anexos. Tente com menos arquivos ou imagens menores.",
"chat.chatInput.toast.messageSendFailed": "A mensagem não pôde ser enviada. Os anexos foram restaurados.",
"chat.chatInput.toast.noModelSelected": "Selecione um provedor e um modelo antes de enviar.",
"chat.chatInput.toast.clipboardAttachFailed": "Não foi possível anexar a imagem da área de transferência",
"chat.chatInput.toast.addedFileMentions": "Foram adicionadas {count} menção(es) de arquivo",
"chat.chatInput.toast.attachFileFailed": "Não foi possível anexar o arquivo",
+1
View File
@@ -2268,6 +2268,7 @@ export const dict: Record<I18nKey, string> = {
"chat.chatInput.toast.attachmentsTooLarge": "Вкладені файли завеликі для надсилання. Спробуйте зменшити кількість або розмір зображень.",
"chat.chatInput.toast.sendAttachmentsFailed": "Не вдалося надіслати вкладення. Спробуйте зменшити кількість файлів або зображень.",
"chat.chatInput.toast.messageSendFailed": "Не вдалося надіслати повідомлення. Вкладення відновлено.",
"chat.chatInput.toast.noModelSelected": "Виберіть постачальника та модель перед надсиланням.",
"chat.chatInput.toast.clipboardAttachFailed": "Не вдалося вкласти зображення з буфера обміну",
"chat.chatInput.toast.addedFileMentions": "Додано згадки файлів {count}",
"chat.chatInput.toast.attachFileFailed": "Не вдалося прикріпити файл",
@@ -2268,6 +2268,7 @@ export const dict: Record<I18nKey, string> = {
'chat.chatInput.toast.attachmentsTooLarge': '附件过大,无法发送。请减少图片数量或大小。',
'chat.chatInput.toast.sendAttachmentsFailed': '发送附件失败。请尝试更少文件或更小图片。',
'chat.chatInput.toast.messageSendFailed': '消息发送失败,附件已恢复。',
'chat.chatInput.toast.noModelSelected': '发送前请先选择提供商和模型。',
'chat.chatInput.toast.clipboardAttachFailed': '从剪贴板附加图片失败',
'chat.chatInput.toast.addedFileMentions': '已添加 {count} 个文件提及',
'chat.chatInput.toast.attachFileFailed': '附加文件失败',
@@ -2272,6 +2272,7 @@ export const dict: Record<I18nKey, string> = {
'chat.chatInput.toast.attachmentsTooLarge': '附件過大,無法傳送。請減少圖片數量或大小。',
'chat.chatInput.toast.sendAttachmentsFailed': '傳送附件失敗。請嘗試更少檔案或更小圖片。',
'chat.chatInput.toast.messageSendFailed': '訊息傳送失敗,附件已恢復。',
'chat.chatInput.toast.noModelSelected': '傳送前請先選擇提供者與模型。',
'chat.chatInput.toast.clipboardAttachFailed': '從剪貼簿附加圖片失敗',
'chat.chatInput.toast.addedFileMentions': '已加入 {count} 個檔案提及',
'chat.chatInput.toast.attachFileFailed': '附加檔案失敗',