feat: warn about unsupported attachment inputs
Compare normalized attachment MIME types with the selected model's declared input modalities and show a non-blocking warning for incompatible files. Recheck newly added attachments, restored drafts, async metadata, and existing files after model changes while avoiding warnings when capability metadata is unavailable. Summarize affected filenames and localize the warning across every supported locale. Add focused modality compatibility coverage, document the composer behavior, and keep model metadata subscriptions stable to prevent startup render loops.
This commit is contained in:
@@ -2002,6 +2002,7 @@ export const dict = {
|
||||
'chat.chatInput.toast.addedFileMentions': 'Added {count} file mention(s)',
|
||||
'chat.chatInput.toast.attachFileFailed': 'Failed to attach file',
|
||||
'chat.chatInput.toast.attachNamedFailed': 'Failed to attach {name}',
|
||||
'chat.chatInput.toast.unsupportedAttachmentModalities': '{model} does not support {modalities} input required by {files}. You can still send the message, but these attachments may be ignored.',
|
||||
'chat.chatInput.toast.someFilesSkipped': 'Some files were skipped:\n{summary}',
|
||||
'chat.chatInput.toast.vscodePickFailed': 'Failed to pick files in VS Code',
|
||||
'chat.chatInput.toast.openSessionFirst': 'Open a session first',
|
||||
|
||||
@@ -1968,6 +1968,7 @@ export const dict: Record<I18nKey, string> = {
|
||||
"chat.chatInput.toast.addedFileMentions": "Se añadieron {count} mención(es) de archivo",
|
||||
"chat.chatInput.toast.attachFileFailed": "No se pudo adjuntar el archivo",
|
||||
"chat.chatInput.toast.attachNamedFailed": "No se pudo adjuntar {name}",
|
||||
"chat.chatInput.toast.unsupportedAttachmentModalities": "{model} no admite la entrada de {modalities} necesaria para {files}. Aún puedes enviar el mensaje, pero estos adjuntos podrían ignorarse.",
|
||||
"chat.chatInput.toast.someFilesSkipped": "Algunos archivos se omitieron:\n{summary}",
|
||||
"chat.chatInput.toast.vscodePickFailed": "No se pudieron seleccionar archivos en VS Code",
|
||||
"chat.chatInput.toast.openSessionFirst": "Abre una sesión primero",
|
||||
|
||||
@@ -1780,6 +1780,7 @@ export const dict = {
|
||||
'chat.chatInput.toast.addedFileMentions': 'Ajout des mentions du fichier {count}',
|
||||
'chat.chatInput.toast.attachFileFailed': 'Impossible de joindre le fichier',
|
||||
'chat.chatInput.toast.attachNamedFailed': 'Échec de la connexion du {name}',
|
||||
'chat.chatInput.toast.unsupportedAttachmentModalities': '{model} ne prend pas en charge l’entrée {modalities} requise par {files}. Vous pouvez tout de même envoyer le message, mais ces pièces jointes risquent d’être ignorées.',
|
||||
'chat.chatInput.toast.someFilesSkipped': 'Certains fichiers ont été ignorés :\n{summary}',
|
||||
'chat.chatInput.toast.vscodePickFailed': 'Échec de la sélection des fichiers dans VS Code',
|
||||
'chat.chatInput.toast.openSessionFirst': 'Ouvrir d\'abord une session',
|
||||
|
||||
@@ -2001,6 +2001,7 @@ export const dict: Record<I18nKey, string> = {
|
||||
'gitView.commit.aiHighlights.insertTooltip': '挿入のツールチップ',
|
||||
'gitView.commit.commitAria': 'コミットのariaラベル',
|
||||
'chat.chatInput.toast.attachNamedFailed': '{name}の添付に失敗しました',
|
||||
'chat.chatInput.toast.unsupportedAttachmentModalities': '{model} は {files} に必要な {modalities} 入力をサポートしていません。メッセージは送信できますが、これらの添付ファイルは無視される可能性があります。',
|
||||
'chat.chatInput.toast.someFilesSkipped': '一部のファイルがスキップされました:\n{summary}',
|
||||
'chat.chatInput.toast.vscodePickFailed': 'VS Codeでのファイル選択に失敗しました',
|
||||
'chat.chatInput.toast.openSessionFirst': '先にセッションを開いてください',
|
||||
|
||||
@@ -2002,6 +2002,7 @@ export const dict: Record<I18nKey, string> = {
|
||||
'chat.chatInput.toast.addedFileMentions': '파일 멘션 {count}개 추가됨',
|
||||
'chat.chatInput.toast.attachFileFailed': '첨부 파일 실패',
|
||||
'chat.chatInput.toast.attachNamedFailed': '첨부 {name} 실패',
|
||||
'chat.chatInput.toast.unsupportedAttachmentModalities': '{model}은(는) {files}에 필요한 {modalities} 입력을 지원하지 않습니다. 메시지를 보낼 수는 있지만 해당 첨부 파일이 무시될 수 있습니다.',
|
||||
'chat.chatInput.toast.someFilesSkipped': '일부 파일을 건너뛰었습니다:\n{summary}',
|
||||
'chat.chatInput.toast.vscodePickFailed': 'VS Code에서 파일 선택에 실패했습니다',
|
||||
'chat.chatInput.toast.openSessionFirst': '먼저 세션을 여세요',
|
||||
|
||||
@@ -1169,6 +1169,7 @@ export const dict: Record<I18nKey, string> = {
|
||||
'chat.chatInput.toast.addedFileMentions': 'Dodano {count} wzmianek o plikach',
|
||||
'chat.chatInput.toast.attachFileFailed': 'Nie udało się dołączyć pliku',
|
||||
'chat.chatInput.toast.attachNamedFailed': 'Nie udało się dołączyć {name}',
|
||||
'chat.chatInput.toast.unsupportedAttachmentModalities': 'Model {model} nie obsługuje danych wejściowych {modalities} wymaganych przez {files}. Nadal możesz wysłać wiadomość, ale te załączniki mogą zostać zignorowane.',
|
||||
'chat.chatInput.toast.attachmentsTooLarge': 'Załączniki są zbyt duże, aby je wysłać. Spróbuj zmniejszyć liczbę lub rozmiar obrazów.',
|
||||
'chat.chatInput.toast.clipboardAttachFailed': 'Nie udało się dołączyć obrazu ze schowka',
|
||||
'chat.chatInput.toast.compactFailed': 'Nie udało się skompaktować sesji',
|
||||
|
||||
@@ -1968,6 +1968,7 @@ export const dict: Record<I18nKey, string> = {
|
||||
"chat.chatInput.toast.addedFileMentions": "Foram adicionadas {count} menção(es) de arquivo",
|
||||
"chat.chatInput.toast.attachFileFailed": "Não foi possível anexar o arquivo",
|
||||
"chat.chatInput.toast.attachNamedFailed": "Não foi possível anexar {name}",
|
||||
"chat.chatInput.toast.unsupportedAttachmentModalities": "{model} não oferece suporte à entrada de {modalities} exigida por {files}. Você ainda pode enviar a mensagem, mas esses anexos podem ser ignorados.",
|
||||
"chat.chatInput.toast.someFilesSkipped": "Alguns arquivos foram omitidos:\n{summary}",
|
||||
"chat.chatInput.toast.vscodePickFailed": "Não foi possível selecionar arquivos em VS Code",
|
||||
"chat.chatInput.toast.openSessionFirst": "Abra uma sessão primeiro",
|
||||
|
||||
@@ -1968,6 +1968,7 @@ export const dict: Record<I18nKey, string> = {
|
||||
"chat.chatInput.toast.addedFileMentions": "Додано згадки файлів {count}",
|
||||
"chat.chatInput.toast.attachFileFailed": "Не вдалося прикріпити файл",
|
||||
"chat.chatInput.toast.attachNamedFailed": "Не вдалося прикріпити {name}",
|
||||
"chat.chatInput.toast.unsupportedAttachmentModalities": "{model} не підтримує вхідні дані {modalities}, потрібні для {files}. Повідомлення все одно можна надіслати, але ці вкладення можуть бути проігноровані.",
|
||||
"chat.chatInput.toast.someFilesSkipped": "Деякі файли були пропущені:\n{summary}",
|
||||
"chat.chatInput.toast.vscodePickFailed": "Не вдалося вибрати файли в VS Code",
|
||||
"chat.chatInput.toast.openSessionFirst": "Спочатку відкрийте сесію",
|
||||
|
||||
@@ -1968,6 +1968,7 @@ export const dict: Record<I18nKey, string> = {
|
||||
'chat.chatInput.toast.addedFileMentions': '已添加 {count} 个文件提及',
|
||||
'chat.chatInput.toast.attachFileFailed': '附加文件失败',
|
||||
'chat.chatInput.toast.attachNamedFailed': '附加 {name} 失败',
|
||||
'chat.chatInput.toast.unsupportedAttachmentModalities': '{model} 不支持 {files} 所需的 {modalities} 输入。你仍可发送消息,但这些附件可能会被忽略。',
|
||||
'chat.chatInput.toast.someFilesSkipped': '部分文件被跳过:\n{summary}',
|
||||
'chat.chatInput.toast.vscodePickFailed': '在 VS Code 中选择文件失败',
|
||||
'chat.chatInput.toast.openSessionFirst': '请先打开一个会话',
|
||||
|
||||
@@ -1972,6 +1972,7 @@ export const dict: Record<I18nKey, string> = {
|
||||
'chat.chatInput.toast.addedFileMentions': '已加入 {count} 個檔案提及',
|
||||
'chat.chatInput.toast.attachFileFailed': '附加檔案失敗',
|
||||
'chat.chatInput.toast.attachNamedFailed': '附加 {name} 失敗',
|
||||
'chat.chatInput.toast.unsupportedAttachmentModalities': '{model} 不支援 {files} 所需的 {modalities} 輸入。你仍可傳送訊息,但這些附件可能會被忽略。',
|
||||
'chat.chatInput.toast.someFilesSkipped': '部分檔案被跳過:\n{summary}',
|
||||
'chat.chatInput.toast.vscodePickFailed': '在 VS Code 中選擇檔案失敗',
|
||||
'chat.chatInput.toast.openSessionFirst': '請先開啟一個會話',
|
||||
|
||||
Reference in New Issue
Block a user