From 27e509a9b8bb25c35ae0abbda44c536e15c332c8 Mon Sep 17 00:00:00 2001
From: Alex Navarro <78754189+navarrotech@users.noreply.github.com>
Date: Fri, 29 May 2026 09:02:20 -0600
Subject: [PATCH] feat(sidebar): tooltip for the active-session indicator dot
(#782)
The pulsing green dot next to a session row signals that the session
had activity in the last 10 minutes, but the meaning was undocumented.
Hovering it now shows a translated tooltip, and an aria-label exposes
the same text to screen readers.
Uses the existing shared Tooltip component (portal-positioned, so it
is not clipped by the sidebar overflow). Translation key added to all
eight sidebar locale files (en, de, it, ja, ko, ru, tr, zh-CN).
---
.../sidebar/view/subcomponents/SidebarSessionItem.tsx | 10 ++++++++--
src/i18n/locales/de/sidebar.json | 1 +
src/i18n/locales/en/sidebar.json | 1 +
src/i18n/locales/it/sidebar.json | 1 +
src/i18n/locales/ja/sidebar.json | 1 +
src/i18n/locales/ko/sidebar.json | 1 +
src/i18n/locales/ru/sidebar.json | 1 +
src/i18n/locales/tr/sidebar.json | 1 +
src/i18n/locales/zh-CN/sidebar.json | 1 +
9 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/src/components/sidebar/view/subcomponents/SidebarSessionItem.tsx b/src/components/sidebar/view/subcomponents/SidebarSessionItem.tsx
index 4e97a6b4..cb22a7a2 100644
--- a/src/components/sidebar/view/subcomponents/SidebarSessionItem.tsx
+++ b/src/components/sidebar/view/subcomponents/SidebarSessionItem.tsx
@@ -1,7 +1,7 @@
import { Check, Edit2, Trash2, X } from 'lucide-react';
import type { TFunction } from 'i18next';
-import { Badge, Button } from '../../../../shared/view/ui';
+import { Badge, Button, Tooltip } from '../../../../shared/view/ui';
import { cn } from '../../../../lib/utils';
import type { Project, ProjectSession, LLMProvider } from '../../../../types/app';
import type { SessionWithProvider } from '../../types/types';
@@ -97,7 +97,13 @@ export default function SidebarSessionItem({
{sessionView.isActive && (
)}
diff --git a/src/i18n/locales/de/sidebar.json b/src/i18n/locales/de/sidebar.json
index ecc489ea..48070815 100644
--- a/src/i18n/locales/de/sidebar.json
+++ b/src/i18n/locales/de/sidebar.json
@@ -45,6 +45,7 @@
"removeFromFavorites": "Aus Favoriten entfernen",
"editSessionName": "Sitzungsname manuell bearbeiten",
"deleteSession": "Diese Sitzung dauerhaft löschen",
+ "activeSessionIndicator": "Kürzlich aktive Sitzung (letzte 10 Minuten)",
"save": "Speichern",
"cancel": "Abbrechen",
"clearSearch": "Suche leeren",
diff --git a/src/i18n/locales/en/sidebar.json b/src/i18n/locales/en/sidebar.json
index 43498ce7..755729a7 100644
--- a/src/i18n/locales/en/sidebar.json
+++ b/src/i18n/locales/en/sidebar.json
@@ -45,6 +45,7 @@
"removeFromFavorites": "Remove from favorites",
"editSessionName": "Manually edit session name",
"deleteSession": "Delete this session permanently",
+ "activeSessionIndicator": "Recently active session (last 10 minutes)",
"save": "Save",
"cancel": "Cancel",
"clearSearch": "Clear search",
diff --git a/src/i18n/locales/it/sidebar.json b/src/i18n/locales/it/sidebar.json
index 986e5fd1..dfad2684 100644
--- a/src/i18n/locales/it/sidebar.json
+++ b/src/i18n/locales/it/sidebar.json
@@ -45,6 +45,7 @@
"removeFromFavorites": "Rimuovi dai preferiti",
"editSessionName": "Modifica manualmente il nome della sessione",
"deleteSession": "Elimina questa sessione permanentemente",
+ "activeSessionIndicator": "Sessione attiva di recente (ultimi 10 minuti)",
"save": "Salva",
"cancel": "Annulla",
"clearSearch": "Cancella ricerca",
diff --git a/src/i18n/locales/ja/sidebar.json b/src/i18n/locales/ja/sidebar.json
index 98861878..4116178a 100644
--- a/src/i18n/locales/ja/sidebar.json
+++ b/src/i18n/locales/ja/sidebar.json
@@ -45,6 +45,7 @@
"removeFromFavorites": "お気に入りから削除",
"editSessionName": "セッション名を手動で編集",
"deleteSession": "このセッションを完全に削除",
+ "activeSessionIndicator": "最近アクティブなセッション(過去10分以内)",
"save": "保存",
"cancel": "キャンセル",
"openCommandPalette": "コマンドパレットを開く"
diff --git a/src/i18n/locales/ko/sidebar.json b/src/i18n/locales/ko/sidebar.json
index cd7e0289..360da6f8 100644
--- a/src/i18n/locales/ko/sidebar.json
+++ b/src/i18n/locales/ko/sidebar.json
@@ -45,6 +45,7 @@
"removeFromFavorites": "즐겨찾기에서 제거",
"editSessionName": "세션 이름 직접 편집",
"deleteSession": "이 세션 영구 삭제",
+ "activeSessionIndicator": "최근 활성 세션 (지난 10분)",
"save": "저장",
"cancel": "취소",
"openCommandPalette": "명령 팔레트 열기"
diff --git a/src/i18n/locales/ru/sidebar.json b/src/i18n/locales/ru/sidebar.json
index fee429b1..f34cd3df 100644
--- a/src/i18n/locales/ru/sidebar.json
+++ b/src/i18n/locales/ru/sidebar.json
@@ -45,6 +45,7 @@
"removeFromFavorites": "Удалить из избранного",
"editSessionName": "Вручную редактировать имя сеанса",
"deleteSession": "Удалить этот сеанс навсегда",
+ "activeSessionIndicator": "Недавно активный сеанс (последние 10 минут)",
"save": "Сохранить",
"cancel": "Отмена",
"clearSearch": "Очистить поиск",
diff --git a/src/i18n/locales/tr/sidebar.json b/src/i18n/locales/tr/sidebar.json
index 0640fca5..bc872311 100644
--- a/src/i18n/locales/tr/sidebar.json
+++ b/src/i18n/locales/tr/sidebar.json
@@ -45,6 +45,7 @@
"removeFromFavorites": "Favorilerden çıkar",
"editSessionName": "Oturum adını elle düzenle",
"deleteSession": "Bu oturumu kalıcı olarak sil",
+ "activeSessionIndicator": "Yakın zamanda etkin oturum (son 10 dakika)",
"save": "Kaydet",
"cancel": "İptal",
"clearSearch": "Aramayı temizle",
diff --git a/src/i18n/locales/zh-CN/sidebar.json b/src/i18n/locales/zh-CN/sidebar.json
index 9de4ea83..be5da16b 100644
--- a/src/i18n/locales/zh-CN/sidebar.json
+++ b/src/i18n/locales/zh-CN/sidebar.json
@@ -45,6 +45,7 @@
"removeFromFavorites": "从收藏移除",
"editSessionName": "手动编辑会话名称",
"deleteSession": "永久删除此会话",
+ "activeSessionIndicator": "最近活跃的会话(最近 10 分钟)",
"save": "保存",
"cancel": "取消",
"clearSearch": "清除搜索",