From 43ae6b242557fe0c4fc40302c3e05a6479adaf29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Igor=20=C5=A0=C4=87eki=C4=87?= Date: Fri, 20 Feb 2026 15:27:42 +0100 Subject: [PATCH] feat(vscode): add session-lifetime hint to permission auto-approve dialog Clarifies that 'Allow always' only applies for the duration of the current session, not globally. Adds translated hint text below the permission action buttons in all supported locales. --- .../webview-ui/src/components/chat/ChatView.tsx | 1 + packages/ui/src/components/message-part.css | 7 +++++++ packages/ui/src/i18n/ar.ts | 1 + packages/ui/src/i18n/br.ts | 2 ++ packages/ui/src/i18n/bs.ts | 2 ++ packages/ui/src/i18n/da.ts | 2 ++ packages/ui/src/i18n/de.ts | 2 ++ packages/ui/src/i18n/en.ts | 1 + packages/ui/src/i18n/es.ts | 2 ++ packages/ui/src/i18n/fr.ts | 2 ++ packages/ui/src/i18n/ja.ts | 2 ++ packages/ui/src/i18n/ko.ts | 1 + packages/ui/src/i18n/no.ts | 2 ++ packages/ui/src/i18n/pl.ts | 2 ++ packages/ui/src/i18n/ru.ts | 2 ++ packages/ui/src/i18n/th.ts | 1 + packages/ui/src/i18n/zh.ts | 1 + packages/ui/src/i18n/zht.ts | 1 + 18 files changed, 34 insertions(+) diff --git a/packages/kilo-vscode/webview-ui/src/components/chat/ChatView.tsx b/packages/kilo-vscode/webview-ui/src/components/chat/ChatView.tsx index 355e77a477..fce0244999 100644 --- a/packages/kilo-vscode/webview-ui/src/components/chat/ChatView.tsx +++ b/packages/kilo-vscode/webview-ui/src/components/chat/ChatView.tsx @@ -99,6 +99,7 @@ export const ChatView: Component = (props) => { {language.t("ui.permission.allowOnce")} +

{language.t("ui.permission.sessionHint")}

)} diff --git a/packages/ui/src/components/message-part.css b/packages/ui/src/components/message-part.css index 44db4f9aa5..6cf9bdc025 100644 --- a/packages/ui/src/components/message-part.css +++ b/packages/ui/src/components/message-part.css @@ -554,6 +554,13 @@ gap: 8px; justify-content: flex-end; } + + [data-slot="permission-hint"] { + font-size: 11px; + color: var(--text-dimmed-base); + margin: 4px 0 0 0; + text-align: right; + } } [data-component="question-prompt"] { diff --git a/packages/ui/src/i18n/ar.ts b/packages/ui/src/i18n/ar.ts index 7ee17e2e01..36030998bf 100644 --- a/packages/ui/src/i18n/ar.ts +++ b/packages/ui/src/i18n/ar.ts @@ -85,6 +85,7 @@ export const dict = { "ui.permission.deny": "رفض", "ui.permission.allowAlways": "السماح دائمًا", "ui.permission.allowOnce": "السماح مرة واحدة", + "ui.permission.sessionHint": '"السماح دائمًا" ينطبق على هذه الجلسة فقط. استخدم الإعدادات للأذونات العامة.', "ui.message.expand": "توسيع الرسالة", "ui.message.collapse": "طي الرسالة", diff --git a/packages/ui/src/i18n/br.ts b/packages/ui/src/i18n/br.ts index 6d7449d845..36679c5c71 100644 --- a/packages/ui/src/i18n/br.ts +++ b/packages/ui/src/i18n/br.ts @@ -85,6 +85,8 @@ export const dict = { "ui.permission.deny": "Negar", "ui.permission.allowAlways": "Permitir sempre", "ui.permission.allowOnce": "Permitir uma vez", + "ui.permission.sessionHint": + '"Sempre permitir" aplica-se apenas a esta sessão. Use as configurações para permissões globais.', "ui.message.expand": "Expandir mensagem", "ui.message.collapse": "Recolher mensagem", diff --git a/packages/ui/src/i18n/bs.ts b/packages/ui/src/i18n/bs.ts index 24e4c12068..6bdae375d0 100644 --- a/packages/ui/src/i18n/bs.ts +++ b/packages/ui/src/i18n/bs.ts @@ -89,6 +89,8 @@ export const dict = { "ui.permission.deny": "Zabrani", "ui.permission.allowAlways": "Uvijek dozvoli", "ui.permission.allowOnce": "Dozvoli jednom", + "ui.permission.sessionHint": + '"Uvijek dozvoli" primjenjuje se samo na ovu sesiju. Koristite postavke za globalne dozvole.', "ui.message.expand": "Proširi poruku", "ui.message.collapse": "Sažmi poruku", diff --git a/packages/ui/src/i18n/da.ts b/packages/ui/src/i18n/da.ts index 218f3b26a4..799249e8a8 100644 --- a/packages/ui/src/i18n/da.ts +++ b/packages/ui/src/i18n/da.ts @@ -84,6 +84,8 @@ export const dict = { "ui.permission.deny": "Afvis", "ui.permission.allowAlways": "Tillad altid", "ui.permission.allowOnce": "Tillad én gang", + "ui.permission.sessionHint": + '"Tillad altid" gælder kun for denne session. Brug indstillinger til globale tilladelser.', "ui.message.expand": "Udvid besked", "ui.message.collapse": "Skjul besked", diff --git a/packages/ui/src/i18n/de.ts b/packages/ui/src/i18n/de.ts index 921a12c996..ef03895b38 100644 --- a/packages/ui/src/i18n/de.ts +++ b/packages/ui/src/i18n/de.ts @@ -88,6 +88,8 @@ export const dict = { "ui.permission.deny": "Verweigern", "ui.permission.allowAlways": "Immer erlauben", "ui.permission.allowOnce": "Einmal erlauben", + "ui.permission.sessionHint": + '"Immer erlauben" gilt nur für diese Sitzung. Globale Berechtigungen in den Einstellungen ändern.', "ui.message.expand": "Nachricht erweitern", "ui.message.collapse": "Nachricht reduzieren", diff --git a/packages/ui/src/i18n/en.ts b/packages/ui/src/i18n/en.ts index 631bc660a6..d44d1d3d87 100644 --- a/packages/ui/src/i18n/en.ts +++ b/packages/ui/src/i18n/en.ts @@ -85,6 +85,7 @@ export const dict = { "ui.permission.deny": "Deny", "ui.permission.allowAlways": "Allow always", "ui.permission.allowOnce": "Allow once", + "ui.permission.sessionHint": '"Allow always" applies to this session only. Use settings for global permissions.', "ui.message.expand": "Expand message", "ui.message.collapse": "Collapse message", diff --git a/packages/ui/src/i18n/es.ts b/packages/ui/src/i18n/es.ts index 4fd921b606..67f1e63ac8 100644 --- a/packages/ui/src/i18n/es.ts +++ b/packages/ui/src/i18n/es.ts @@ -85,6 +85,8 @@ export const dict = { "ui.permission.deny": "Denegar", "ui.permission.allowAlways": "Permitir siempre", "ui.permission.allowOnce": "Permitir una vez", + "ui.permission.sessionHint": + '"Permitir siempre" se aplica solo a esta sesión. Usa la configuración para permisos globales.', "ui.message.expand": "Expandir mensaje", "ui.message.collapse": "Colapsar mensaje", diff --git a/packages/ui/src/i18n/fr.ts b/packages/ui/src/i18n/fr.ts index 537d01bba9..72b9f15ffd 100644 --- a/packages/ui/src/i18n/fr.ts +++ b/packages/ui/src/i18n/fr.ts @@ -85,6 +85,8 @@ export const dict = { "ui.permission.deny": "Refuser", "ui.permission.allowAlways": "Toujours autoriser", "ui.permission.allowOnce": "Autoriser une fois", + "ui.permission.sessionHint": + '"Toujours autoriser" s\'applique uniquement à cette session. Utilisez les paramètres pour les autorisations globales.', "ui.message.expand": "Développer le message", "ui.message.collapse": "Réduire le message", diff --git a/packages/ui/src/i18n/ja.ts b/packages/ui/src/i18n/ja.ts index 6086070bdb..a0fef4500a 100644 --- a/packages/ui/src/i18n/ja.ts +++ b/packages/ui/src/i18n/ja.ts @@ -84,6 +84,8 @@ export const dict = { "ui.permission.deny": "拒否", "ui.permission.allowAlways": "常に許可", "ui.permission.allowOnce": "今回のみ許可", + "ui.permission.sessionHint": + "「常に許可」はこのセッションにのみ適用されます。グローバルな権限は設定で変更してください。", "ui.message.expand": "メッセージを展開", "ui.message.collapse": "メッセージを折りたたむ", diff --git a/packages/ui/src/i18n/ko.ts b/packages/ui/src/i18n/ko.ts index fd394dbb7b..6d37e883b1 100644 --- a/packages/ui/src/i18n/ko.ts +++ b/packages/ui/src/i18n/ko.ts @@ -85,6 +85,7 @@ export const dict = { "ui.permission.deny": "거부", "ui.permission.allowAlways": "항상 허용", "ui.permission.allowOnce": "한 번만 허용", + "ui.permission.sessionHint": '"항상 허용"은 현재 세션에만 적용됩니다. 전역 권한은 설정에서 변경하세요.', "ui.message.expand": "메시지 펼치기", "ui.message.collapse": "메시지 접기", diff --git a/packages/ui/src/i18n/no.ts b/packages/ui/src/i18n/no.ts index dcb353614d..b8cc230d46 100644 --- a/packages/ui/src/i18n/no.ts +++ b/packages/ui/src/i18n/no.ts @@ -88,6 +88,8 @@ export const dict: Record = { "ui.permission.deny": "Avslå", "ui.permission.allowAlways": "Tillat alltid", "ui.permission.allowOnce": "Tillat én gang", + "ui.permission.sessionHint": + '"Tillat alltid" gjelder bare for denne økten. Bruk innstillinger for globale tillatelser.', "ui.message.expand": "Utvid melding", "ui.message.collapse": "Skjul melding", diff --git a/packages/ui/src/i18n/pl.ts b/packages/ui/src/i18n/pl.ts index fb10debbb9..c9f43daada 100644 --- a/packages/ui/src/i18n/pl.ts +++ b/packages/ui/src/i18n/pl.ts @@ -84,6 +84,8 @@ export const dict = { "ui.permission.deny": "Odmów", "ui.permission.allowAlways": "Zezwalaj zawsze", "ui.permission.allowOnce": "Zezwól raz", + "ui.permission.sessionHint": + '"Zawsze zezwalaj" dotyczy tylko tej sesji. Użyj ustawień, aby zmienić globalne uprawnienia.', "ui.message.expand": "Rozwiń wiadomość", "ui.message.collapse": "Zwiń wiadomość", diff --git a/packages/ui/src/i18n/ru.ts b/packages/ui/src/i18n/ru.ts index 417fe0ce8b..144cbee1fd 100644 --- a/packages/ui/src/i18n/ru.ts +++ b/packages/ui/src/i18n/ru.ts @@ -84,6 +84,8 @@ export const dict = { "ui.permission.deny": "Запретить", "ui.permission.allowAlways": "Разрешить всегда", "ui.permission.allowOnce": "Разрешить один раз", + "ui.permission.sessionHint": + "«Всегда разрешать» применяется только к текущей сессии. Для глобальных разрешений используйте настройки.", "ui.message.expand": "Развернуть сообщение", "ui.message.collapse": "Свернуть сообщение", diff --git a/packages/ui/src/i18n/th.ts b/packages/ui/src/i18n/th.ts index 68bb0d733d..09f529c25a 100644 --- a/packages/ui/src/i18n/th.ts +++ b/packages/ui/src/i18n/th.ts @@ -85,6 +85,7 @@ export const dict = { "ui.permission.deny": "ปฏิเสธ", "ui.permission.allowAlways": "อนุญาตเสมอ", "ui.permission.allowOnce": "อนุญาตครั้งเดียว", + "ui.permission.sessionHint": '"อนุญาตเสมอ" ใช้ได้เฉพาะในเซสชันนี้เท่านั้น ใช้การตั้งค่าสำหรับสิทธิ์ส่วนกลาง', "ui.message.expand": "ขยายข้อความ", "ui.message.collapse": "ย่อข้อความ", diff --git a/packages/ui/src/i18n/zh.ts b/packages/ui/src/i18n/zh.ts index 53beeb1e4f..fe572cb5d3 100644 --- a/packages/ui/src/i18n/zh.ts +++ b/packages/ui/src/i18n/zh.ts @@ -89,6 +89,7 @@ export const dict = { "ui.permission.deny": "拒绝", "ui.permission.allowAlways": "始终允许", "ui.permission.allowOnce": "允许一次", + "ui.permission.sessionHint": '"始终允许" 仅适用于本次会话。如需全局权限设置,请使用设置。', "ui.message.expand": "展开消息", "ui.message.collapse": "收起消息", diff --git a/packages/ui/src/i18n/zht.ts b/packages/ui/src/i18n/zht.ts index 1449b0530a..9fa7cd0b33 100644 --- a/packages/ui/src/i18n/zht.ts +++ b/packages/ui/src/i18n/zht.ts @@ -89,6 +89,7 @@ export const dict = { "ui.permission.deny": "拒絕", "ui.permission.allowAlways": "永遠允許", "ui.permission.allowOnce": "允許一次", + "ui.permission.sessionHint": '"一律允許" 僅適用於此工作階段。如需全域權限設定,請使用設定。', "ui.message.expand": "展開訊息", "ui.message.collapse": "收合訊息",